【问题标题】:Jenkins Setup for Selenium Grid to run automation on devices用于 Selenium Grid 的 Jenkins 设置以在设备上运行自动化
【发布时间】:2016-10-06 10:57:36
【问题描述】:

我一直在尝试在 Jenkins CI 上使用 selenium 网格创建集线器和注册节点。

我尝试创建“执行 shell”并首先运行 selenium 集线器执行此过程,并尝试在进一步的步骤中注册节点,但没有任何效果。如果我这样做。它只运行 Selenium Hub,但无法向它注册节点。

我尝试为 jenkins 安装 selenium 网格插件,但没有任何效果。

最后,我尝试创建三个不同的作业来启动和集线器并将节点注册到它。

我是否可以在单个作业中完成此过程,或者如果我运行启动集线器的第一个作业,然后其他两个作业应该自动启动该过程,是否仍然存在。

【问题讨论】:

  • 我相信你当然可以管道 jenkins 工作

标签: node.js selenium selenium-webdriver jenkins appium


【解决方案1】:

在 Jenkins 服务器上启动 hub 和注册节点是一次性的过程,您可以从终端完成。

或者

在 Jenkins 执行 shell 部分尝试以下命令:

  • 启动网格中心

    java -jar selenium-server-standalone-2.53.0.jar -role hub -timeout 300000 &

//不要忘记在末尾添加“&”以在后台运行此进程。

【讨论】:

  • 谢谢你成功了。无论如何在完成所有测试后停止构建。
  • Jenkins 构建将在所有测试完成后自动完成。如果要终止 Grid hub 和节点进程,可以使用端口号终止这些进程。例如,在构建后脚本中,您可以调用 fuser -k -n tcp 4444 // to kill grid hub fuser -k -n tcp 5555 // to kill grid node
  • Jenkins 的执行 shell 部分在哪里?
  • 在 Build 部分查看下拉菜单以选择执行 shell 选项。
【解决方案2】:

我认为您不能从 Jenkins 运行 Selenium Grid,除非该网格在用户会话的前台运行,以便有一个“空间”来运行浏览器。如果您将网格作为后台进程运行,它可能无法正常工作。您没有说您使用的是 Linux 还是 Windows,但无论哪种情况,我认为您都会遇到同样的问题。

【讨论】:

  • 我使用的是 OS X。我浏览了各种文档,但没有任何帮助。
  • 默认情况下,Selenium Grid Hub 包含一个注册到它的节点。您实际上不必将节点作为单独的 Java 进程运行。从字面上看,按照文档,使用默认选项启动 Grid,然后您可以导航到 Grid 管理 url 进行验证。容易。
猜你喜欢
  • 2016-08-24
  • 1970-01-01
  • 2021-10-30
  • 1970-01-01
  • 2016-05-31
  • 2011-10-16
  • 2016-02-15
  • 2014-09-08
  • 2018-12-02
相关资源
最近更新 更多