Java: Selenium

Теория: Проверки и утверждения

Проверки делают тесты полезными: без них сценарий просто кликает по странице, но не подтверждает результат. В этом уроке мы разберем базовые проверки в Selenium и JUnit.

Проверка текста и URL

Для начала проверим заголовок страницы и текущий адрес:

import org.junit.jupiter.api.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

class ChecksTest {
    @Test
    void checkTitleAndUrl() {
        var driver = new ChromeDriver();
        driver.get("https://example.com");

        assertTrue(driver.getTitle().contains("Example"));
        assertEquals("https://example.com/", driver.getCurrentUrl());

        driver.quit();
    }
}

getTitle() возвращает заголовок страницы, а getCurrentUrl() — текущий адрес.

Проверка состояния элементов

Для элементов доступны методы состояния:

  • isDisplayed() — элемент видим
  • isEnabled() — элемент доступен для взаимодействия
  • isSelected() — элемент выбран (чекбоксы, радио‑кнопки)

Пример проверки кнопки:

import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import static org.junit.jupiter.api.Assertions.assertTrue;

class ElementStateTest {
    @Test
    void checkButton() {
        var driver = new ChromeDriver();
        driver.get("https://example.com/login");

        var button = driver.findElement(By.id("submit"));
        assertTrue(button.isDisplayed());
        assertTrue(button.isEnabled());

        driver.quit();
    }
}

Позитивные и негативные проверки

Позитивные проверки подтверждают ожидаемый результат, негативные — отсутствие результата. Для этого используют assertTrue, assertFalse, assertEquals и другие утверждения JUnit.

import static org.junit.jupiter.api.Assertions.assertFalse;

assertFalse(driver.getTitle().contains("Error"));

Так мы фиксируем, что страница не перешла в ошибочное состояние. В реальных тестах обычно комбинируют несколько утверждений, чтобы покрыть ключевые ожидания сценария.

Рекомендуемые программы

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845