Добавлено тестирование отдельных страниц с использование Шаблонногог метода.
Версия 3.0
This commit is contained in:
parent
76e1d98652
commit
310eca5e80
17
Skalkin/src/test/java/ActorPageTest.java
Normal file
17
Skalkin/src/test/java/ActorPageTest.java
Normal file
@ -0,0 +1,17 @@
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.openqa.selenium.support.PageFactory;
|
||||
import page.ActorPage;
|
||||
import page.MoviePage;
|
||||
|
||||
public class ActorPageTest extends TemplateMethod {
|
||||
@Override
|
||||
protected void testPart() {
|
||||
context.getDriver().get(APP_URL_ACTOR);//Открыта страница фильма
|
||||
|
||||
ActorPage pageActor = PageFactory.initElements(context.getDriver(), ActorPage.class);//Выбрать пункт меню
|
||||
pageActor.clickInfo();
|
||||
|
||||
MoviePage pageMovie = PageFactory.initElements(context.getDriver(), MoviePage.class);
|
||||
Assertions.assertTrue(pageMovie.isMoviePagePresent());//Корректно отображена выбранная страница
|
||||
}
|
||||
}
|
17
Skalkin/src/test/java/AfishaPageTest.java
Normal file
17
Skalkin/src/test/java/AfishaPageTest.java
Normal file
@ -0,0 +1,17 @@
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.openqa.selenium.support.PageFactory;
|
||||
import page.AfishaPage;
|
||||
import page.MainPage;
|
||||
|
||||
public class AfishaPageTest extends TemplateMethod {
|
||||
@Override
|
||||
protected void testPart() {
|
||||
context.getDriver().get(APP_URL);//Открыта любая страница сайта, кроме специальных
|
||||
|
||||
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||
page.clickSubMenu();
|
||||
|
||||
AfishaPage pageAfisha = PageFactory.initElements(context.getDriver(), AfishaPage.class);
|
||||
Assertions.assertTrue(pageAfisha.isTopViewElementPresent());//Корректно отображена выбранная страница
|
||||
}
|
||||
}
|
@ -9,6 +9,7 @@ import org.openqa.selenium.support.PageFactory;
|
||||
import page.*;
|
||||
|
||||
public class AutorizationTests {
|
||||
|
||||
private final static String APP_URL = "https://www.kinopoisk.ru/";
|
||||
private final static String APP_URL_MOVIE = "https://www.kinopoisk.ru/film/mstiteli-voyna-beskonechnosti-2018-843649/";
|
||||
|
||||
|
16
Skalkin/src/test/java/MainPageTest.java
Normal file
16
Skalkin/src/test/java/MainPageTest.java
Normal file
@ -0,0 +1,16 @@
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.openqa.selenium.support.PageFactory;
|
||||
import page.MainPage;
|
||||
|
||||
public class MainPageTest extends TemplateMethod {
|
||||
|
||||
@Override
|
||||
protected void testPart() {
|
||||
context.getDriver().get(APP_URL);//Открыта любая страница сайта, кроме специальных
|
||||
|
||||
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);//Выбрать пункт меню
|
||||
page.clickLogo();
|
||||
|
||||
Assertions.assertTrue(page.isMainPagePresent());//Корректно отображена выбранная страница
|
||||
}
|
||||
}
|
17
Skalkin/src/test/java/MoviePageTest.java
Normal file
17
Skalkin/src/test/java/MoviePageTest.java
Normal file
@ -0,0 +1,17 @@
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.openqa.selenium.support.PageFactory;
|
||||
import page.ActorPage;
|
||||
import page.MoviePage;
|
||||
|
||||
public class MoviePageTest extends TemplateMethod {
|
||||
@Override
|
||||
protected void testPart() {
|
||||
context.getDriver().get(APP_URL_MOVIE);//Открыта страница фильма
|
||||
|
||||
MoviePage pageMovie = PageFactory.initElements(context.getDriver(), MoviePage.class);//Выбрать пункт меню
|
||||
pageMovie.clickInfo();
|
||||
|
||||
ActorPage pageActor = PageFactory.initElements(context.getDriver(), ActorPage.class);
|
||||
Assertions.assertTrue(pageActor.isActorPagePresent());//Корректно отображена выбранная страница
|
||||
}
|
||||
}
|
@ -8,10 +8,12 @@ import org.openqa.selenium.Dimension;
|
||||
import org.openqa.selenium.support.PageFactory;
|
||||
import page.*;
|
||||
|
||||
public class NavigationTests {
|
||||
public class NavigationTests{
|
||||
|
||||
|
||||
private final static String APP_URL = "https://www.kinopoisk.ru/";
|
||||
private final static String APP_URL_MOVIE = "https://www.kinopoisk.ru/film/koma-2018-933208/";
|
||||
private final static String APP_URL_ACTOR = "https://www.kinopoisk.ru/name/1189311/";
|
||||
private final static String APP_URL_MOVIE = "https://www.kinopoisk.ru/film/mstiteli-voyna-beskonechnosti-2018-843649/";
|
||||
protected final static String APP_URL_ACTOR = "https://www.kinopoisk.ru/name/1189311/";
|
||||
|
||||
private static Context context;
|
||||
|
||||
@ -71,7 +73,7 @@ public class NavigationTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDownMenu() {
|
||||
public void testDownMen() {
|
||||
context.getDriver().get(APP_URL);//Открыта страница фильма
|
||||
|
||||
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);//Выбрать пункт меню
|
||||
@ -121,4 +123,5 @@ public class NavigationTests {
|
||||
pageVk.closeWindow();
|
||||
pageVk.switchToOldWindow();
|
||||
}
|
||||
|
||||
}
|
||||
|
21
Skalkin/src/test/java/SearchPageTest.java
Normal file
21
Skalkin/src/test/java/SearchPageTest.java
Normal file
@ -0,0 +1,21 @@
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.openqa.selenium.support.PageFactory;
|
||||
import page.search.SearchInTextPage;
|
||||
import page.search.SearchInTextResultPage;
|
||||
|
||||
public class SearchPageTest extends TemplateMethod {
|
||||
|
||||
@Override
|
||||
protected void testPart() {
|
||||
context.getDriver().get(APP_URL_SEARCH);//Открыта любая страница сайта, кроме специальных
|
||||
|
||||
SearchInTextPage page = PageFactory.initElements(context.getDriver(), SearchInTextPage.class);//Выбрать пункт меню
|
||||
page.insertNameSearch("Веном");
|
||||
page.enterSearch();
|
||||
|
||||
SearchInTextResultPage pageResult = PageFactory.initElements(context.getDriver(), SearchInTextResultPage.class);//Корректно отображена выбранная страница
|
||||
String str = pageResult.getNewsElementToString();
|
||||
|
||||
Assertions.assertTrue(pageResult.isListElementPresent("Веном"));
|
||||
}
|
||||
}
|
@ -9,9 +9,12 @@ import org.openqa.selenium.support.PageFactory;
|
||||
import page.*;
|
||||
import page.search.*;
|
||||
|
||||
public class SearchTests {
|
||||
public class SearchTests {
|
||||
|
||||
private final static String APP_URL = "https://www.kinopoisk.ru/";
|
||||
private final static String APP_URL_SEARCH = "https://www.kinopoisk.ru/s/";
|
||||
private final static String APP_URL_MOVIE = "https://www.kinopoisk.ru/film/mstiteli-voyna-beskonechnosti-2018-843649/";
|
||||
protected final static String APP_URL_ACTOR = "https://www.kinopoisk.ru/name/1189311/";
|
||||
protected final static String APP_URL_SEARCH = "https://www.kinopoisk.ru/s/";
|
||||
|
||||
private static Context context;
|
||||
|
||||
@ -24,7 +27,7 @@ public class SearchTests {
|
||||
|
||||
@AfterAll
|
||||
public static void quit() {
|
||||
//context.close();
|
||||
context.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -54,19 +57,17 @@ public class SearchTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSearchByCreators() throws InterruptedException {
|
||||
public void testSearchInText() {
|
||||
context.getDriver().get(APP_URL_SEARCH);//Открыта любая страница сайта, кроме специальных
|
||||
|
||||
SearchByCreatorsPage page = PageFactory.initElements(context.getDriver(), SearchByCreatorsPage.class);//Выбрать пункт меню
|
||||
page.insertNameSearch("Безруков");
|
||||
Thread.sleep(2500);
|
||||
page.clickDown();
|
||||
page.clickEnter();
|
||||
Thread.sleep(1000);
|
||||
SearchInTextPage page = PageFactory.initElements(context.getDriver(), SearchInTextPage.class);//Выбрать пункт меню
|
||||
page.insertNameSearch("Веном");
|
||||
page.enterSearch();
|
||||
|
||||
SearchByCreatorsResultPage pageResult = PageFactory.initElements(context.getDriver(), SearchByCreatorsResultPage.class);//Корректно отображена выбранная страница
|
||||
Assertions.assertTrue(pageResult.isBrigadaFromResultCreatorsPresent());
|
||||
SearchInTextResultPage pageResult = PageFactory.initElements(context.getDriver(), SearchInTextResultPage.class);//Корректно отображена выбранная страница
|
||||
String str = pageResult.getNewsElementToString();
|
||||
|
||||
Assertions.assertTrue(pageResult.isListElementPresent("Веном"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -81,18 +82,21 @@ public class SearchTests {
|
||||
Assertions.assertTrue(pageResult.isBezrukovFromResultElementPresent());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testSearchInText() {
|
||||
public void testSearchByCreators() throws InterruptedException {
|
||||
context.getDriver().get(APP_URL_SEARCH);//Открыта любая страница сайта, кроме специальных
|
||||
|
||||
SearchInTextPage page = PageFactory.initElements(context.getDriver(), SearchInTextPage.class);//Выбрать пункт меню
|
||||
page.insertNameSearch("Веном");
|
||||
SearchByCreatorsPage page = PageFactory.initElements(context.getDriver(), SearchByCreatorsPage.class);//Выбрать пункт меню
|
||||
page.insertNameSearch("Безруков");
|
||||
Thread.sleep(2500);
|
||||
page.clickDown();
|
||||
page.clickEnter();
|
||||
Thread.sleep(1000);
|
||||
page.enterSearch();
|
||||
|
||||
SearchInTextResultPage pageResult = PageFactory.initElements(context.getDriver(), SearchInTextResultPage.class);//Корректно отображена выбранная страница
|
||||
String str = pageResult.getNewsElementToString();
|
||||
|
||||
Assertions.assertTrue(pageResult.isListElementPresent("Веном"));
|
||||
SearchByCreatorsResultPage pageResult = PageFactory.initElements(context.getDriver(), SearchByCreatorsResultPage.class);//Корректно отображена выбранная страница
|
||||
Assertions.assertTrue(pageResult.isBrigadaFromResultCreatorsPresent());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
60
Skalkin/src/test/java/TemplateMethod.java
Normal file
60
Skalkin/src/test/java/TemplateMethod.java
Normal file
@ -0,0 +1,60 @@
|
||||
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.AfishaPage;
|
||||
import page.MainPage;
|
||||
import page.RandomSearchPage;
|
||||
|
||||
public abstract class TemplateMethod {
|
||||
protected final static String APP_URL = "https://www.kinopoisk.ru/";
|
||||
protected final static String APP_URL_MOVIE = "https://www.kinopoisk.ru/film/koma-2018-933208/";
|
||||
protected final static String APP_URL_ACTOR = "https://www.kinopoisk.ru/name/1189311/";
|
||||
protected final static String APP_URL_SEARCH = "https://www.kinopoisk.ru/s/";
|
||||
|
||||
protected static Context context;
|
||||
|
||||
@BeforeAll
|
||||
public final static void setup() {
|
||||
context = new ChromeContext();
|
||||
context.start();
|
||||
context.getDriver().manage().window().setSize(new Dimension(1600, 900));
|
||||
}
|
||||
|
||||
public final void testHeader() {
|
||||
context.getDriver().get(APP_URL);//Открыта любая страница сайта, кроме специальных
|
||||
|
||||
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);
|
||||
page.clickSubMenu();
|
||||
|
||||
AfishaPage pageAfisha = PageFactory.initElements(context.getDriver(), AfishaPage.class);
|
||||
Assertions.assertTrue(pageAfisha.isTopViewElementPresent());//Корректно отображена выбранная страница
|
||||
}
|
||||
|
||||
public final void testDownMenu() {
|
||||
context.getDriver().get(APP_URL);//Открыта страница фильма
|
||||
|
||||
MainPage page = PageFactory.initElements(context.getDriver(), MainPage.class);//Выбрать пункт меню
|
||||
page.clickDownMenu();
|
||||
|
||||
Assertions.assertTrue(page.isMainPagePresent());//Корректно отображена выбранная страница
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void templateTest() {
|
||||
testHeader();
|
||||
testPart();
|
||||
testDownMenu();
|
||||
}
|
||||
|
||||
protected abstract void testPart();
|
||||
|
||||
@AfterAll
|
||||
public final static void quit() {
|
||||
context.close();
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ public class MainPage {
|
||||
@FindBy(css = ".header-fresh-partial-component__navigation-item")
|
||||
private WebElement mainElement;
|
||||
|
||||
@FindBy(css = "#partial_component__footer a")
|
||||
@FindBy(css = ".link.footer-partial-component__bottom-info-link")
|
||||
private WebElement downMenuElement;
|
||||
|
||||
@FindBy(css = "#rigth_box_weekend_rus dd a")
|
||||
|
Loading…
Reference in New Issue
Block a user