browsers
Обзор
Раздел browsers является обязательным в настройках Testplane. В нем задаются все браузеры, в которых будут запускаться тесты.
Настройка
Данный раздел имеет следующий формат:
import type { ConfigInput } from "testplane";
export default {
browsers: {
"<browser-id>": {
desiredCapabilities: {
browserName: "<browser-name>",
// ...
},
// ...
},
},
} satisfies ConfigInput;
Где <browser-id> — это имя браузера, которое используется для его идентификации.
Чтобы не повторять одни и те же настройки для разных браузеров, вы можете задать все нужные вам значения по умолчанию в корне конфига Testplane. Например:
import type { ConfigInput } from "testplane";
export default {
sessionsPerBrowser: 10,
browsers: {
chrome: {
/* ... */
},
firefox: {
// ...
sessionsPerBrowser: 5,
},
},
} satisfies ConfigInput;
В этом примере для браузера chrome будет использовано значение 10 для опции sessionsPerBrowser, а для firefox — 5.
Основные настройки браузера
| Параметр | Тип | По умолчанию | Описание |
desiredCapabilities | DesiredCapabilities | N/A | Обязательный параметр. Определяет свойства, которыми должен обладать браузер. Используется WebDriver'ом, см. DesiredCapabilities. |
gridUrl | string |
| URL грида Selenium. |
baseUrl | string | "http://localhost" | Базовый URL тестируемого сервиса. |
browserWSEndpoint | string | null | Эндпойнт websocket-соединения для подключения к браузеру через Chrome DevTools Protocol (CDP). |
automationProtocol | string | "webdriver" | Протокол общения с браузером. См. WebDriver vs CDP. |
sessionEnvFlags | SessionEnvFlags | {} | Флаги окружения, задающие протокол, который будет использоваться в созданной сессии браузера. |
windowSize | string | WindowSize | null | Размеры окна браузера. |
headless | boolean | "new" | "old" | depends on browser | Позволяет запускать браузер в headless режиме. |
desiredCapabilities
Обязательный параметр. Определяет свойства, которыми должен обладать браузер.
Формат объекта desiredCapabilities определяется стандартом WebDriver.
Помимо стандартных опций ряд инструментов предоставляют специфичные в своих неймспейсах.
Опции, специфичные для браузеров:
- Chrome,
goog:chromeOptions— документации по опциям ChromeDriver - Firefox,
moz:firefoxOptions— документации по Geckodriver - Edge,
ms:edgeOptions— документации по EdgeDriver
Опции, специфичные для браузерных гридов:
- Sauce Labs,
sauce:options— документация - BrowserStack,
bstack:options— документация - TestingBot,
tb:options— документация
Опции, специфичные для некоторых инструментов автоматизации:
- Appium,
appium:*— документация - Selenoid,
selenoid:options— документация
Пример расширенного задания desiredCapabilities:
import type { ConfigInput } from "testplane";
export default {
browsers: {
chrome: {
desiredCapabilities: {
browserName: "chrome",
browserVersion: "125.0",
"goog:chromeOptions": {
args: ["--hide-scrollbars", "--headless=new"],
},
},
},
},
} satisfies ConfigInput;
gridUrl
URL грида (адрес, на котором слушает ChromeDriver/Selenium Standalone/Sauce Labs/и т.д.).
По умолчанию: http://localhost:4444/wd/hub.
Также можно использовать значение "local", чтобы запускать тесты на локальных браузерах,
управляемых Testplane. Читайте больше в рецепте Как запустить Testplane в локальном
браузере.
baseUrl
Базовый URL тестируемого сервиса. Позволяет более удобно использовать команды browser.url:
- если целевой адрес начинается с
/, в начало будет добавленbaseUrlбез path-части. - если целевой адрес не начинается с
/, в начало будет добавлен весьbaseUrl.
По умолчанию: http://localhost.