Сервис профиля Firefox
Вы хотите запустить Firefox с определенным расширением или установить несколько настроек? Selenium позволяет использовать профиль для браузера Firefox, передавая этот профиль в виде строки base64
в свойство moz:firefoxOptions.profile
в ваших возможностях. Это требует создания профиля и преобразования его в base64
. Этот сервис для wdio testrunner берет на себя работу по компиляции профиля и позволяет комфортно определять желаемые параметры в файле wdio.conf.js
.
Чтобы найти все возможные опции, откройте about:config в вашем браузере Firefox или перейдите на сайт mozillaZine, чтобы найти полную документацию о каждой настройке. Кроме того, вы можете определить скомпилированные (в виде *.xpi
) расширения Firefox, которые должны быть установлены перед началом теста.
Установка
Самый простой способ — установить @wdio/firefox-profile-service
как devDependency в вашем package.json
с помощью:
npm install @wdio/firefox-profile-service --save-dev
Инструкции по установке WebdriverIO
можно найти здесь.
Конфигурация
Настройте свой профиль, добавив сервис firefox-profile
в список сервисов. Затем определите настройки в сво йстве firefoxProfile
, как показано ниже:
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
extensions: [
'/path/to/extensionA.xpi', // путь к .xpi файлу
'/path/to/extensionB' // или путь к распакованному расширению Firefox
],
'xpinstall.signatures.required': false,
'browser.startup.homepage': 'https://webdriver.io',
legacy: true // использовать только для Firefox <= 55
}]
],
// ...
};
Если вы создали пользовательское расширение Firefox, которое хотите установить в браузер, обязательно установите 'xpinstall.signatures.required': false
в качестве флага профиля, поскольку расширения Firefox должны быть подписаны Mozilla.
Для использования неподписанных расширений вам также потребуется Firefox Developer Edition, поскольку обычный Firefox версии 48 и новее не позволяет этого.
Опции
Содержит все настройки в виде пар ключ-значение. Все доступные настройки можно найти на странице about:config
.
extensions
Добавить одно или несколько расширений в сессию браузера. Все записи могут быть абсолютным путем к файлу .xpi
или путем к распакованному каталогу расширения Firefox.
Тип: String[]
По умолчанию: []
profileDirectory
Создать профиль Firefox на основе существующего, указав абсолютный путь к этому профилю.
Тип: String
По умолчанию: null
proxy
Установить настройки сетевого прокси. Параметр proxy
представляет собой хэш, структура которого зависит от значения обязательного ключа proxyType
, который принимает одно из следующих строковых значений:
direct
- прямое соединение (без прокси)system
- использовать настройки прокси операционной системыpac
- использовать автоматическую конфигурацию прокси на основе значения ключаautoconfigUrl
manual
- ручная настройка прокси, определяемая отдельно для разных протоколов с использованием значений следующих ключей:ftpProxy
,httpProxy
,sslProxy
,socksProxy
Тип: Object
По умолчанию: null
Пример:
-
Автоматический прокси:
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
proxy: {
proxyType: 'pac',
autoconfigUrl: 'http://myserver/proxy.pac'
}
}]
],
// ...
}; -
Ручной HTTP прокси:
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
proxy: {
proxyType: 'manual',
httpProxy: '127.0.0.1:8080'
}
}]
],
// ...
}; -
Ручной HTTP и HTTPS прокси:
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
proxy: {
proxyType: 'manual',
httpProxy: '127.0.0.1:8080',
sslProxy: '127.0.0.1:8080'
}
}]
],
// ...
};
legacy
Установите этот флаг в true
, если вы используете Firefox v55 или ниже.
Тип: Boolean
По умолчанию: false
Для получения дополнительной информации о WebdriverIO посетите домашнюю страницу.