Добавлено тестирование отдельных страниц с использование Шаблонногог метода.

Версия 3.0
This commit is contained in:
Антон Скалкин 2019-03-23 08:58:31 +04:00
parent 76e1d98652
commit 310eca5e80
10 changed files with 180 additions and 24 deletions

View 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());//Корректно отображена выбранная страница
}
}

View 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());//Корректно отображена выбранная страница
}
}

View File

@ -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/";

View 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());//Корректно отображена выбранная страница
}
}

View 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());//Корректно отображена выбранная страница
}
}

View File

@ -9,9 +9,11 @@ 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();
} }
} }

View 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("Веном"));
}
}

View File

@ -10,8 +10,11 @@ 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

View 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();
}
}

View File

@ -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")