add test
This commit is contained in:
parent
7a08e1ec83
commit
22bad673df
@ -21,6 +21,7 @@ public class Main {
|
|||||||
Main m = new Main();
|
Main m = new Main();
|
||||||
WebDriver driver;
|
WebDriver driver;
|
||||||
System.setProperty(DRIVER_TYPE, m.getDriverExecutable());
|
System.setProperty(DRIVER_TYPE, m.getDriverExecutable());
|
||||||
|
|
||||||
driver = new ChromeDriver();
|
driver = new ChromeDriver();
|
||||||
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
|
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
|
||||||
|
|
||||||
|
@ -8,8 +8,10 @@ import org.openqa.selenium.support.FindBys;
|
|||||||
public class SearchPage {
|
public class SearchPage {
|
||||||
@FindBy(xpath = "//*[@id='text']")
|
@FindBy(xpath = "//*[@id='text']")
|
||||||
private WebElement inputField;
|
private WebElement inputField;
|
||||||
|
|
||||||
@FindBy(xpath="/html/body/table/tbody/tr[2]/td/form/div[2]/button")
|
@FindBy(xpath="/html/body/table/tbody/tr[2]/td/form/div[2]/button")
|
||||||
private WebElement startSearchButton;
|
private WebElement startSearchButton;
|
||||||
|
|
||||||
@FindBys(@FindBy(xpath = "//div[@class='main__content']//a"))
|
@FindBys(@FindBy(xpath = "//div[@class='main__content']//a"))
|
||||||
private List<WebElement> links;
|
private List<WebElement> links;
|
||||||
|
|
||||||
|
0
src/main/resources/drivers/chromedriver
Normal file → Executable file
0
src/main/resources/drivers/chromedriver
Normal file → Executable file
@ -3,38 +3,51 @@ import org.junit.jupiter.api.BeforeAll;
|
|||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.openqa.selenium.WebDriver;
|
import org.openqa.selenium.WebDriver;
|
||||||
import org.openqa.selenium.chrome.ChromeDriver;
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
import ru.ulstu.tis.Main;
|
import org.openqa.selenium.support.PageFactory;
|
||||||
|
import org.openqa.selenium.support.ui.ExpectedCondition;
|
||||||
|
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||||
|
import ru.ulstu.tis.SearchPage;
|
||||||
|
import utils.TestingUtils;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
|
||||||
public class YandexSearch {
|
public class YandexSearch {
|
||||||
|
private final static String APP_URL = "http://ya.ru";
|
||||||
private final static String DRIVER_TYPE = "webdriver.chrome.driver";
|
private final static String DRIVER_TYPE = "webdriver.chrome.driver";
|
||||||
private final static String DRIVER_LOCATION = "drivers/%s";
|
|
||||||
private final static String WINDOWS_CHROME_DRIVER = "chromedriver.exe";
|
|
||||||
private final static String LINUX_CHROME_DRIVER = "chromedriver";
|
|
||||||
|
|
||||||
private static WebDriver driver;
|
private static WebDriver driver;
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
public static void setup() {
|
public static void setup() {
|
||||||
System.setProperty(DRIVER_TYPE, getDriverExecutable());
|
System.setProperty(DRIVER_TYPE, TestingUtils.getDriverExecutablePath());
|
||||||
driver = new ChromeDriver();
|
driver = new ChromeDriver();
|
||||||
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
|
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetFreeEmployeesNextUnits() {
|
public void testResultPageHeader() {
|
||||||
|
driver.get(APP_URL);
|
||||||
|
String searchString = "QA automation";
|
||||||
|
|
||||||
|
SearchPage page = PageFactory.initElements(driver, SearchPage.class);
|
||||||
|
page.setSearchString(searchString);
|
||||||
|
page.clickSubmitButton();
|
||||||
|
|
||||||
|
System.out.println("Page title is: " + driver.getTitle());
|
||||||
|
|
||||||
|
|
||||||
|
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
|
||||||
|
public Boolean apply(WebDriver d) {
|
||||||
|
return d.getTitle().toLowerCase().startsWith("qa");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
System.out.println("Page contains result? " + page.isResultContainsText(searchString));
|
||||||
|
|
||||||
|
System.out.println("Page title is: " + driver.getTitle());
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterAll
|
@AfterAll
|
||||||
public static void quit() {
|
public static void quit() {
|
||||||
|
|
||||||
driver.quit();
|
driver.quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getDriverExecutable() {
|
|
||||||
return YandexSearch.class.getClassLoader().getResource(String.format(DRIVER_LOCATION, WINDOWS_CHROME_DRIVER)).getFile();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
8
src/test/java/utils/SystemUtils.java
Normal file
8
src/test/java/utils/SystemUtils.java
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package utils;
|
||||||
|
|
||||||
|
public class SystemUtils {
|
||||||
|
|
||||||
|
public static boolean isWindows() {
|
||||||
|
return System.getProperty("os.name").toLowerCase().contains("windows");
|
||||||
|
}
|
||||||
|
}
|
16
src/test/java/utils/TestingUtils.java
Normal file
16
src/test/java/utils/TestingUtils.java
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
package utils;
|
||||||
|
|
||||||
|
import static utils.SystemUtils.isWindows;
|
||||||
|
|
||||||
|
public class TestingUtils {
|
||||||
|
private final static String DRIVER_LOCATION = "drivers/%s";
|
||||||
|
private final static String WINDOWS_CHROME_DRIVER = "chromedriver.exe";
|
||||||
|
private final static String LINUX_CHROME_DRIVER = "chromedriver";
|
||||||
|
|
||||||
|
public static String getDriverExecutablePath() {
|
||||||
|
return TestingUtils.class.getClassLoader().getResource(
|
||||||
|
String.format(DRIVER_LOCATION, isWindows()
|
||||||
|
? WINDOWS_CHROME_DRIVER
|
||||||
|
: LINUX_CHROME_DRIVER)).getFile();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user