Сервіс 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 і новіші версії не дозволяють цього.