使用selenium grid和junit在多个浏览器上运行测试

时间:2010-07-29 15:34:12

标签: maven-2 junit selenium selenium-grid

我正在尝试设置自动化的selenium测试,但不知道如何在多个浏览器中运行测试。基于在线阅读内容,我有selenium网格并运行多个浏览器,它成功执行我的测试。

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

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

使用此代码它只运行firefox,如何告诉它运行firefox,iexplore和safari而不创建对象的新instantes?我已经在PHP和Python中看到了一些示例,您可以在其中传递一系列浏览器并逐个运行它们。无法为Java找到任何东西。

1 个答案:

答案 0 :(得分:3)

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

在它的核心,没有任何魔力。您有N个RC工作人员,因此您的测试需要建立N个连接以充分利用您的工作人员。如果您尝试连接N + 1,客户端将直接阻塞,直到RC可用。只需确保调整网格设置即可处理。在RC可用之前,客户端可能会超时,这可能会造成棘手的情况。