【发布时间】:2015-06-02 23:28:33
【问题描述】:
我见过几个其他线程处理类似的问题,但不一样。我正在使用直接连接到浏览器,ChromeDriver 偶尔无法启动并出现以下错误。看起来我可以在配置文件中设置一些浏览器超时,只是无法弄清楚。 conf.js 看起来像
'use strict';
exports.config = {
/* seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
** enables to connect to the browsers directly.
** http://stackoverflow.com/questions/27889488/cannot-run-protractor-on-internet-explorer-11
*/
directConnect: true,
specs: ['giftengHomePageTests.js'],
multiCapabilities: [{
'browserName': 'chrome'
}, {
'browserName': 'firefox'
},
/**
* {
* 'browserName': 'internet explorer'
* }
* */
],
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
isVerbose: true
},
onPrepare: function () {
browser.driver.manage().window().maximize();
}
}
[chrome #1] 直接使用 ChromeDriver...
[chrome #1] 错误 - 无法启动 WebDriver 会话。
[chrome #1] 错误:监听 EACCES
错误更新
我已经多次运行这些相同的测试,现在在 Firefox 驱动程序上出现故障。很不规则
"D:\Program Files (x86)\JetBrains\WebStorm 9.0.3\bin\runnerw.exe" "D:\Program Files\nodejs\node.exe" d:\Users\Saifur\AppData\Roaming\ npm\node_modules\protractor\lib\cli.js 规范\smoke\conf.js [启动器] 运行 2 个 WebDriver 实例
[火狐#2] PID:5748 [firefox #2] 规格:e:\working\protractor-e2e\specs\smoke\giftengHomePageTests.js [火狐#2] [firefox #2] 直接使用FirefoxDriver... [firefox #2] 错误 - 无法启动 WebDriver 会话。 [firefox #2] 错误:监听 EACCES [firefox #2] 在exports._errnoException (util.js:746:11) [firefox #2] 在 Server._listen2 (net.js:1112:19) [firefox #2] 在听 (net.js:1155:10) [firefox #2] 在 Server.listen (net.js:1240:5) [firefox #2] 在 isFree (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\net\portprober.js:165:10) [firefox #2] 在 findPort (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\net\portprober.js:197:7) [firefox #2] 在 d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\net\portprober.js:186:5 [firefox #2] 在 [object Object].promise.ControlFlow.runInFrame_ (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1877: 20) [firefox #2] 在 [object Object].promise.Callback_.goog.defineClass.notify (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise. js:2464:25) [firefox #2] 在 [object Object].promise.Promise.notify_ (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:563: 12) [firefox #2] 来自:任务:WebDriver.createSession() [firefox #2] 在 Function.webdriver.WebDriver.acquireSession_ (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:155:22) [firefox #2] 在 Function.webdriver.WebDriver.createSession (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:129:30) [firefox #2] 在新驱动程序 (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\firefox\index.js:272:36) [firefox #2] 在 [object Object].DirectDriverProvider.getNewDriver (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\lib\driverProviders\direct.js:75:16) [firefox #2] 在 [object Object].Runner.createBrowser (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\lib\runner.js:180:37) [firefox #2] 在 d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\lib\runner.js:257:21 [firefox #2] 在 _fulfilled (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:797:54) [firefox #2] 在 self.promiseDispatch.done (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:826:30) [firefox #2] 在 Promise.promise.promiseDispatch (d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:759:13) [firefox #2] 在 d:\Users\Saifur\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:573:44
[launcher] Runner 进程意外退出,错误代码:1 [启动器] 1 个 WebDriver 实例仍在运行
..
[chrome #1] PID:8084 [chrome #1] 规格:e:\working\protractor-e2e\specs\smoke\giftengHomePageTests.js [铬#1] [chrome #1] 直接使用 ChromeDriver... [chrome #1] 礼物腾页面 [chrome #1] 应该在模态框中弹出登录 - 通过 [chrome #1] 警告 - 为定位器找到多个元素 By.xpath("//img[contains(@src,'welcome/gift.jpg')]") - 将使用第一个结果 [chrome #1] 应该导航到gifteng Give 页面 - 通过 [铬#1] [铬#1] [chrome #1] 在 7.522 秒内完成 [chrome #1] 2 次测试,2 次断言,0 次失败 [铬#1] [启动器] 0 个 WebDriver 实例仍在运行 [启动器] firefox #2 失败,退出代码:1 [启动器] chrome #1 通过 [启动器] 总体:1 个进程未能完成 [启动器] 进程退出,错误代码 100
进程以退出代码 100 结束
【问题讨论】:
-
您能否分享一下您是如何开始
protractor并在可能的情况下发布完整的回溯?谢谢。 -
@alecxe 感谢您的回复。我在GitHub 有所有代码。我的互联网中断了,我将尝试获取完整的堆栈跟踪
-
谢谢。克隆并尝试了它 - 对我来说没有错误。能否给我以下 3 个命令的输出:
$ webdriver-manager status、$ which webdriver-manager和$ chromedriver --version? -
@alecxe 刚刚运行了所有三个并得到了
C:\working\protractor-e2e\protractor-e2e>webdriver-manager status selenium standalone is not present chromedriver is not present IEDriver is not present C:\working\protractor-e2e\protractor-e2e>which webdriver-manager 'which' is not recognized as an internal or external command, operable program or batch file. C:\working\protractor-e2e\protractor-e2e>chromedriver --version 'chromedriver' is not recognized as an internal or external command, operable program or batch file.但是我的测试运行良好。 -
另外,我在家用机器上遇到了错误。另外,这个错误并不总是发生。这是非常随机的
标签: angularjs selenium selenium-webdriver webdriver protractor