我正试图用硒和量角器进行量角器测试 . 要在我的电脑上执行此操作,我将在控制台1上启动selenium服务器:
webdriver-manager update
webdriver-manager start
然后在控制台2上我启动测试:
protractor test.config.js
我想在詹金斯做同样的事情 . 问题是,启动硒后我无法做任何事情,因为控制台在运行selenium服务器时被锁定 . 所以我需要的是在后台(并行)启动selenium服务器到其他进程 . 我对吗?也许有一个Jenkins插件来实现这一目标?
===编辑
谢谢你的回复 . 最后我决定不使用无头浏览器,而是使用selenium-plugin在远程机器上运行测试 . 但是我发现了配置我的测试环境的其他问题 . 到目前为止我所取得的成就是 Build 了硒中心与节点之间的连接 . 当我执行我的protractor.config.js文件时,我有以下错误:
E/launcher - Error: Error: Could not find chromedriver
我不明白的是如何设置驱动程序的路径?应该是哪个驱动程序,来自集线器或来自主机的驱动程序 . 在selenium-plugin配置页面中有一个输入来设置 Chromedriver path
但不考虑它 . 我也尝试在 protractor.conf.js
文件中设置 chromeDriver
param,但我仍然收到同样的错误 . 这是我的 protractor.config.js
:
exports.config = {
directConnect: true,
// path to driver on node server
chromeDriver: '/usr/local/lib/node_modules/selenium-standalone/.selenium/chromedriver/2.21-x64-chromedriver',
// path to driver on hub server
// chromeDriver: '/u01/apps/jenkins/data/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.12.0/lib/node_modules/selenium-standalone/.selenium/chromedriver/2.21-x64-chromedriver',
// Capabilities to be passed to the webdriver instance.
capabilities: {
'browserName': 'chrome',
shardTestFiles: true,
maxInstances: 3
},
...
};
2 回答
Two 快速的工作和 One 我能想到的理想情况:
work-around1: 将在单独的
bat
文件中运行webdriver manager
并在批处理脚本中调用它(Windows环境)server.bat
batch script
work-around2: 将摆脱
webdriver-manager
并在config
文件中使用directConnect= true
,如果设置,它将直接与firefox和chrome浏览器交互 .Noe:Chrome浏览器有一个开销 . 您需要执行
webdriver-manager update
以下载Chrome驱动程序或手动将其放在特定位置 .Ideal Case 将测试环境与始终运行的
selenium server
的测试环境分开是一种很好的做法 . 有两个好的提供者Saucelabs
&BrowserStack
你可以根据你的需要选择其中任何一个 . 我希望这会给你一些理解!这就是我们如何做到的:
在build下,添加一个“Execute Shell”步骤并执行类似的操作:
然后,这将在运行该作业的Jenkins从站上执行 .
希望能帮助到你 . :)