【问题标题】:Is there a way to cancel running tests in Selenium Grid?有没有办法取消 Selenium Grid 中的运行测试?
【发布时间】:2023-03-07 07:03:01
【问题描述】:

我们有一个设置,我们使用 Selenium 在 Java 中实现了 UI 测试。测试运行器是 JUnit,我们使用 maven 进行构建。 我们希望在持续集成中实现的是,我们只使用 maven 的(肯定的)测试目标以并行方式在 Selenium Grid 上运行我们的 UI 测试。 到目前为止,我发现了 2 个阻碍我们这样做的问题。

  1. 我认为我们可以以某种方式将所有测试发送到 Selenium Grid hub,它会处理并行化,但似乎如果我想在网格的 20 个节点上运行 1000 个测试(每个使用 5 个浏览器)比我的 Jenkins 机器上实际需要 100 个线程来执行 maven 测试目标。有什么方法可以并行化测试而不需要在执行器机器上创建相同数量的线程?

  2. 1234563测试然后测试继续在 Selenium Grid 中执行。有什么办法可以取消这些测试?我在 Selenium API 中一无所获。 (甚至在集线器的未记录的 REST API 中也没有)。基本上,如果我向网格发送一些测试,阻止它们的唯一方法是杀死节点(或集线器)。有什么解决方法吗?

提前致谢!

【问题讨论】:

    标签: java maven selenium-grid2 parallel-testing


    【解决方案1】:
    1. 您可以在 testng.xml 中使用“parallel”参数(文档:http://testng.org/doc/documentation-main.html#parallel-running)。之后,您可以通过向它们添加参数(browserName、browserVersion、nodeName 等...)并根据参数更改程序中 RemoteWebDriver 的功能来轻松设置每个测试。

    2. 我找到了这个,也许对你有帮助:How to kill thread in a Selenium Grid node

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-04
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多