0

我正在尝试设置自动硒测试,但不知道如何在多个浏览器中运行测试。根据在线阅读的内容,我已经启动并运行了多个浏览器的 selenium 网格,它成功地执行了我的测试。

我试图弄清楚如何设置我的 junit 测试,以便它可以一个接一个或并行运行所有浏览器。这是我的代码:

selenium = new DefaultSelenium("grid.host.here", "4444", "*firefox", "http://host.com");

使用此代码它只运行 firefox,我如何告诉它运行 firefox、iexplore 和 safari 而不创建对象的新实例?我在 PHP 和 Python 中看到了一些示例,您可以在其中传递一系列浏览器,然后它会一个接一个地运行它们。找不到任何适用于 Java 的内容。

4

1 回答 1

3

您需要创建多个 DefaultSelenium 对象。它负责维护浏览器会话(即与网格 RC 的连接)。Selenium Grid 附带了使用 TestNG 执行此操作的示例。如果您需要使用 jUnit,我已经看到人们使用 parallel-junit 取得了成功。

在它的核心,没有魔法发生。您有 N 个 RC 工作人员,因此您的测试需要建立 N 个连接以充分利用您的工作人员。如果您尝试连接 N + 1,客户端将简单地阻塞,直到 RC 可用。请务必调整您的网格设置以处理该问题。客户端可能在 RC 可用之前超时,这可能会造成棘手的情况。

于 2010-08-12T11:36:14.347 回答