Ako*_*s K 3 selenium node.js angularjs protractor
我在编写用于启动量角器测试的npm脚本时遇到麻烦。遵循文档https://github.com/angular/protractor/blob/master/docs/server-setup.md似乎首先我必须运行
webdriver-manager start
Run Code Online (Sandbox Code Playgroud)
并在我开始实际测试时使其运行
./node_modules/.bin/protractor test/integration/conf.js
Run Code Online (Sandbox Code Playgroud)
我希望这两个步骤可以在一个npm脚本中执行,所以最终会得到这样的结果:
"scripts": {
"protractor-update": "./node_modules/.bin/webdriver-manager update",
"protractor-start": "./node_modules/.bin/webdriver-manager start",
"protractor-init": "npm run protractor-update && npm run protractor-start",
"test-protractor": "npm run protractor-start && ./node_modules/.bin/protractor test/integration/conf.js",
},
Run Code Online (Sandbox Code Playgroud)
现在很明显的问题是,./node_modules/.bin/webdriver-manager start它不会返回退出代码,因此它永远不会执行下一个命令。
实现这一目标的正确方法是什么?
小智 5
我和你有同样的问题。这是我在StackOverflow上浏览并在同事的帮助下找到的解决方案。
在package.json中:
"scripts": {
"e2e": "bash run-e2e-tests.sh"
}
Run Code Online (Sandbox Code Playgroud)
bash文件:
# Start selenium server and trash the verbose error messages from webdriver
webdriver-manager start 2>/dev/null &
# Wait 3 seconds for port 4444 to be listening connections
while ! nc -z 127.0.0.1 4444; do sleep 3; done
# run protractor
protractor test/e2e/conf.js
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3136 次 |
| 最近记录: |