我正在尝试设置自动化的selenium测试,但不知道如何在多个浏览器中运行测试。基于在线阅读内容,我有selenium网格并运行多个浏览器,它成功执行我的测试。
我试图弄清楚如何设置我的junit测试,以便它可以一个接一个地或并行地运行所有浏览器。这是我的代码:
selenium = new DefaultSelenium("grid.host.here", "4444", "*firefox", "http://host.com");
使用此代码它只运行firefox,如何告诉它运行firefox,iexplore和safari而不创建对象的新instantes?我已经在PHP和Python中看到了一些示例,您可以在其中传递一系列浏览器并逐个运行它们。无法为Java找到任何东西。
答案 0 :(得分:3)
您需要创建多个DefaultSelenium对象。它维护浏览器会话(即与网格RC的连接)。 Selenium Grid附带了使用TestNG执行此操作的示例。如果你需要使用jUnit,我看到人们使用parallel-junit成功了。
在它的核心,没有任何魔力。您有N个RC工作人员,因此您的测试需要建立N个连接以充分利用您的工作人员。如果您尝试连接N + 1,客户端将直接阻塞,直到RC可用。只需确保调整网格设置即可处理。在RC可用之前,客户端可能会超时,这可能会造成棘手的情况。