Вопрос пользователя:
Ответ нейросети:
Для автоматизации данного сценария с помощью библиотеки Selenide и паттерна Page Object, необходимо создать следующие классы:
import com.codeborne.selenide.SelenideElement;
import static com.codeborne.selenide.Selenide.$;
public class MainPage {
private SelenideElement searchField = $("#ss");
private SelenideElement searchButton = $(".sb-searchbox__button");
public void enterSearchText(String searchText) {
searchField.setValue(searchText);
}
public void clickSearchButton() {
searchButton.click();
}
public boolean isSearchResultDisplayed(String searchText) {
return searchField.getValue().equals(searchText);
}
}
import com.codeborne.selenide.ElementsCollection;
import static com.codeborne.selenide.Selenide.$$;
public class SearchResultPage {
private ElementsCollection hotelStars = $$(".bui-review-score__badge");
public void selectFiveStarFilter() {
// реализация выбора фильтра "5 звёзд"
}
public boolean areAllHotelsFiveStar() {
return hotelStars.stream().allMatch(star -> star.getText().equals("5"));
}
}
import com.codeborne.selenide.Configuration;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static com.codeborne.selenide.Selenide.open;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class TestClass {
MainPage mainPage = new MainPage();
SearchResultPage searchResultPage = new SearchResultPage();
@BeforeAll
public static void setUp() {
Configuration.startMaximized = true;
}
@Test
public void testSearchAndFilter() {
open("https://booking.com/");
mainPage.enterSearchText("Анталья");
mainPage.clickSearchButton();
assertTrue(mainPage.isSearchResultDisplayed("Анталья"));
searchResultPage.selectFiveStarFilter();
assertTrue(searchResultPage.areAllHotelsFiveStar());
}
}
Для настройки локального Allure отчета необходимо добавить зависимость в файл pom.xml:
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-junit5</artifactId>
<version>2.13.8</version>
<scope>test</scope>
</dependency>
После запуска теста, отчет Allure будет доступен по пути target/site/allure-maven/index.html.
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.