当 Jenkins 和 nUnit 运行 selenium 测试时,浏览器不会出现但是有有效结果

When selenium test runs by Jenkins and nUnit, the browser doesn't come up however there are valid results

我会说我的问题是缺乏信息,我需要一些确认而不是真正的问题。似乎其他人也有类似的问题 question.

出于 POC 的原因,我组装了一台机器(Windows Server 2012R2),其中安装了 Jenkins 并使用 nunit 执行 Selenium UI 测试。 nunit 测试由 Specflow 生成。

我能做到:

在 Jenkins 上安装了 Selenium 插件,但我认为在这种情况下不会使用它,因为文本执行是关于执行 nunit 并且它处理其他所有事情。

目前我不需要将测试执行委托给其他 Jenkins 从机或机器的能力,因为 Jenkins 确实只有一个编译任务。编译、执行、测试运行ning可以并行进行,机器可以处理。

但是,当我登录 Jenkins 运行s 所在的服务器并观察 CI 构建(编译和测试执行)期间发生的情况时,我看不到浏览器(Firefox ) 启动,但是,测试结果和日志显示执行了浏览器。

到目前为止我做了什么:

如果我使用为服务设置的帐户远程访问机器,那么我看不到浏览器将被执行,但是,日志显示发生了一些事情。

我的问题是,当我的测试由 Jenkins 执行时发生了什么黑客攻击?如果我从同一台机器上的控制台执行 Jenkins 使用的命令,那么我可以看到 Firefox 启动,执行测试中编写的程序,结果在 result.xml 中。我可以接受结果作为有效结果吗?我能以某种方式设置 Jenkins 就像浏览器真正执行的那样吗(当我看到它时我会相信它:))?

我认为这是因为您 运行 Jenkins 作为一项服务。服务不显示在桌面上。解决方法是 运行 Jenkins 或来自 CMD 的奴隶。

Jenkins windows slave service does not interact with desktop