通过jenkins slave启动Chrome浏览器的selenium测试

时间:2011-09-14 21:37:05

标签: java selenium selenium-rc jenkins

我有以下jenkins设置 - centOS上的主节点,Windows Server 2008 R2上的从节点(作为Windows服务运行)。 二手selenium服务器:2.5.0 测试使用的是Selenium 1 API。

我正在启动hudson作业,试图在windows slave节点上运行简单的selenium测试。 启动字符串如下:ant run-tests -Dhost=localhost "-Dbrowser-type=*googlechrome"

作业失败并出现以下错误:

[testng] java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser session: org.openqa.selenium.os.WindowsRegistryException: Problem while managing the registry, OS Version '6.1', regVersion1 = false
[testng] Build info: version: '2.5.0', revision: '13516', time: '2011-08-23 18:29:57'
[testng] System info: os.name: 'Windows Server 2008 R2', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_26'
[testng] Driver info: driver.version: unknown
[testng]    at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:104)
[testng]    at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:109)
[testng]    at com.frostdigital.framework.DefaultUITest.startSelenium(Unknown Source)
....

如果我通过RDP连接到该工作站并手动执行此命令,则一切正常。 在firefox上运行测试的工作也能正常工作。

任何可能导致此问题的建议?

3 个答案:

答案 0 :(得分:2)

当我运行Jenkins是一个Windows服务时我遇到过这个问题,他们无法打开Windows(据我所知)所以浏览器永远不会打开。通过Web界面启动从属设备一次并尝试这种方式。我的赌注是浏览器至少会打开。

答案 1 :(得分:1)

仅供参考,我们在运行Windows服务的TeamCity构建代理时遇到了同样的问题 - 我们的解决方案是进入服务属性的“登录”选项卡,然后选中“允许服务与桌面交互”。 / p>

答案 2 :(得分:0)

对我来说,通过使用本地系统帐户以外的帐户登录Windows服务来解决问题。顺便说一句,我的设置是Windows 7上的Selenium 2.20。