Pirogova #8
44
Pirogova/src/test/java/ExternalLinks.java
Normal file
44
Pirogova/src/test/java/ExternalLinks.java
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import context.ChromeContext;
|
||||||
|
import context.Context;
|
||||||
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.openqa.selenium.Dimension;
|
||||||
|
import org.openqa.selenium.support.PageFactory;
|
||||||
|
import page.*;
|
||||||
|
|
||||||
|
public class ExternalLinks {
|
||||||
|
private final static String APP_URL = "http://www.lukoil.ru/";
|
||||||
|
private static Context context;
|
||||||
|
|
||||||
|
@BeforeAll
|
||||||
|
public static void setup() {
|
||||||
|
context = new ChromeContext();
|
||||||
|
context.start();
|
||||||
|
context.getDriver().manage().window().setSize(new Dimension(1600, 900));
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterAll
|
||||||
|
public static void quit() {
|
||||||
|
context.close();
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void elementFooterExternalLinksTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickFooterLinksElement();
|
||||||
|
ExternalPage externalPage = PageFactory.initElements(context.getDriver(), ExternalPage.class);
|
||||||
|
Assertions.assertTrue(externalPage.isPageDisplayExternalFooter());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void elementSidebarExternalLinksTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanySubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
subPage.clickSidebarExternalElement();
|
||||||
|
ExternalPage externalPage = PageFactory.initElements(context.getDriver(), ExternalPage.class);
|
||||||
|
Assertions.assertTrue(externalPage.isPageDisplayExternalSidebar());
|
||||||
|
}
|
||||||
|
}
|
123
Pirogova/src/test/java/NavigationMenu.java
Normal file
123
Pirogova/src/test/java/NavigationMenu.java
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
import context.ChromeContext;
|
||||||
|
import context.Context;
|
||||||
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.openqa.selenium.Dimension;
|
||||||
|
import org.openqa.selenium.support.PageFactory;
|
||||||
|
import page.*;
|
||||||
|
|
||||||
|
public class NavigationMenu {
|
||||||
|
private final static String APP_URL = "http://www.lukoil.ru/";
|
||||||
|
private static Context context;
|
||||||
|
|
||||||
|
@BeforeAll
|
||||||
|
public static void setup() {
|
||||||
|
context = new ChromeContext();
|
||||||
|
context.start();
|
||||||
|
context.getDriver().manage().window().setSize(new Dimension(1600, 900));
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterAll
|
||||||
|
public static void quit() {
|
||||||
|
context.close();
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void logotypeNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanySubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
subPage.clickLogoElement();
|
||||||
|
Assertions.assertTrue(page.isPageDisplayMain());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void menuMainNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanyMenu();
|
||||||
|
Assertions.assertTrue(page.isPageDisplayMenu());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void submenuMainNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanySubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
Assertions.assertTrue(subPage.isPageDisplaySubmenu());
|
||||||
|
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void elementFooterNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickFooterElement();
|
||||||
|
FooterPage footerPage = PageFactory.initElements(context.getDriver(), FooterPage.class);
|
||||||
|
Assertions.assertTrue(footerPage.isPageDisplayFooter());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void elementAdditionalInfoNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanyMenu();
|
||||||
|
page.clickAdditionalInfoMenu();
|
||||||
|
AboutCompanyPage aboutPage = PageFactory.initElements(context.getDriver(), AboutCompanyPage.class);
|
||||||
|
Assertions.assertTrue(aboutPage.isPageDisplayAboutCompany());
|
||||||
|
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void elementNextPreviousNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanyMenu();
|
||||||
|
page.clickAdditionalInfoMenu();
|
||||||
|
AboutCompanyPage aboutPage = PageFactory.initElements(context.getDriver(), AboutCompanyPage.class);
|
||||||
|
aboutPage.clickNextElement();
|
||||||
|
ActivitiesCompanyPage activitiesCompanyPage = PageFactory.initElements(context.getDriver(), ActivitiesCompanyPage.class);
|
||||||
|
activitiesCompanyPage.clickPreviousElement();
|
||||||
|
Assertions.assertTrue(aboutPage.isPageDisplayAboutCompany());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void elementPlusNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanySubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
subPage.clickPlus();
|
||||||
|
SubMenuPage sub = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
sub.clickPlus();
|
||||||
|
Assertions.assertTrue(sub.isPageDisplayMinus());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void elementMinusNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanySubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
subPage.clickPlus();
|
||||||
|
SubMenuPage sub = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
sub.clickPlus();
|
||||||
|
subPage.clickPlus();
|
||||||
|
Assertions.assertTrue(subPage.isPageDisplayMinus());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void elementBreadcrumbsNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanySubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
subPage.clickBreadcrumbsElement();
|
||||||
|
Assertions.assertTrue(page.isPageDisplayMenu());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void elementSidebarHyperlinkNavigationTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanySubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
subPage.clickHyperlink();
|
||||||
|
FAQPage faqPage = PageFactory.initElements(context.getDriver(), FAQPage.class);
|
||||||
|
Assertions.assertTrue(faqPage.isPageDisplayFAQ());
|
||||||
|
}
|
||||||
|
}
|
56
Pirogova/src/test/java/Search.java
Normal file
56
Pirogova/src/test/java/Search.java
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import context.ChromeContext;
|
||||||
|
import context.Context;
|
||||||
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.openqa.selenium.Dimension;
|
||||||
|
import org.openqa.selenium.support.PageFactory;
|
||||||
|
import page.MainPage;
|
||||||
|
import page.SearchPage;
|
||||||
|
|
||||||
|
public class Search {
|
||||||
|
private final static String APP_URL = "http://www.lukoil.ru/";
|
||||||
|
private static Context context;
|
||||||
|
|
||||||
|
@BeforeAll
|
||||||
|
public static void setup() {
|
||||||
|
context = new ChromeContext();
|
||||||
|
context.start();
|
||||||
|
context.getDriver().manage().window().setSize(new Dimension(1600, 900));
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterAll
|
||||||
|
public static void quit() {
|
||||||
|
context.close();
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void searchHeaderTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.insertSearchHeaderText("Проекты");
|
||||||
|
page.submitSearchHeader();
|
||||||
|
SearchPage searchPage = PageFactory.initElements(context.getDriver(), SearchPage.class);
|
||||||
|
Assertions.assertTrue(searchPage.checkSearch());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void searchHeaderTestWithFilter() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.insertSearchHeaderText("Проекты");
|
||||||
|
page.submitSearchHeader();
|
||||||
|
SearchPage searchPage = PageFactory.initElements(context.getDriver(), SearchPage.class);
|
||||||
|
searchPage.clickSearchFilterElement();
|
||||||
|
Assertions.assertTrue(searchPage.checkSearch());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void searchHeaderTestWithSorting() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.insertSearchHeaderText("Проекты");
|
||||||
|
page.submitSearchHeader();
|
||||||
|
SearchPage searchPage = PageFactory.initElements(context.getDriver(), SearchPage.class);
|
||||||
|
searchPage.clickSearchSortingElement();
|
||||||
|
Assertions.assertTrue(searchPage.checkSearch());
|
||||||
|
}
|
||||||
|
}
|
92
Pirogova/src/test/java/WorkWithDocument.java
Normal file
92
Pirogova/src/test/java/WorkWithDocument.java
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
import context.ChromeContext;
|
||||||
|
import context.Context;
|
||||||
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.openqa.selenium.Dimension;
|
||||||
|
import org.openqa.selenium.support.PageFactory;
|
||||||
|
import page.MainPage;
|
||||||
|
import page.MyFavoritesPage;
|
||||||
|
import page.SubMenuPage;
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class WorkWithDocument {
|
||||||
|
private final static String APP_URL = "http://www.lukoil.ru/";
|
||||||
|
private static Context context;
|
||||||
|
private static String tmpPath;
|
||||||
|
@BeforeAll
|
||||||
|
public static void setup() {
|
||||||
|
context = new ChromeContext();
|
||||||
|
context.start();
|
||||||
|
context.getDriver().manage().window().setSize(new Dimension(1600, 900));
|
||||||
|
tmpPath = context.getTmpPath();
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterAll
|
||||||
|
public static void quit() {
|
||||||
|
context.close();
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void addToFavoritesTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanyMenu();
|
||||||
|
page.clickAddToFavoritesElement();
|
||||||
|
Assertions.assertTrue(page.isMessageDisplay());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void myFavoritesTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickCompanySubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
subPage.clickMyFavoritesElement();
|
||||||
|
MyFavoritesPage myFavoritesPage = PageFactory.initElements(context.getDriver(), MyFavoritesPage.class);
|
||||||
|
Assertions.assertTrue(myFavoritesPage.isPageDisplayMyFavorites());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void addToFavoritesDocumentTest() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickDocumentSubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
subPage.clickAddDocumentToFavoritesElement();
|
||||||
|
Assertions.assertTrue(subPage.isMessageDisplay());
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void testOpenDocumentChrome() {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickDocumentSubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
subPage.clickOpenDocumentElement();
|
||||||
|
String fileName = subPage.getFileName();
|
||||||
|
Assertions.assertTrue(subPage.checkOpen(fileName));
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void testDownloandDocument() throws InterruptedException {
|
||||||
|
context.getDriver().get(APP_URL);
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
page.clickDocumentSubmenu();
|
||||||
|
SubMenuPage subPage = PageFactory.initElements(context.getDriver(), SubMenuPage.class);
|
||||||
|
Assertions.assertTrue(subPage.isPageDisplayDocuments());
|
||||||
|
subPage.clickDownloandDocumentElement();
|
||||||
|
String fileName = subPage.getFileName();
|
||||||
|
checkDownload(fileName,100,100);
|
||||||
|
}
|
||||||
|
private void checkDownload(String fileName,int timeout, int period) throws InterruptedException {
|
||||||
|
File f = new File(tmpPath +fileName);
|
||||||
|
int time=0;
|
||||||
|
while(!f.exists()&&time<timeout){
|
||||||
|
Thread.sleep(period);
|
||||||
|
time++;
|
||||||
|
}
|
||||||
|
Assertions.assertTrue(f.exists());
|
||||||
|
if(f.exists()) {
|
||||||
|
f.delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
24
Pirogova/src/test/java/context/ChromeContext.java
Normal file
24
Pirogova/src/test/java/context/ChromeContext.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package context;
|
||||||
|
|
||||||
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
|
|
||||||
|
public class ChromeContext extends Context {
|
||||||
|
private final static String WINDOWS_DRIVER = "chromedriver.exe";
|
||||||
|
private final static String LINUX_DRIVER = "chromedriver";
|
||||||
|
private final static String DRIVER_TYPE = "webdriver.chrome.driver";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void createDriver() {
|
||||||
|
driver = new ChromeDriver();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getDriverExecutable(boolean isWindows) {
|
||||||
|
return isWindows ? WINDOWS_DRIVER : LINUX_DRIVER;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getDriverType() {
|
||||||
|
return DRIVER_TYPE;
|
||||||
|
}
|
||||||
|
}
|
47
Pirogova/src/test/java/context/Context.java
Normal file
47
Pirogova/src/test/java/context/Context.java
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
package context;
|
||||||
|
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
public abstract class Context {
|
||||||
|
private final static String DRIVER_LOCATION = "drivers/%s";
|
||||||
|
protected WebDriver driver;
|
||||||
|
protected String tmpPath;
|
||||||
|
public WebDriver getDriver() {
|
||||||
|
if (driver != null) {
|
||||||
|
return driver;
|
||||||
|
}
|
||||||
|
throw new IllegalStateException("WebDriver is not initialized");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void start() {
|
||||||
|
System.setProperty(getDriverType(), getDriverExecutablePath());
|
||||||
|
createDriver();
|
||||||
|
// это плохая инструкция для автотестов, т.к. лучше задавать для конкретного элемента или кейса
|
||||||
|
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void close() {
|
||||||
|
driver.quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract void createDriver();
|
||||||
|
|
||||||
|
protected abstract String getDriverType();
|
||||||
|
|
||||||
|
protected abstract String getDriverExecutable(boolean windows);
|
||||||
|
|
||||||
|
private String getDriverExecutablePath() {
|
||||||
|
return Context.class.getClassLoader().getResource(
|
||||||
|
String.format(DRIVER_LOCATION, getDriverExecutable(isWindows()))).getFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isWindows() {
|
||||||
|
return System.getProperty("os.name").toLowerCase().contains("windows");
|
||||||
|
}
|
||||||
|
public String getTmpPath(){
|
||||||
|
return tmpPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
24
Pirogova/src/test/java/context/FirefoxContext.java
Normal file
24
Pirogova/src/test/java/context/FirefoxContext.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package context;
|
||||||
|
|
||||||
|
import org.openqa.selenium.firefox.FirefoxDriver;
|
||||||
|
|
||||||
|
public class FirefoxContext extends Context {
|
||||||
|
private final static String WINDOWS_DRIVER = "geckodriver.exe";
|
||||||
|
private final static String LINUX_DRIVER = "geckodriver";
|
||||||
|
private final static String DRIVER_TYPE = "webdriver.gecko.driver";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void createDriver() {
|
||||||
|
driver = new FirefoxDriver();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getDriverExecutable(boolean isWindows) {
|
||||||
|
return isWindows ? WINDOWS_DRIVER : LINUX_DRIVER;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getDriverType() {
|
||||||
|
return DRIVER_TYPE;
|
||||||
|
}
|
||||||
|
}
|
22
Pirogova/src/test/java/page/AboutCompanyPage.java
Normal file
22
Pirogova/src/test/java/page/AboutCompanyPage.java
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package page;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.support.FindBy;
|
||||||
|
|
||||||
|
public class AboutCompanyPage {
|
||||||
|
WebDriver driver;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[1]/div/div/div/ul/li[2]/a")
|
||||||
|
private WebElement nextElement;
|
||||||
|
|
||||||
|
public void clickNextElement() {
|
||||||
|
nextElement.click();
|
||||||
|
}
|
||||||
|
public AboutCompanyPage(WebDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayAboutCompany() {
|
||||||
|
return driver.findElement(By.xpath("//div[@class=\"page-title\"]/h1[@title=\"О Компании\"]")).isDisplayed();
|
||||||
|
}
|
||||||
|
}
|
21
Pirogova/src/test/java/page/ActivitiesCompanyPage.java
Normal file
21
Pirogova/src/test/java/page/ActivitiesCompanyPage.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package page;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.support.FindBy;
|
||||||
|
|
||||||
|
public class ActivitiesCompanyPage {
|
||||||
|
WebDriver driver;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[1]/div/div/div/ul/li[1]/a")
|
||||||
|
private WebElement previousElement;
|
||||||
|
public void clickPreviousElement() {
|
||||||
|
previousElement.click();
|
||||||
|
}
|
||||||
|
public ActivitiesCompanyPage(WebDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayActivitiesCompany() {
|
||||||
|
return driver.findElement(By.xpath("//div[@class=\"page-title\"]/h1[@title=\"Деятельность Компании\"]")).isDisplayed();
|
||||||
|
}
|
||||||
|
}
|
21
Pirogova/src/test/java/page/ExternalPage.java
Normal file
21
Pirogova/src/test/java/page/ExternalPage.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package page;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
|
||||||
|
public class ExternalPage {
|
||||||
|
WebDriver driver;
|
||||||
|
|
||||||
|
public ExternalPage(WebDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayExternalFooter() {
|
||||||
|
return driver.findElement(By.xpath("//*[@id=\"page_info_wrap\"]/div/div/div[1]/div")).isDisplayed();
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayExternalSidebar() {
|
||||||
|
return driver.findElement(By.xpath("//*[@id=\"bd\"]/h2")).isDisplayed();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
15
Pirogova/src/test/java/page/FAQPage.java
Normal file
15
Pirogova/src/test/java/page/FAQPage.java
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package page;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
|
||||||
|
public class FAQPage {
|
||||||
|
WebDriver driver;
|
||||||
|
|
||||||
|
public FAQPage(WebDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayFAQ() {
|
||||||
|
return driver.findElement(By.xpath("//div[@class=\"page-title\"]/h1[@title=\"Часто задаваемые вопросы\"]")).isDisplayed();
|
||||||
|
}
|
||||||
|
}
|
20
Pirogova/src/test/java/page/FooterPage.java
Normal file
20
Pirogova/src/test/java/page/FooterPage.java
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package page;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.Keys;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.interactions.Actions;
|
||||||
|
import org.openqa.selenium.support.FindBy;
|
||||||
|
|
||||||
|
public class FooterPage {
|
||||||
|
WebDriver driver;
|
||||||
|
|
||||||
|
public FooterPage(WebDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayFooter() {
|
||||||
|
return driver.findElement(By.xpath("//div[@class=\"page-title\"]/h1[@title=\"Проекты роста\"]")).isDisplayed();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
78
Pirogova/src/test/java/page/MainPage.java
Normal file
78
Pirogova/src/test/java/page/MainPage.java
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
package page;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.Keys;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.interactions.Actions;
|
||||||
|
import org.openqa.selenium.support.FindBy;
|
||||||
|
|
||||||
|
public class MainPage {
|
||||||
|
WebDriver driver;
|
||||||
|
|
||||||
|
@FindBy(id = "f38c8d5a-cf09-4504-be96-82de9efae7b2")
|
||||||
|
private WebElement companyElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"navbar-submenu\"]/div[1]/div[1]/div[2]/div[1]/div[2]/ul/li[1]/a")
|
||||||
|
private WebElement companySubmenuElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"footer\"]/div/div/div[5]/ul/li[3]/a")
|
||||||
|
private WebElement footerElementExternalLinks;
|
||||||
|
@FindBy(xpath = "//*[@id=\"footer\"]/div/div/div[3]/ul/li[1]/a")
|
||||||
|
private WebElement footerElementNavigation;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[2]/div[1]/div/div/div/div/div[1]/div/ul/li/a")
|
||||||
|
private WebElement additionalInfoElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"topSearchForm\"]/input[1]")
|
||||||
|
private WebElement searchHeaderElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[2]/div[2]/div[3]/ul/li[1]/a/span")
|
||||||
|
private WebElement addToFavoritesElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"navbar-submenu\"]/div[1]/div[1]/div[2]/div[1]/div[2]/ul/li[5]/a")
|
||||||
|
private WebElement documentsSubmenuElement;
|
||||||
|
public MainPage(WebDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
public void insertSearchHeaderText(String text) {
|
||||||
|
searchHeaderElement.sendKeys(text);
|
||||||
|
}
|
||||||
|
public void clickCompanyMenu() {
|
||||||
|
companyElement.click();
|
||||||
|
}
|
||||||
|
public void clickAdditionalInfoMenu() {
|
||||||
|
additionalInfoElement.click();
|
||||||
|
}
|
||||||
|
public void clickAddToFavoritesElement() {
|
||||||
|
addToFavoritesElement.click();
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayMenu() {
|
||||||
|
return driver.findElement(By.xpath("//*[@id='main']/div/div[2]")).isDisplayed();
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayMain() {
|
||||||
|
return driver.findElement(By.xpath("//*[@id=\"main\"]/div/div[2]/div[1]/div/a")).isDisplayed();
|
||||||
|
}
|
||||||
|
public boolean isMessageDisplay() {
|
||||||
|
return driver.findElement(By.xpath("//*[@id=\"home\"]/div[8]/div/div/div/div/div/div[1]")).isDisplayed();
|
||||||
|
}
|
||||||
|
public void clickCompanySubmenu() {
|
||||||
|
Actions action = new Actions(driver);
|
||||||
|
action.moveToElement(companyElement).perform();
|
||||||
|
companySubmenuElement.sendKeys(Keys.ENTER);
|
||||||
|
}
|
||||||
|
public void clickDocumentSubmenu() {
|
||||||
|
Actions action = new Actions(driver);
|
||||||
|
action.moveToElement(companyElement).perform();
|
||||||
|
documentsSubmenuElement.sendKeys(Keys.ENTER);
|
||||||
|
}
|
||||||
|
public void clickFooterElement() {
|
||||||
|
footerElementNavigation.click();
|
||||||
|
}
|
||||||
|
public void clickFooterLinksElement() {
|
||||||
|
footerElementExternalLinks.click();
|
||||||
|
}
|
||||||
|
public void submitSearchHeader() {
|
||||||
|
searchHeaderElement.sendKeys(Keys.RETURN);
|
||||||
|
try {
|
||||||
|
Thread.sleep(5000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
17
Pirogova/src/test/java/page/MyFavoritesPage.java
Normal file
17
Pirogova/src/test/java/page/MyFavoritesPage.java
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package page;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.support.FindBy;
|
||||||
|
|
||||||
|
public class MyFavoritesPage {
|
||||||
|
WebDriver driver;
|
||||||
|
private WebElement addToFavoritesElement;
|
||||||
|
public MyFavoritesPage(WebDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayMyFavorites() {
|
||||||
|
return driver.findElement(By.xpath("//div[@class=\"page-title\"]/h1[@title=\"Избранное\"]")).isDisplayed();
|
||||||
|
}
|
||||||
|
}
|
38
Pirogova/src/test/java/page/SearchPage.java
Normal file
38
Pirogova/src/test/java/page/SearchPage.java
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package page;
|
||||||
|
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.support.FindBy;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class SearchPage {
|
||||||
|
WebDriver driver;
|
||||||
|
@FindBy(css = ".page-result-search .list-group-item")
|
||||||
|
private List<WebElement> listResultSearch;
|
||||||
|
@FindBy(xpath = "//*[@id=\"topSearchForm\"]/input[1]")
|
||||||
|
private WebElement searchHeaderElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[3]/div[1]/div/div/div/div/div[4]/button[2]")
|
||||||
|
private WebElement searchFilterElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[3]/div[1]/div/div/div/div/div[5]/a[2]")
|
||||||
|
private WebElement searchSortingElement;
|
||||||
|
public SearchPage(WebDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
public void clickSearchFilterElement() {
|
||||||
|
searchFilterElement.click();
|
||||||
|
}
|
||||||
|
public void clickSearchSortingElement() {
|
||||||
|
searchSortingElement.click();
|
||||||
|
}
|
||||||
|
public boolean checkSearch() {
|
||||||
|
boolean checkSearch = false;
|
||||||
|
int count = listResultSearch.size();
|
||||||
|
String strSearch = searchHeaderElement.getAttribute("value");
|
||||||
|
for (int i = 0; i < count - 1; i++) {
|
||||||
|
if (listResultSearch.get(i).getText().contains(strSearch))
|
||||||
|
checkSearch = true;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
91
Pirogova/src/test/java/page/SubMenuPage.java
Normal file
91
Pirogova/src/test/java/page/SubMenuPage.java
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
package page;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.support.FindBy;
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class SubMenuPage {
|
||||||
|
WebDriver driver;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[3]/div[1]/div/div/div/div[3]/div[1]/a")
|
||||||
|
private WebElement plusElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[3]/div[2]/div[1]/ul/li[2]/a/span")
|
||||||
|
private WebElement hyperlinkElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"header\"]/div[2]/div/div/div[1]/div/a")
|
||||||
|
private WebElement logotypeElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[2]/div[1]/ol/li[2]/a")
|
||||||
|
private WebElement breadcrumbsElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[3]/div[2]/div[2]/ul/li[2]/a/span")
|
||||||
|
private WebElement sidebarElementExternalLinks;
|
||||||
|
@FindBy(xpath = "//*[@id=\"main\"]/div/div[3]/div[2]/div[3]/ul/li[2]/a/span")
|
||||||
|
private WebElement myFavoritesElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"collapsable-div-9ecd7f1d-3608-4b3f-a869-dff93a057a2a\"]/ul/li[1]/div/a[1]")
|
||||||
|
private WebElement addDocumentToFavoritesElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"collapsable-div-9ecd7f1d-3608-4b3f-a869-dff93a057a2a\"]/ul/li[1]/div/a[3]")
|
||||||
|
private WebElement openDocumentElement;
|
||||||
|
@FindBy(xpath = "//*[@id=\"collapsable-div-9ecd7f1d-3608-4b3f-a869-dff93a057a2a\"]/ul/li[1]/div/a[2]")
|
||||||
|
private WebElement downloandDocumentElement;
|
||||||
|
public boolean isMessageDisplay() {
|
||||||
|
return driver.findElement(By.xpath("//*[@id=\"home\"]/div[8]/div/div/div/div/div/div[1]")).isDisplayed();
|
||||||
|
}
|
||||||
|
public void clickBreadcrumbsElement() {
|
||||||
|
breadcrumbsElement.click();
|
||||||
|
}
|
||||||
|
public void clickSidebarExternalElement() {
|
||||||
|
sidebarElementExternalLinks.click();
|
||||||
|
}
|
||||||
|
public void clickMyFavoritesElement() {
|
||||||
|
myFavoritesElement.click();
|
||||||
|
}
|
||||||
|
public void clickAddDocumentToFavoritesElement() {
|
||||||
|
addDocumentToFavoritesElement.click();
|
||||||
|
}
|
||||||
|
public void clickOpenDocumentElement() {
|
||||||
|
openDocumentElement.click();
|
||||||
|
}
|
||||||
|
public void clickDownloandDocumentElement() {
|
||||||
|
downloandDocumentElement.click();
|
||||||
|
}
|
||||||
|
public void clickPlus() {
|
||||||
|
plusElement.click();
|
||||||
|
}
|
||||||
|
public void clickHyperlink() {
|
||||||
|
hyperlinkElement.click();
|
||||||
|
}
|
||||||
|
public void clickLogoElement() {
|
||||||
|
logotypeElement.click();
|
||||||
|
}
|
||||||
|
public SubMenuPage(WebDriver driver) {
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
public boolean isPageDisplaySubmenu() {
|
||||||
|
return driver.findElement(By.className("panel-heading")).isDisplayed();
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayPlus() {
|
||||||
|
return driver.findElement(By.cssSelector(".collapse.in")).isDisplayed();
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayMinus() {
|
||||||
|
return driver.findElement(By.cssSelector("div[aria-expanded='false']")).isDisplayed();
|
||||||
|
}
|
||||||
|
public boolean isPageDisplayDocuments() {
|
||||||
|
return driver.findElement(By.xpath("//div[@class=\"page-title\"]/h1[@title=\"Внутренние документы\"]")).isDisplayed();
|
||||||
|
}
|
||||||
|
public String getFileName() {
|
||||||
|
String fileName = openDocumentElement.getAttribute("href");
|
||||||
|
fileName = fileName.substring(fileName.lastIndexOf("/") + 1);
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean checkOpen(String str) {
|
||||||
|
boolean check = false;
|
||||||
|
File f = new File(str);
|
||||||
|
String s = driver.getCurrentUrl();
|
||||||
|
if (s.contains(str))
|
||||||
|
check = true;
|
||||||
|
return check;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user