【发布时间】:2018-10-18 21:28:17
【问题描述】:
我正在尝试在我的一个 windows asp.net (mvc->angular) 项目上设置 E2E 测试。 我们使用团队城市进行构建,所以我希望我的配置在我的盒子和构建盒子上工作。
我一直在尝试设置 conf.js 中的值,以便量角器在量角器需要时自动启动和停止...
我通过这样的批处理文件运行它:
call npm install -g
call C:\Users\brown.ericw\AppData\Roaming\npm\protractor conf.js
pause
当我手动运行 selenium 时一切正常。
但我只是想不出正确的 conf.js 来自动启动和关闭 selenium(在 bat 文件中停止它并不总是有效,尽管有几种不同的方法)。
我尝试了很多不同的组合,但我很难过。
这是我的 conf.js 的相关部分:
exports.config = {
seleniumjar: '.\node_modules\protractor\selenium\selenium-server-standalone-2.45.0.jar',
//seleniumArgs: '-Dwebdriver.chrome.driver="\node_modules\protractor\selenium\chromedriver',
//chromeDriver: '.\node_modules\protractor\selenium\chromedriver',
//chromeDriver: '.\node_modules\protractor\bin\webdriver-manager',
chromeDriver: 'C:\Users\Brown.ericw\AppData\Roaming\npm\node_modules\protractor\selenium\chromedriver',
//seleniumAddress: 'http://localhost:4444/wd/hub',
specs: [
'e2eTests/*.js'
],
我在我的项目文件夹下安装了量角器,所以我运行 npm install,所以我知道在构建/测试服务器上运行开始时它都是 kosher。
这是我遇到的错误.. 显然我无法弄清楚如何让它指向 chrome 驱动程序...
D:\TFS\TACAdmin3G_Test_E2E>调用 C:\Users\brown.ericw\AppData\Roaming\npm\protractor conf.js [启动器] 进程退出,错误代码为 1 C:\Users\Brown.ericw\AppData\Roaming\npm\node_modules\protractor\node_modules\q\ q.js:126 扔 e; ^ 错误:在 D:\TFS\TACAdmin3G\node_modules\protractor\selenium\chromedriver 找不到 chromedriver 在 LocalDriverProvider.addDefaultBinaryLocs_ (C:\Users\Brown.ericw\AppData\R oaming\npm\node_modules\protractor\lib\driverProviders\local.js:54:15) 在 LocalDriverProvider.setupEnv (C:\Users\Brown.ericw\AppData\Roaming\npm\no de_modules\protractor\lib\driverProviders\local.js:71:8) 在 Runner.run (C:\Users\Brown.ericw\AppData\Roaming\npm\node_modules\protrac tor\lib\runner.js:265:31) 在 TaskRunner.run (C:\Users\Brown.ericw\AppData\Roaming\npm\node_modules\pro 拖拉机\lib\taskRunner.js:123:19) 在 createNextTaskRunner (C:\Users\Brown.ericw\AppData\Roaming\npm\node_modul es\protractor\lib\launcher.js:220:20) 在 C:\Users\Brown.ericw\AppData\Roaming\npm\node_modules\protractor\lib\laun cher.js:243:7 在 _fulfilled (C:\Users\Brown.ericw\AppData\Roaming\npm\node_modules\protrac tor\node_modules\q\q.js:797:54) 在 self.promiseDispatch.done (C:\Users\Brown.ericw\AppData\Roaming\npm\node_ 模块\量角器\node_modules\q\q.js:826:30) 在 Promise.promise.promiseDispatch (C:\Users\Brown.ericw\AppData\Roaming\npm \node_modules\protractor\node_modules\q\q.js:759:13) 在 C:\Users\Brown.ericw\AppData\Roaming\npm\node_modules\protractor\node_mod ules\q\q.js:573:44
由于路径中有空格,我尝试更改斜杠,然后它又变回了正常路径:
Error: Could not find chromedriver at D:\TFS\TACAdmin3G\_Test_E2E\..
这并没有给我完整的路径。
chromedriver.exe 位于 conf.js 中各种注释版本的所有位置。但每个人都没有快乐。
我需要使用相对路径,因为我的盒子上的根文件夹与构建服务器上的不同。
非常感谢任何帮助。
忘了说我看了这个:Protractor does not find chromedriver: The driver executable does not exist: 还有这个
how to close selenium webdriver at end of test?
没能弄明白
【问题讨论】:
-
抱歉,复制了,但分心了,没有粘贴,现在可以了,谢谢!
-
您是在本地服务器还是在构建服务器上收到此错误。记住 chrome 可能没有安装在团队城市服务器上
-
在构建服务器上...我会检查 chrome。谢谢!我检查了 Chrome 是否安装在构建服务器上。
标签: selenium-webdriver protractor selenium-chromedriver