Недавно мы создали тестовую среду E2E с [email protected]
и написали несколько наборов тестов для тестирования расширения браузера ShopBack. В следующем разделе мы рассмотрим, как установить расширение локального браузера в Google Chrome и Mozilla Firefox, которое инициализируется Selenium.
Гугл Хром
Google Chrome намного проще, чем Firefox, просто подготовьте свое локальное расширение, а затем напишите несколько кодов селена, как показано ниже:
Однако как вы поступите, если захотите установить расширение после запуска Chrome? Google Chrome не позволяет загружать локальное расширение после его запуска, вместо этого можно использовать файл .crx
. Так что же такое crx файл? На самом деле это просто архивный файл типа .zip
. То же самое и с .xpi
файлом Firefox.
Вы можете получить свой .crx
файл через chrome: // extensions:
- Включите режим разработчика в правом верхнем углу.
- Нажмите кнопку расширения Pack. Появится диалоговое окно.
- Выберите путь к вашему локальному добавочному номеру.
- Готово, Chrome сгенерирует файлы
.pem
и.crx
- родительский путь на третьем шаге.
Теперь это можно сделать с помощью .crx
:
Mozilla Firefox
Firefox немного сложен при установке расширения браузера через Selenium. Вам не разрешается устанавливать расширение локального браузера в Firefox, даже если вы отключили xpinstall.signatures.required
, как показано ниже:
const firefoxOption = new firefox.Options(); firefoxOption.setPreference('xpinstall.signatures.required', false);
К счастью, вы все еще можете добиться этого в Firefox Developer Edition (также известном как AURORA). Во-первых, вам необходимо установить Developer Edition с https://www.mozilla.org/firefox/developer.
Во-вторых, это должно быть свойство приложения в manifest.json. Например:
"applications": { "gecko": { "id": "ANY_ID_HERE", "strict_min_version": "52.0" } }
После завершения вышеупомянутых двух шагов, когда вы устанавливаете локальное расширение, вы не можете предоставить папку расширения, как в случае с хромом. Вы должны назначить .xpi
файл. Он почти такой же, как .zip
, вы можете просто заархивировать свое расширение в .zip
файл, а затем изменить его на .xpi
файл.
Когда вы архивируете расширение, пожалуйста, не архивируйте корневую папку локального расширения, вместо этого вы должны выбрать все активы расширения, а затем заархивировать. ссылка: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Package_your_extension_
Последний шаг - инициализация Developer Edition через Selenium, а затем установка расширения:
При запуске появляется сообщение об ошибке, показанное ниже, это означает, что Selenium не может найти Firefox:
Ошибка: не удалось найти Firefox в текущей системе
Вы можете настроить путь к бункеру firefox вручную с помощью следующей команды:
firefox.Channel.AURORA.darwin_ = PATH_TO_FIREFOX_BIN;
В Mac OSX путь по умолчанию должен быть:
/Applications/Firefox Developer Edition.app/Contents/MacOS/firefox-bin
В любом случае, насколько я знаю, есть еще несколько способов установить локальное расширение для firefox. Однако некоторые из них представляют собой сложный обходной путь или работают только с Selenium 3. Я расскажу больше в этом посте, если получу какие-то обновления.