Java: Selenium

Теория: Настройка браузера

Настройки браузера помогают адаптировать тесты под разные условия: размер окна, headless‑режим, профили и куки. В этом уроке разберем базовые настройки.

Размер окна

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

class WindowSizeTest {
    @Test
    void setWindowSize() {
        var driver = new ChromeDriver();
        driver.manage().window().setSize(new Dimension(1280, 800));
        driver.quit();
    }
}

Headless‑режим

Для запуска без интерфейса используется ChromeOptions:

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

class HeadlessTest {
    @Test
    void runHeadless() {
        var options = new ChromeOptions();
        options.addArguments("--headless=new");

        var driver = new ChromeDriver(options);
        driver.quit();
    }
}

Такой режим удобен для CI, где нет графической оболочки.

Куки через WebDriver API

Куки можно добавлять без JavaScript:

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

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

        var cookie = new Cookie("session", "abc123");
        driver.manage().addCookie(cookie);

        driver.quit();
    }
}

Перед добавлением куки обычно нужно открыть домен, к которому она относится.

Профили и capabilities

Дополнительные параметры передаются через ChromeOptions и capabilities:

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

class OptionsTest {
    @Test
    void useOptions() {
        var options = new ChromeOptions();
        options.addArguments("--start-maximized");
        options.addArguments("--disable-gpu");

        var driver = new ChromeDriver(options);
        driver.quit();
    }
}

Эти настройки позволяют запускать браузер в нужной конфигурации и воспроизводить окружение пользователей.

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

+7 800 100 22 47

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

+7 495 085 21 62

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

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