Сервіс 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- використовувати автоматичну конфігурацію проксі, встановлену на основі значення ключаautoconfigUrlmanual- ручні налаштування проксі, окремо визначені для різних протоколів за допомогою значень із наступних ключів: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 відвідайте домашню сторінку.