Добавлено тестирование отдельных страниц с использование Шаблонногог метода.
Версия 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.*;
|
import page.*;
|
||||||
|
|
||||||
public class AutorizationTests {
|
public class AutorizationTests {
|
||||||
|
|
||||||
private final static String APP_URL = "https://www.kinopoisk.ru/";
|
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/";
|
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 org.openqa.selenium.support.PageFactory;
|
||||||
import page.*;
|
import page.*;
|
||||||
|
|
||||||
public class NavigationTests {
|
public class NavigationTests{
|
||||||
|
|
||||||
|
|
||||||
private final static String APP_URL = "https://www.kinopoisk.ru/";
|
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_MOVIE = "https://www.kinopoisk.ru/film/mstiteli-voyna-beskonechnosti-2018-843649/";
|
||||||
private final static String APP_URL_ACTOR = "https://www.kinopoisk.ru/name/1189311/";
|
protected final static String APP_URL_ACTOR = "https://www.kinopoisk.ru/name/1189311/";
|
||||||
|
|
||||||
private static Context context;
|
private static Context context;
|
||||||
|
|
||||||
@ -71,7 +73,7 @@ public class NavigationTests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDownMenu() {
|
public void testDownMen() {
|
||||||
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);//Выбрать пункт меню
|
||||||
@ -121,4 +123,5 @@ public class NavigationTests {
|
|||||||
pageVk.closeWindow();
|
pageVk.closeWindow();
|
||||||
pageVk.switchToOldWindow();
|
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.*;
|
||||||
import page.search.*;
|
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 = "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;
|
private static Context context;
|
||||||
|
|
||||||
@ -24,7 +27,7 @@ public class SearchTests {
|
|||||||
|
|
||||||
@AfterAll
|
@AfterAll
|
||||||
public static void quit() {
|
public static void quit() {
|
||||||
//context.close();
|
context.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -54,19 +57,17 @@ public class SearchTests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSearchByCreators() throws InterruptedException {
|
public void testSearchInText() {
|
||||||
context.getDriver().get(APP_URL_SEARCH);//Открыта любая страница сайта, кроме специальных
|
context.getDriver().get(APP_URL_SEARCH);//Открыта любая страница сайта, кроме специальных
|
||||||
|
|
||||||
SearchByCreatorsPage page = PageFactory.initElements(context.getDriver(), SearchByCreatorsPage.class);//Выбрать пункт меню
|
SearchInTextPage page = PageFactory.initElements(context.getDriver(), SearchInTextPage.class);//Выбрать пункт меню
|
||||||
page.insertNameSearch("Безруков");
|
page.insertNameSearch("Веном");
|
||||||
Thread.sleep(2500);
|
|
||||||
page.clickDown();
|
|
||||||
page.clickEnter();
|
|
||||||
Thread.sleep(1000);
|
|
||||||
page.enterSearch();
|
page.enterSearch();
|
||||||
|
|
||||||
SearchByCreatorsResultPage pageResult = PageFactory.initElements(context.getDriver(), SearchByCreatorsResultPage.class);//Корректно отображена выбранная страница
|
SearchInTextResultPage pageResult = PageFactory.initElements(context.getDriver(), SearchInTextResultPage.class);//Корректно отображена выбранная страница
|
||||||
Assertions.assertTrue(pageResult.isBrigadaFromResultCreatorsPresent());
|
String str = pageResult.getNewsElementToString();
|
||||||
|
|
||||||
|
Assertions.assertTrue(pageResult.isListElementPresent("Веном"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -81,18 +82,21 @@ public class SearchTests {
|
|||||||
Assertions.assertTrue(pageResult.isBezrukovFromResultElementPresent());
|
Assertions.assertTrue(pageResult.isBezrukovFromResultElementPresent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSearchInText() {
|
public void testSearchByCreators() throws InterruptedException {
|
||||||
context.getDriver().get(APP_URL_SEARCH);//Открыта любая страница сайта, кроме специальных
|
context.getDriver().get(APP_URL_SEARCH);//Открыта любая страница сайта, кроме специальных
|
||||||
|
|
||||||
SearchInTextPage page = PageFactory.initElements(context.getDriver(), SearchInTextPage.class);//Выбрать пункт меню
|
SearchByCreatorsPage page = PageFactory.initElements(context.getDriver(), SearchByCreatorsPage.class);//Выбрать пункт меню
|
||||||
page.insertNameSearch("Веном");
|
page.insertNameSearch("Безруков");
|
||||||
|
Thread.sleep(2500);
|
||||||
|
page.clickDown();
|
||||||
|
page.clickEnter();
|
||||||
|
Thread.sleep(1000);
|
||||||
page.enterSearch();
|
page.enterSearch();
|
||||||
|
|
||||||
SearchInTextResultPage pageResult = PageFactory.initElements(context.getDriver(), SearchInTextResultPage.class);//Корректно отображена выбранная страница
|
SearchByCreatorsResultPage pageResult = PageFactory.initElements(context.getDriver(), SearchByCreatorsResultPage.class);//Корректно отображена выбранная страница
|
||||||
String str = pageResult.getNewsElementToString();
|
Assertions.assertTrue(pageResult.isBrigadaFromResultCreatorsPresent());
|
||||||
|
|
||||||
Assertions.assertTrue(pageResult.isListElementPresent("Веном"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@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")
|
@FindBy(css = ".header-fresh-partial-component__navigation-item")
|
||||||
private WebElement mainElement;
|
private WebElement mainElement;
|
||||||
|
|
||||||
@FindBy(css = "#partial_component__footer a")
|
@FindBy(css = ".link.footer-partial-component__bottom-info-link")
|
||||||
private WebElement downMenuElement;
|
private WebElement downMenuElement;
|
||||||
|
|
||||||
@FindBy(css = "#rigth_box_weekend_rus dd a")
|
@FindBy(css = "#rigth_box_weekend_rus dd a")
|
||||||
|
Loading…
Reference in New Issue
Block a user