Компания Software Cats уже более пяти лет занимается аутстафом и аутсорсом по направлениям
Если у вас есть ИТ-проблема, оставьте ваши контакты, и мы поможем составить план ее решения.
Если у вас еще не установлена Java, то нужно скачать и установить JDK (это бесплатно) со старого доброго сайта Oracle -> https://www.oracle.com/java/technologies/downloads/#jdk19-windows
Настройка среды для тестирования
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
WebDriver driver = new ChromeDriver();
<dependency>
<groupId>com.codeborne</groupId>
<artifactId>selenide</artifactId>
<version>7.3.3</version>
</dependency>
$(byXpath("//div[@id='search']")).shouldBe(visible);
Вот полный код все того же теста, написанного на Selenide.
Для упрощения здесь я заменила поиск кнопки поиска и клик по ней нажатием Enter на клавиатуре - pressEnter();
import org.junit.Test;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selectors.byXpath;
import static com.codeborne.selenide.Selenide.*;
public class SelenideTestClass {
@Test
public void test() {
open("https://www.google.com");
$(byXpath("//textarea[@id='APjFqb']")).setValue("Selenium WebDriver").pressEnter();
$(byXpath("//div[@id='search']")).shouldBe(visible);
}
}
shouldBe(visible, Duration.ofSeconds(8)) //ждать, пока веб-элемент не станет видимым, в течение 8с
public class SelenideTestClass {
@Test
public void test() {
open("https://www.google.com");
$(byXpath("//textarea[@id='APjFqb']")).setValue("Selenium WebDriver").pressEnter();
$(byXpath("//div[@id='search']")).shouldBe(visible);
}
}
//Локатор для блока с результатами поиска
@FindBy(how = How.XPATH, using = "//div[@id='search']")
private SelenideElement results;
// Локатор заголовка первого результата поиска
@FindBy(how = How.XPATH, using = "//h3")
private SelenideElement firstResult;
//Локатор для получения всех заголовков результата поиска
@FindBy(how = How.XPATH, using = "//div[@id='search']//h3")
private ElementsCollection resultTitles;
//Метод проверки поиска
public boolean isResult() {
return results.isDisplayed();
}
//Метод проверки показа первого результата в поиске
public boolean isFirstResult() {
return firstResult.isDisplayed();
}
// Метод для получения заголовков из коллекции
public List<String> getResultTitles() {
List<String> titles = new ArrayList<>();
for (SelenideElement title : resultTitles) {
titles.add(title.getText());
}
return titles;
}
//ПРОВЕРКИ
//Осуществился ли поиск
assertTrue("Поиск не осуществился", googleMainPage.isResult());
//Есть ли результаты поиска
assertTrue("Отсутствуют результаты поиска", googleMainPage.isFirstResult());
//Релевантность поиска
boolean relevantResults = false;
for (int i = 0; i <= googleMainPage.getResultTitles().size(); i++) {
String currentTitle = googleMainPage.getResultTitles().get(i);
if (currentTitle.toLowerCase().contains("selenium") || currentTitle.toLowerCase().contains("webdriver")) {
relevantResults = true;
break;
}
}
assertTrue("Результаты поиска не соответствуют поисковому запросу", relevantResults);