Для чего используют 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?