Для чего используют browser capabilities, arguments и options?

В контексте автоматизации тестирования веб-приложений (Selenium, Playwright, WebDriver) browser capabilities, arguments и options используются для настройки браузера перед запуском теста.


1. Browser Capabilities (Возможности браузера)

  • Что это: набор свойств и настроек, передаваемых драйверу браузера при запуске.

  • Для чего используют:

    • Указать браузер и его версию (browserName, browserVersion).

    • Определить платформу (platformName).

    • Включить определённые функции (например, прокси, включение/отключение всплывающих окон).

  • Пример (Selenium, Python):

from selenium import webdriver
caps = {
    "browserName": "chrome",
    "browserVersion": "114.0",
    "platformName": "Windows 10"
}
driver = webdriver.Remote("http://localhost:4444/wd/hub", capabilities=caps)

2. Browser Arguments

  • Что это: отдельные параметры запуска браузера, обычно передаваемые в командной строке.

  • Для чего используют:

    • Запуск в headless режиме (без UI).

    • Отключение уведомлений, GPU, кэша.

    • Задание пользовательского профиля, размера окна, языка.

  • Пример (Chrome, Python):

from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--headless")
options.add_argument("--disable-notifications")
driver = webdriver.Chrome(options=options)

3. Browser Options

  • Что это: объект/набор методов для передачи настроек и аргументов драйверу.

  • Для чего используют:

    • Объединяет capabilities и arguments в одном объекте.

    • Позволяет гибко настраивать браузер для тестов.

  • Пример:

options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-logging"])
driver = webdriver.Chrome(options=options)

4. Отличие и связь

Параметр
Что делает
Пример использования

Capabilities

Устанавливает свойства браузера и платформы

browserName, browserVersion

Arguments

Передаёт флаги командной строки для браузера

--headless, --disable-notifications

Options

Объединяет аргументы и дополнительные настройки

add_argument, add_experimental_option


Итог: capabilities, arguments и options используются для конфигурирования браузера перед запуском тестов, чтобы контролировать платформу, поведение браузера и дополнительные функции, такие как headless режим или отключение уведомлений.

Last updated

Was this helpful?