2017-02-14 8 views
0

При попытке запустить мой очень простой набор тестов, что я наконец-то начал строить из - я получаю это из журнала ошибок:транспортир не может работать в Firefox (отлично работает в Chrome)

WebDriverError: Firefox option was set, but is not a FirefoxOption: {} 

Я бегу следующие версии:

  • Узел v7.5.0
  • транспортир V5.1.1
  • Селен WebDriver v3.0.1
  • Firefox v45.0.1 и теперь v51.0.1

Полный дамп ошибка:

[00:44:20] I/testLogger - [firefox #11] PID: 77949 
[firefox #11] Specs: /Users/meetbryce/Dropbox (Personal)/Code/Projects/HelloMetrics/utm-link-manager/protractor/auth/login.spec.js 
[firefox #11] 
[firefox #11] (node:77949) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead. 
[firefox #11] [00:44:20] I/hosted - Using the selenium server at http://localhost:4444/wd/hub 
[firefox #11] 
[firefox #11] /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:505 
[firefox #11]   throw new ctor(message); 
[firefox #11]    ^
[firefox #11] WebDriverError: Firefox option was set, but is not a FirefoxOption: {} 
[firefox #11] Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700' 
[firefox #11] System info: host: 'bryceyork.local', ip: '10.40.66.60', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.1', java.version: '1.8.0_91' 
[firefox #11] Driver info: driver.version: FirefoxDriver 
[firefox #11]  at Object.checkLegacyResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:505:15) 
[firefox #11]  at parseHttpResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:509:13) 
[firefox #11]  at doSend.then.response (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:440:13) 
[firefox #11]  at process._tickCallback (internal/process/next_tick.js:103:7) 
[firefox #11] From: Task: WebDriver.createSession() 
[firefox #11]  at Function.createSession (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:777:24) 
[firefox #11]  at Function.createSession (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/firefox/index.js:640:55) 
[firefox #11]  at createDriver (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/index.js:167:33) 
[firefox #11]  at Builder.build (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/index.js:629:16) 
[firefox #11]  at Hosted.getNewDriver (/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:52:33) 
[firefox #11]  at Runner.createBrowser (/usr/local/lib/node_modules/protractor/built/runner.js:194:43) 
[firefox #11]  at q.then.then (/usr/local/lib/node_modules/protractor/built/runner.js:338:29) 
[firefox #11]  at _fulfilled (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:834:54) 
[firefox #11]  at self.promiseDispatch.done (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:863:30) 
[firefox #11]  at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:796:13) 

[00:44:20] I/testLogger - 

[00:44:20] E/launcher - Runner process exited unexpectedly with error code: 1 
[00:44:20] I/launcher - 1 instance(s) of WebDriver still running 
..[00:44:27] I/testLogger - 
------------------------------------ 

[00:44:27] I/testLogger - [chrome #01] PID: 77948 
[chrome #01] Specs: /Users/meetbryce/Dropbox (Personal)/Code/Projects/HelloMetrics/utm-link-manager/protractor/auth/login.spec.js 
[chrome #01] 
[chrome #01] (node:77948) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead. 
[chrome #01] [00:44:20] I/hosted - Using the selenium server at http://localhost:4444/wd/hub 
[chrome #01] Started 
[chrome #01] log: [] 
[chrome #01] log: [] 
[chrome #01] 
[chrome #01] 
[chrome #01] 
[chrome #01] 2 specs, 0 failures 
[chrome #01] Finished in 5.816 seconds 
[chrome #01] 

[00:44:27] I/testLogger - 

[00:44:27] I/launcher - 0 instance(s) of WebDriver still running 
[00:44:27] I/launcher - firefox #11 failed with exit code: 1 
[00:44:27] I/launcher - chrome #01 passed 
[00:44:27] I/launcher - overall: 1 process(es) failed to complete 
[00:44:27] E/launcher - Process exited with error code 100 

Process finished with exit code 100 

Вот мой транспортир конфигурации в случае, если это важно:

exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['**/*.spec.js'], 
    multiCapabilities: [ 
     { 
      'browserName': 'chrome', 
      'loggingPrefs': { 
       'driver': 'WARNING', 
       'server': 'WARNING', 
       'browser': 'SEVERE' 
      } 
     }, 
     { 
      'browserName': 'firefox' 
     } 
    ] 
}; 
+2

Попробуйте следующее: 'возможности: {имя_файла: 'firefox', marionette: false}' – FCin

+0

@FCin, похоже, сделал что нибудь. получение 'Вы не можете использовать пользовательский исполнитель команды с устаревшим FirefoxDriver' как ошибку, хотя ... –

ответ

1

был точно такой же проблемой. Запущенный сегодня «обновление WebDriver-менеджер» А потом все работало нормально

EDIT: update command

+1

Всегда рекомендуется добавлять детали с ответом; подробности обновления в этом случае. –

+1

Не думал, что нужно объяснить, как запустить команду cmd, но здесь она идет! Спасибо, что наполнили меня на SO etiquette tho –

-2

добавить следующее в файл конф

capabilities: {browserName: 'firefox'} 
+0

это уже есть ... –

0

Извините, возможно, комментарий может только ответ - кто-то в прошлом, по-видимому, была аналогичная проблема: https://github.com/seleniumhq/selenium/issues/3115

Я также могу воспроизвести это - И я тоже недавно сделал обновление WebDriver-менеджер

0

Для любых версий Firefox ниже V48 вы должны работать с унаследованной FirefoxDriver. Установка marionette: false как @FCin suggested in his comment скажет selenium-webdriver использовать устаревший FirefoxDriver, но позже он выйдет из строя with the error you described, потому что он не может работать с использованием автономного сервера Selenium. Для того, чтобы заставить его работать, вы также должны будете удалить seleniumAddress из вашей конфигурации и заменить его directConnect: true следующим образом:

exports.config = { 
    framework: 'jasmine', 
    directConnect: true, 
    specs: ['**/*.spec.js'], 
    multiCapabilities: [ 
     { 
      'browserName': 'chrome', 
      'loggingPrefs': { 
       'driver': 'WARNING', 
       'server': 'WARNING', 
       'browser': 'SEVERE' 
      } 
     }, 
     { 
      'browserName': 'firefox' 
     } 
    ] 
}; 

К сожалению, ошибка была введена в транспортир v5.1.0, что сломал интеграции с наследием FirefoxDriver. Вам нужно будет понизить его до версии v.0.0.0, если вы хотите запустить на Firefox v45.0.1