我正在尝试加载Firefox以使用selenium测试我的Web应用程序。我在SessionNotCreatedError: Unable to create new service: GeckoDriverService
中指定firefox时出现capabilities
错误。这是它的样子:
var config = {
sauceUser: process.env.SAUCE_USERNAME,
sauceKey: process.env.SAUCE_ACCESS_KEY,
framework: 'jasmine2',
capabilities: {
browserName: 'firefox',
version: '57.0',
'screenResolution': '1920x1440'
},
specs: [
'*.spec.js'
],
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 300000,
print: function() {}
},
params: {
defaultTimeout: 15000
}
};
以下是我的环境的详细信息:
OS: Ubuntu 16.04 LTS 64bit
Firefox: Quantum 57 64 bit
Selenium: 3.7.1
webdriver-manager: 12.0.6
gecko driver: 0.19.1
Protractor: 5.2.0
当我运行我的量角器端到端测试用例时,它会抛出此错误:
[13:14:58] E/launcher - SessionNotCreatedError: Unable to create new service: GeckoDriverService
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.10.0-38-generic', java.version: '1.8.0_151'
Driver info: driver.version: unknown
at Object.checkLegacyResponse (/home/dev/node_modules/selenium-webdriver/lib/error.js:546:15)
at parseHttpResponse (/home/dev/node_modules/selenium-webdriver/lib/http.js:509:13)
at doSend.then.response (/home/dev/node_modules/selenium-webdriver/lib/http.js:441:30)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.createSession()
at Function.createSession (/home/dev/node_modules/selenium-webdriver/lib/webdriver.js:769:24)
at Function.createSession (/home/dev/node_modules/selenium-webdriver/firefox/index.js:521:41)
at createDriver (/home/dev/node_modules/selenium-webdriver/index.js:170:33)
at Builder.build (/home/dev/node_modules/selenium-webdriver/index.js:632:16)
at Local.getNewDriver (/home/dev/node_modules/protractor/built/driverProviders/driverProvider.js:53:33)
at Runner.createBrowser (/home/dev/node_modules/protractor/built/runner.js:195:43)
at q.then.then (/home/dev/node_modules/protractor/built/runner.js:339:29)
at _fulfilled (/home/dev/node_modules/protractor/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/home/dev/node_modules/protractor/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/home/dev/node_modules/protractor/node_modules/q/q.js:796:13)
[13:14:58] E/launcher - Process exited with error code 199
我尝试使用 selenium 和 gecko驱动程序的更新版本,但这也无济于事。
我添加了marionette: true
,但仍然遇到了同样的错误。我也试过"javascriptEnabled": true, "acceptSslCerts": true
但没有成功。
答案 0 :(得分:0)
使用geckodriver@1.10.0和Firefox 57.0(64位)时,它对我有用。
答案 1 :(得分:-1)
请尝试以下解决方案:
DesiredCapabilities caps = DesiredCapabilities.firefox();
caps.setcapabilities("platform","Windows 7"); // you can modify as per your system
caps.setcapabilities("version","57.0"); //modify it to your desired version
caps.setcapabilities("marionette","true");
driver = new RemoteWebDriver(new URL(url), caps); // replace url to your saucelab url
我希望这会有所帮助