Посмотрел видео Михаила Поляруша про Page Object.
@Test
public void testSearch(){
HomePage home = new HomePage(driver);
ResultPage result = home.search("Самолёт");
assertTrue(result.getFirstLink().contains("Самолёт"));
}
@Test
public void testClickSearch(){
HomePage home = new HomePage(driver);
home.testClickSearch();
}
Пример. Есть 2 тесткейса - см. выше. Первый вводит в инпут-поля гугла слово "самолет", жмет кнопку "Найти". И проверяет, что в первой ссылке есть слово "Самолет"
. Впринципе все понятно.
Вопрос номер 1:
Я хочу создать второй тескейс, который заходит на сайт гугла и жмет кнопку ENTER. Т.е. мы остаемся на остаемся на главной странице. Т.е. в классе HomePage
я создаю метод testClickSearch который ничего не возвращает. Верно ли я делаю ?
public void testClickSearch() {
driver.findElement(By.id("gbqfq")).sendKeys(Keys.ENTER);
}
Вопрос номер 2:
Мне не нравится, что постоянно надо создавать объект экземляр класса home класса HomePage. Т.е. если допустим будет 100 кейсов (типо зайти на гугл и кликнуть кнопку "Мне повезет", "Зайти на гугл и кликнуть какой-нибудь линк", "Зайти на гугл и кликнуть на гугл переводчик" и т.п. ), т.е. мне 100 раз придется писать
HomePage home = new HomePage(driver); - что явно не есть хорошо. Как постпают в таком случае ?
Вопрос номер 3:
Куда выносят методы setUp и tearDown. Чтобы оставить только тесткейсы, без этих двух методов ???
Создают отдельный класс ? или еще как-нибудь. Желательно с примерами кода