我正在尝试让Protactor.js单元测试并在Windows服务器上运行Jenkins,但是我无法让它运行。
目前这是我到目前为止的步骤:
#install protractor via package.json
cd ./src/My\ Editor/WebApp/Scripts/protractor && D:Jenkins/nodesjs/npm install
[其他构建步骤]
#start webdriver-manager
./src/My\ Editor/WebApp/Scripts/protractor/node_modules/protractor/bin/webdriver-manager start > /dev/null 2>&1 &
#wait until selenium up
while ! curl http://localhost:4444/wd/hub/status &>/dev/null
do
true
done
#run protractor
cd ./src/My\ Editor/WebApp/Scripts/protractor/node_modules/protractor/bin/
./protractor ../../../conf.js
#stop selenium
curl -s -L http://localhost:4444/selenium-server/driver?cmd-shutDownSeleniumServer > /dev/null 2>&1
一切顺利,直到命令'protractor conf.js'。我得到了这个输出:
[21:12:34]我/托管 - 在http://localhost:4444/wd/hub使用selenium服务器 [21:12:34] I / launcher - 运行WebDriver的1个实例 [21:12:34] E / launcher - 错误转发VM的新会话空池以进行设置功能[{count = 1,browserName = chrome}]
对我所做错的任何帮助表示赞赏,谢谢。
答案 0 :(得分:0)
是否有特定需要启动Selenium Server / hub? 如果您没有计划设置Selenium GRID并且只需要单独运行量角器测试脚本,则可以跳过启动服务器的部分。
您可以在seleniumAddress
中保留删除Protractor.conf.js
选项吗?这将使Protractor能够启动自己的selenium服务器&等到服务器完全启动并执行,并在执行完毕后关闭服务器
/**
* The address of a running Selenium Server. If specified, Protractor will
* connect to an already running instance of Selenium. This usually looks like
* seleniumAddress: 'http://localhost:4444/wd/hub'
*/
seleniumAddress?: string;
只需要步骤#run protractor
,然后由Protractor照顾