3

我正在尝试使用 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"


}
}

当我执行以下命令时 -

npm run start从 Project 目录中,Selenium Standalone 服务器已启动,但最后一个命令未执行。这意味着,浏览器没有打开。

要执行测试/打开浏览器,我被迫npm run protractor在另一个命令窗口中单独执行。

我的 package.json 中是否有任何错误导致我无法同时执行所有三个命令?

请帮忙。

4

1 回答 1

2

Prabodh 你不能链接 selenium 服务器启动命令和测试执行命令。

webdriver-manager start启动一个 Selenium 服务器并输出一堆信息日志。您的 Protractor 测试将向该服务器发送请求以控制本地浏览器。让此服务器保持运行。

当您运行webdriver-manager startselenium 服务器时,将在命令提示符下运行。如果关闭此命令提示符,则无法关闭它,然后 selenium 服务器将退出。

相反,您可以创建一个脚本,该脚本将打开一个新的命令提示符并运行如下webdriver-manager start命令

  "scripts": {    
       ..... 
       "wdstart":"start cmd /k webdriver-manager start timeout 10 && npm run protractor"
        ......
       }
于 2018-12-17T06:05:49.403 回答