在来自Jenkins的Windows VM中运行Selenium Test时无法打开浏览器

时间:2019-07-11 15:31:49

标签: windows selenium google-chrome jenkins

我们正尝试在Windows Slave上作为Gradle项目运行Jenkins的Selenium Tests。

我能够从bat命令gradle clean Smoke_Test启动Selenium,并且测试执行开始,但是它在后台打开浏览器(测试用例失败,并且它说它找不到要单击的按钮)。如果我在Windows VM上手动运行gradle clean Smoke_Test,它将启动Selenium,在Foreground中打开浏览器,并成功执行测试。

当詹金斯(Jenkins)启动硒测试时,是否可以使浏览器在前台打开?

我试图授予Jenkins-Slave Windows Service权限以允许服务与桌面交互,但是它仍然无法正常工作。

编辑:由于Windows Server是从服务器,因此我必须将Jenkins作为服务运行。由于企业限制,我无法运行java -jar Jenkins.warenter image description here

2 个答案:

答案 0 :(得分:2)

通过服务在某些桌面上进行交互访问非常棘手,几年前我就浪费了时间,但又回到了不太优雅但有效的解决方案:为某些用户配置自动登录并在自动启动中启动一些bat文件来启动通过jnlp选项连接到jenkins。编辑:最好等待几秒钟,然后从服务器下载agent.jar,然后在其上启动连接。

但是请注意,对于Java 11,将删除jnlp选项。然后可能需要一些特殊的插件。

答案 1 :(得分:0)

正如@Greg所述,我正在尝试解决一个错误的问题。由于我的Chrome驱动程序,通过Jenkins执行我的测试用例失败。我将Chrome驱动程序更改为Headless版本,并通过了测试用例(当然,Chrome在后台运行!)。