первые 5 тестов
This commit is contained in:
parent
d06aeccf8d
commit
ad1ff0d77d
@ -28,6 +28,11 @@ public class NavigationTests
|
|||||||
Context.getDriver().get(APP_URL);
|
Context.getDriver().get(APP_URL);
|
||||||
|
|
||||||
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
try {
|
||||||
|
TimeUnit.SECONDS.sleep(10); // Same as Thread.sleep(5000);
|
||||||
|
// The "main" thread will sleep
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
page.clickRulesLink();
|
page.clickRulesLink();
|
||||||
try {
|
try {
|
||||||
TimeUnit.SECONDS.sleep(5); // Same as Thread.sleep(5000);
|
TimeUnit.SECONDS.sleep(5); // Same as Thread.sleep(5000);
|
||||||
@ -45,6 +50,11 @@ public class NavigationTests
|
|||||||
Context.getDriver().get(APP_URL);
|
Context.getDriver().get(APP_URL);
|
||||||
|
|
||||||
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
try {
|
||||||
|
TimeUnit.SECONDS.sleep(10); // Same as Thread.sleep(5000);
|
||||||
|
// The "main" thread will sleep
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
page.clickPreviewLink();
|
page.clickPreviewLink();
|
||||||
try {
|
try {
|
||||||
TimeUnit.SECONDS.sleep(5); // Same as Thread.sleep(5000);
|
TimeUnit.SECONDS.sleep(5); // Same as Thread.sleep(5000);
|
||||||
@ -54,6 +64,72 @@ public class NavigationTests
|
|||||||
Assertions.assertTrue(MainPage.isPreviewPresent());
|
Assertions.assertTrue(MainPage.isPreviewPresent());
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void popularGiveup()
|
||||||
|
{
|
||||||
|
|
||||||
|
Context.getDriver().get(APP_URL);
|
||||||
|
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
try {
|
||||||
|
TimeUnit.SECONDS.sleep(10); // Same as Thread.sleep(5000);
|
||||||
|
// The "main" thread will sleep
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
page.clickpopularGiveup();
|
||||||
|
try {
|
||||||
|
TimeUnit.SECONDS.sleep(5); // Same as Thread.sleep(5000);
|
||||||
|
// The "main" thread will sleep
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
Assertions.assertTrue(MainPage.isPopularGiveupPresent());
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void externalLinks()
|
||||||
|
{
|
||||||
|
|
||||||
|
Context.getDriver().get(APP_URL);
|
||||||
|
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
try {
|
||||||
|
TimeUnit.SECONDS.sleep(10); // Same as Thread.sleep(5000);
|
||||||
|
// The "main" thread will sleep
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
page.clickexternalLink();
|
||||||
|
try {
|
||||||
|
TimeUnit.SECONDS.sleep(5); // Same as Thread.sleep(5000);
|
||||||
|
// The "main" thread will sleep
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
Assertions.assertTrue(MainPage.isExternalLinkPresent());
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void lastMessageLink()
|
||||||
|
{
|
||||||
|
|
||||||
|
Context.getDriver().get(APP_URL);
|
||||||
|
|
||||||
|
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||||
|
try {
|
||||||
|
TimeUnit.SECONDS.sleep(10); // Same as Thread.sleep(5000);
|
||||||
|
// The "main" thread will sleep
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
page.clicklastMessageLink();
|
||||||
|
try {
|
||||||
|
TimeUnit.SECONDS.sleep(5); // Same as Thread.sleep(5000);
|
||||||
|
// The "main" thread will sleep
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
Assertions.assertTrue(MainPage.islastMessageLinkPresent());
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
public static void setup() {
|
public static void setup() {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package context;
|
package context;
|
||||||
|
|
||||||
import org.openqa.selenium.chrome.ChromeDriver;
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
|
import org.openqa.selenium.chrome.ChromeOptions;
|
||||||
|
|
||||||
public class ChromeContext extends Context {
|
public class ChromeContext extends Context {
|
||||||
private final static String WINDOWS_DRIVER = "chromedriver.exe";
|
private final static String WINDOWS_DRIVER = "chromedriver.exe";
|
||||||
|
@ -20,8 +20,10 @@ public abstract class Context {
|
|||||||
|
|
||||||
public void start() {
|
public void start() {
|
||||||
System.setProperty(getDriverType(), getDriverExecutablePath());
|
System.setProperty(getDriverType(), getDriverExecutablePath());
|
||||||
driver = new ChromeDriver(new ChromeOptions().addArguments("--disable-notifications"));
|
//driver = new ChromeDriver();
|
||||||
|
createDriver();
|
||||||
driver.manage().window().maximize();
|
driver.manage().window().maximize();
|
||||||
|
|
||||||
// это плохая инструкция для автотестов, т.к. лучше задавать для конкретного элемента или кейса
|
// это плохая инструкция для автотестов, т.к. лучше задавать для конкретного элемента или кейса
|
||||||
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
|
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
|
||||||
}
|
}
|
||||||
|
@ -15,9 +15,18 @@ public class MainPage {
|
|||||||
@FindBy(xpath = "//html/body/div[@class='main_head']/div[@id='overview']/div[@class='subnav']/div[@class='content']/ul[@class='navigation']/li[4]/a")
|
@FindBy(xpath = "//html/body/div[@class='main_head']/div[@id='overview']/div[@class='subnav']/div[@class='content']/ul[@class='navigation']/li[4]/a")
|
||||||
private WebElement rulesLink;
|
private WebElement rulesLink;
|
||||||
|
|
||||||
@FindBy(xpath = "//html/body/div[@class='main_head']/div[1]/div")
|
@FindBy(xpath = "//html/body/div[@class='content_main']/div[@class='main_center_col blocks']/div[@id='dle-content']/div[@class='short_news_title'][1]/div[@class='short_news_title_center']/a")
|
||||||
private WebElement previewLinkContainer;
|
private WebElement previewLinkContainer;
|
||||||
|
|
||||||
|
@FindBy(xpath = "//html/body/div[@class='content_main']/div[@class='main_right_col blocks']/a[@class='popular_torrents'][2]")
|
||||||
|
private WebElement popularGiveup;
|
||||||
|
|
||||||
|
@FindBy(xpath = "//a[@href='/forum/']")
|
||||||
|
private WebElement externalLink;
|
||||||
|
|
||||||
|
@FindBy(xpath = "//html/body/div[@class='content'][1]/div[@class='forum_block']/div[@class='forum_msg_block']/div[@class='ltContent']/table/tbody/tr[7]/td[@class='topicInfo']/a[@class='topicLink']")
|
||||||
|
private WebElement lastMessageLink;
|
||||||
|
|
||||||
public MainPage(WebDriver driver) {
|
public MainPage(WebDriver driver) {
|
||||||
this.driver = driver;
|
this.driver = driver;
|
||||||
}
|
}
|
||||||
@ -28,7 +37,10 @@ public class MainPage {
|
|||||||
public void clickRulesLink() {
|
public void clickRulesLink() {
|
||||||
rulesLink.click();
|
rulesLink.click();
|
||||||
}
|
}
|
||||||
public void clickPreviewLink() { new Actions(driver).moveToElement(previewLinkContainer,318,233).click().perform(); }
|
public void clickPreviewLink() { previewLinkContainer.click(); }
|
||||||
|
public void clickpopularGiveup() { popularGiveup.click(); }
|
||||||
|
public void clickexternalLink() { externalLink.click(); }
|
||||||
|
public void clicklastMessageLink() { lastMessageLink.click(); }
|
||||||
|
|
||||||
public static boolean isRulesPresent() {
|
public static boolean isRulesPresent() {
|
||||||
try {
|
try {
|
||||||
@ -52,4 +64,37 @@ public class MainPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public static boolean isPopularGiveupPresent() {
|
||||||
|
try {
|
||||||
|
|
||||||
|
return driver.findElement(By.xpath("//html/body/div[@class='content_main']/div[@class='main_right_col blocks']")).getText().indexOf(driver.findElement(By.xpath("//html/body/div[@class='content_main']/div[@class='main_center_col blocks']/div[@id='dle-content']/div[@class='full_news_title']/div[@class='full_news_title_center']/h1")).getText()) >= 0;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public static boolean isExternalLinkPresent() {
|
||||||
|
try {
|
||||||
|
|
||||||
|
return driver.findElement(By.xpath("//html/body")).getText().indexOf("Форум") >= 0;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public static boolean islastMessageLinkPresent() {
|
||||||
|
try {
|
||||||
|
|
||||||
|
return driver.findElement(By.xpath("//html/body")).getText().indexOf("СООБЩЕНИЙ В ТЕМЕ") >= 0;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user