Я пытаюсь протестировать страницу, на которой используются некоторые расширения и плагины браузера. Однако в экземпляре браузера, который открывает Webdriverio, по умолчанию удалены все расширения, и мои тесты терпят неудачу. В Chrome я попытался передать --user-data-dir в chromeOptions, чтобы загрузить профиль по умолчанию, но пока chrome: // version / проверяет, что профиль загружен, похоже, есть несколько параметров командной строки, которые переопределяют это и мои расширения все еще отсутствуют. В Firefox мои расширения удалены, и для всех плагинов установлено значение «Попросить активировать». Есть ли обходной путь для этого?
Однажды я добавил расширение Chrome через chromeOptions.extensions
. Возможно, вы могли бы попробовать зашифровать свои расширения в base64 и сделать это таким же образом. Кроме этого, у меня нет опыта работы с расширениями в Selenium, и я никогда не пытался загрузить существующий профиль пользователя. Как вы устанавливаете желаемые возможности?
Это также влияет на плагины. Например, если я хочу проверить, работает ли резервный проигрыватель видео HTML5, он будет отключен по умолчанию. Я просто пытаюсь загрузить профиль по умолчанию, а не отдельный профиль пользователя, но кажется, что webdriver устанавливает собственные флаги для отключения плагинов и расширений. Есть идеи, как просто открыть браузер с настройками по умолчанию?
ммм .. если флаги не работают, у меня нет идей. Никогда не было такого варианта использования. Не могли бы вы немного подробнее объяснить свою ситуацию. Я все еще не совсем понимаю, какая здесь роль расширения?
Я подозреваю, что сейчас это скорее проблема Selenium, чем проблема WebdriverIO. Но для ясности я добавлю здесь немного больше информации.
Я хотел бы проверить, что полифил видео HTML5 возвращается к, скажем, Flash, и функции по-прежнему работают правильно, если определенные условия выполняются / не выполняются. Тем не менее, профиль по умолчанию блокирует загрузку Flash, поэтому эти тесты всегда будут неудачными.
27 октября 2014 г. в 13:48 Кристиан Броман [email protected] написал:
ммм .. если флаги не работают, у меня нет идей. Никогда не было такого варианта использования. Не могли бы вы немного подробнее объяснить свою ситуацию. Я все еще не совсем понимаю, какая здесь роль расширения?
-
Ответьте на это письмо напрямую или просмотрите его на GitHub.
Если это может помочь, я могу загрузить такое расширение:
desiredCapabilities: {
browserName: 'chrome',
"chromeOptions": {
"args": [
"load-extension="+__dirname+"/test/extensions/adblock",
"lang=de-DE","window-size=1280,800"]
}
}
путь расширения, указывающий на несжатое расширение chrome adblock (которое я нашел в каталоге поддержки приложений google OS X на моем компьютере)
У меня все работает. Я думаю, что на это также влияет полный набор технологий, которые вы используете. Мой стек создает новый профиль при каждом выполнении теста и удаляет его после. Легко увидеть, что происходит, просто посмотрев на процессы во время работы selenium, переменная будет привязана к selenium-xxx.jar.
Закрытие, так как это больше проблема Selenium, а не WebdriverIO.
Самый полезный комментарий
Если это может помочь, я могу загрузить такое расширение:
путь расширения, указывающий на несжатое расширение chrome adblock (которое я нашел в каталоге поддержки приложений google OS X на моем компьютере)