我正在尝试使用package.json从命令行运行我的量角器测试。
我的package.json如下所示-
{
"name": "ProtractorFramework",
"dependencies": {
"protractor": "^5.4.1"
},
"scripts": {
"webdriver-manager-update":"./node_modules/.bin/webdriver-manager update",
"webdriver-manager-start":"./node_modules/.bin/webdriver-manager start",
"protractor":"./node_modules/.bin/protractor configuration.js",
"start":"npm run webdriver-manager-update && npm run webdriver-manager-start && npm run protractor"
}
}
当我执行以下命令时-
从Project目录 npm run start
,Selenium Standalone服务器已启动,但最后一条命令未执行。这意味着浏览器没有打开。
要执行测试/打开浏览器,我被迫在另一个命令窗口中分别执行npm run protractor
。
我的package.json中是否存在无法同时执行所有三个命令的错误?
请帮助。
答案 0 :(得分:2)
请牢记,您不能将selenium服务器启动命令和test execute命令链接在一起。
webdriver-manager start
启动Selenium服务器,并将输出一堆信息日志。您的量角器测试将向该服务器发送请求以控制本地浏览器。保持该服务器运行。
运行webdriver-manager start
时,硒服务器将在命令提示符下运行。如果您关闭此命令提示符,则硒服务器将退出。
相反,您可以创建一个脚本,该脚本将打开一个新的命令提示符并运行webdriver-manager start
命令,如
"scripts": {
.....
"wdstart":"start cmd /k webdriver-manager start timeout 10 && npm run protractor"
......
}