Сервіс Firefox Profile
Ви хочете запустити ваш браузер 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 відвідайте домашню сторінку.