Запуск Protractor против ночной сборки Firefox

Когда я пытаюсь запустить тесты Protractor для "Nightly" сборки Firefox, окно Firefox зависает на неопределенный срок< /эм>:

введите здесь описание изображения

Вот соответствующая часть моей конфигурации:

exports.config = {
    baseUrl: 'http://localhost:8080/dev/src/',
    specs: ['dev/test/e2e/**/dashboard.spec.js'],
    directConnect: true,
    capabilities: {
        browserName: "firefox",
        firefox_binary: "/Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin",
    },

    allScriptsTimeout: 110000,
    getPageTimeout: 100000,
    framework: 'jasmine2',
    jasmineNodeOpts: {
        isVerbose: false,
        showColors: true,
        includeStackTrace: false,
        defaultTimeoutInterval: 400000
    },
};

Возникла связанная проблема без решения.

Одним из найденных мной возможных обходных путей может быть перемещение расширения WebDriver xpi из стабильную установку Firefox (или другой источник) в каталог «extensions» профиля Nightly Firefox, но я не уверен, как это сделать.

Я также нашел кое-что об использовании драйвера "Marionette" чтобы протестировать ночную сборку Firefox, но я не нашел никаких указаний относительно ее отношения к Protractor.


С использованием:

  • на данный момент последняя Protractor 3.0.0
  • Firefox Nightly — это 46.0.a1.
  • Mac OS X Эль-Капитан

Пробовал с directConnect и без - то же самое.


person alecxe    schedule 24.12.2015    source источник


Ответы (2)


Очевидно, это проблема с Firefox 46. Драйвер Firefox по умолчанию больше не работает с этой версией — вам нужно использовать Водитель марионеток. Я также нашел краткое руководство при использовании нового драйвера с Selenium.

Я тоже сталкиваюсь с той же проблемой. Мы запускаем наши тесты с directConnect по умолчанию, поэтому мне еще предстоит выяснить, как заставить транспортир использовать Marionette вместо FirefoxDriver.

Если у вас есть транспортир, подключенный к Selenium, вы должны быть в состоянии следовать инструкциям, чтобы заставить Selenium использовать новый драйвер - это не должно влиять на связь транспортира с Selenium.


Обновление: изучая проблему использования последних версий Firefox с directConnect, я не нашел способа настроить транспортир на использование драйвера Marionette. Для этого я открыл проблему с командой транспортира.

person jrharshath    schedule 02.05.2016
comment
Большое спасибо за изучение этого, я повторю проблему и опубликую результаты в будущем. - person alecxe; 02.05.2016

И на Mac, и на Linux мне пришлось обновиться до FF 47.0.1 selenium 2.53.1.

Сначала я попытался настроить Protractor с новым драйвером Mozilla Marionette, согласно ответу jrharshath.

Я получил транспортир, чтобы использовать его (описание того, что я сделал ниже). Однако у меня были многочисленные проблемы с драйвером, выполняющим мои тесты.

Затем я нашел обсуждения, в которых говорилось, что 47.0.1 и selenium 2.53.1 восстановили функциональность FirefoxDriver, поэтому отказался от драйвера Marionette в пользу совместимых обновлений.

Для тех, кто занимается настройкой и использованием драйвера Marionette с Protractor и веб-драйвером, я сделал следующее:

  1. Скачал и разархивировал последнюю версию драйвера Marionette с https://github.com/mozilla/geckodriver/releases
  2. Переименовал его в wires и поставил на путь
  3. Запустил автономный веб-драйвер selenium 2.53.1 со свойством -Dwebdriver.gecko.driver=${path_to_driver} и использовал этот сервер.
  4. Установите marionette true в моих возможностях Firefox в моей конфигурации, например: multiCapabilities:[ { 'browserName': 'chrome' } }, { 'browserName': 'firefox', 'marionette' : true } ],
person sporkthrower    schedule 21.07.2016