【问题标题】:Jenkins doesn't launch the application under test on chromebrowserJenkins 没有在 chrome 浏览器上启动正在测试的应用程序
【发布时间】:2015-12-04 20:08:19
【问题描述】:

我遇到了一个我以前从未见过的关于 Jenkins 的问题,我想我会得到一些建议。 Jenkins 不会在 chrome 浏览器上启动 AUT 来运行 selenium 测试。

我遵循的步骤:

  1. Jenkins Master 和 Slave 设置在同一台机器上。不是作为 Windows 服务,但我通过命令提示符手动启动它们
  2. 我在 Slave 节点上设置了一个项目,其中包含 2 个构建步骤。一个用于 MSBuild(我下载了插件)构建解决方案,第二步用于执行将启动测试的 windows 批处理命令
  3. 我还有一个 TFS 插件来获取解决方案的服务器版本以在 Jenkins 上构建
  4. 所以当我在 Jenkins Slave 上构建作业时,
  5. 解决方案构建成功,没有任何错误
  6. 然后对于下一个构建步骤,Jenkins 执行 windows 批处理命令并加载 .dll 文件。说“开始执行……”
  7. Chrome 驱动程序启动。它会打开 chrome 浏览器
  8. 但 chrome 浏览器不会启动 AUT。它只是尝试加载它并无限期保持不变,直到我的 Jenkins 工作超时
  9. 发生这一切后,我的 CPU 利用率达到了 100%。在本地主机上运行 Jenkins UI 和 Java.exe*32 的浏览器会充分利用它
  10. 当 Jenkins 未运行并且成功启动 AUT 并运行测试时,我在命令提示符中运行了完全相同的 MSTest.exe 命令(我在构建步骤中输入的)
  11. 当 Jenkins 运行时,我在命令提示符中运行了完全相同的 MSTest.exe 命令(我在构建步骤中输入的)。它再次使 CPU 达到 100%,并且 AUT 永远不会启动

有什么想法吗?

【问题讨论】:

  • 您使用的是最新的 Chromedriver 2.20 吗?

标签: google-chrome selenium jenkins mstest


【解决方案1】:

我也遇到了这个问题,解决方法如下。

基本上jenkins slave必须通过批处理作业从启动开始。

这是一步一步的过程。

节点网址:http://host:port/computer/nodeName/

  1. 转到节点“节点 URL”
  2. 点击“将此节点标记为暂时离线”
  3. 转到运行 slave 的机器。
  4. 在管理员模式下打开命令提示符。
  5. cd 到 jenkins 的安装位置
  6. 执行 jenkins-slave 卸载
  7. 转到服务(在运行中键入服务)并停止运行 jenkins 从站
  8. 重启机器。
  9. cd C:\Users\myUserName\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动
  10. 使用以下内容创建一个新的批处理作业(名称为 LaunchJenkinsSlave.bat)

> java -jar C:/Jenkins/slave.jar -jnlpUrl http://host:port/computer/nodeName/slave-agent.jnlp -secret yourSecret

netsh advfirewall firewall set rule group="remote desktop" new enable=Yes

  1. 重启你的机器。

观察:Jenkins slave 会自动启动 12. 转到“节点 URL” 并使节点重新联机。

希望这会有所帮助。

【讨论】:

  • 似乎不是问题的相关解决方案
猜你喜欢
  • 2011-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-14
  • 1970-01-01
  • 1970-01-01
  • 2017-06-11
  • 2014-06-24
相关资源
最近更新 更多