Selenium ChromeDriver, не могу запустить Google Chrome с загруженным расширением
Я работаю над созданием автоматизированных тестов для моего расширения Google Chrome с использованием Selenium 2.0 с:
- WebdriverJS + NodeJS
- ChromeDriver
- MacOSX 10.8.4
Во-первых, я также хотел протестировать процесс установки, но не представляется возможным нажать кнопку "Добавить", когда диалоговое окно установки появляется с помощью Selenium. ( Мой другой ТАК вопрос по этому поводу).
Теперь я изменил свой план. Вместо того, чтобы устанавливать расширение как часть тест-драйва, я хочу запустить Chrome с моим установленным расширением. Но я не был успешным.
Пожалуйста, посмотрите на код ниже:
var webdriver = require('selenium-webdriver'),
chrome = require('selenium-webdriver/chrome');
var o = new chrome.Options();
o.addExtensions(['extensions/chrome/chrome_extension.zip']); // crx file is just a zip file
var s = new chrome.ServiceBuilder('bin/chromedriver').build();
var driver = chrome.createDriver(o, s)
Когда я запускаю приведенный выше код, я получаю следующую ошибку:
Я заметил, что ChromeDriver загружает расширение Chrome под названием "Chrome Automation Extension 1" при открытии Chrome, поэтому должен быть способ загрузить другое расширение, либо загрузить его прямо из интернет-магазина с помощью идентификатора приложения, либо загрузить с локального компьютера. - упакованы или распакованы.
Любая помощь будет принята с благодарностью!
1 ответ
Убедитесь, что файл manifest.json находится в корне вашего zip-файла. Распространенная ошибка - случайно заархивировать каталог расширения вместо файлов расширения.
Используя zip:
cd path/to/extension
zip -ur ../chrome_extension.zip *
Используя 7-почтовый индекс:
cd path/to/extension
7z u -tzip ../chrome-extension.zip *