问题
I can not start the test with protractor on firefox version 56.0.1. my protractor version is 5.1.2
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'firefox'
},
directConnect: true,
baseUrl: 'http://localhost:4444/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
};
this is the error:
[00:02:20] I/launcher - Running 1 instances of WebDriver
[00:02:20] I/direct - Using FirefoxDriver directly...
[00:02:27] E/launcher - Unable to parse new session response: {"value": {"sessionId":"e9d08604-1d7e-4870-85d7-4e09a2248ffa","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"56.0.1","moz:accessibilityChecks":false,"moz:headless":false,"moz:processID":5804,"moz:profile":"C:\\Users\\s\\AppData\\Local\\Temp\\rust_mozprofile.sWpsKwszgKSw","pageLoadStrategy":"normal","platformName":"windows_nt","platformVersion":"6.1","rotatable":false,"specificationLevel":0,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000}}}}
[00:02:27] E/launcher - WebDriverError: Unable to parse new session response: {"value": {"sessionId":"e9d08604-1d7e-4870-85d7-4e09a2248ffa","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"56.0.1","moz:accessibilityChecks":false,"moz:headless":false,"moz:processID":5804,"moz:profile":"C:\\Users\\s\\AppData\\Local\\Temp\\rust_mozprofile.sWpsKwszgKSw","pageLoadStrategy":"normal","platformName":"windows_nt","platformVersion":"6.1","rotatable":false,"specificationLevel":0,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000}}}}
at WebDriverError (C:\Users\s\WebstormProjects\Co\node_modules\selenium-webdriver\lib\error.js:27:5)
at doSend.then.response (C:\Users\s\WebstormProjects\Common_IDE\node_modules\selenium-webdriver\lib\http.js:445:19)
at process._tickCallback (internal/process/next_tick.js:109:7)
From: Task: WebDriver.createSession()
at Function.createSession (C:\Users\s\WebstormProjects\Co\node_modules\selenium-webdriver\lib\webdriver.js:777:24)
at Function.createSession (C:\Users\s\WebstormProjects\Co\node_modules\selenium-webdriver\firefox\index.js:640:55)
at Direct.getNewDriver (C:\Users\s\WebstormProjects\Co\node_modules\protractor\lib\driverProviders\direct.ts:112:25)
at Runner.createBrowser (C:\Users\s\WebstormProjects\Co\node_modules\protractor\lib\runner.ts:225:39)
at q.then.then (C:\Users\s\WebstormProjects\Co\node_modules\protractor\lib\runner.ts:391:27)
at _fulfilled (C:\Users\s\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:834:54)
at self.promiseDispatch.done (C:\Users\s\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:863:30)
at Promise.promise.promiseDispatch (C:\Users\saeed\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:796:13)
at C:\Users\s\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:556:49
at runSingle (C:\Users\s\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:137:13)
[00:02:27] E/launcher - Process exited with error code 199
do you have any idea how to solve this problem . (it it work normally with chrome but shows empty page with firefox)
回答1:
With geckodriver, you'll need to add marionette to the capabilities:
capabilities: {
'browserName': 'firefox',
'marionnette': true
},
UPDATE: There is a open issue #4253 introduced in Protractor 5.1.1 . The workaround is to manually replace directConnect
with seleniumAddress
and manually start webdriver-manager
as specified in the bug:
The solution is to use selenium standalone when testing with Firefox. The latest version of the selenium standalone server is compatible with Protractor's selenium JS bindings and with geckodriver. You can update and launch the standalone server with
webdriver-manager update webdriver-manager start
and set
seleniumAddress: http://localhost:4444
回答2:
If you are opting for directconnect then you dont need to specify the base url and don't need to start explicitly the webdriver server.
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'firefox'
},
directConnect: true,
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
};
回答3:
In my case, running it with 'sudo' did not work. I had to change file permissions and then ran it without sudo.
来源:https://stackoverflow.com/questions/46746046/protractor-failed-to-start-test-with-firefox