出于某种原因,我需要在IE11和Chrome上并行执行测试,每个浏览器都在独立的节点机器上。这是我的测试。xml:
<suite name="Parallel" parallel="tests">
<test name="Performance Test Chrome">
<parameter name="browser" value="Chrome"/>
<parameter name="remoteURL" value="http://myIP1:5555/wd/hub"/>
<parameter name="user" value="user1"/>
<classes>
<class name="com.TestClass"/>
</classes>
</test>
<test name="Performance Test IE11">
<parameter name="browser" value="IE" />
<parameter name="remoteURL" value="http://myIP2:5555/wd/hub"/>
<parameter name="user" value="user2"/>
<classes>
<class name="com.TestClass" />
</classes>
</test>
</suite>
这是我的测试方法:
@Parameters({"browser", "remoteURL", "user"})
@Test
public void parallelTest(String browser, String remoteURL, String user) {
}
预料
:测试应同时打开各自节点计算机上的每个浏览器,并执行测试步骤(分别使用用户登录和执行操作…)。他们是不同节点上的不同用户,以避免会话。
真实的
:浏览器实际上是在两个节点上同时打开的,但测试步骤没有完成,它们被卡住了
NoSuchElementException
,从Chrome上的登录页面,它在IE上更进一步,但仍然存在相同的问题
请注意,如果我正常运行测试(按设置
parallel="none"
),则成功执行每个测试标记。我通过右键单击testng在IntelliJ中执行测试。xml并运行。
我是否缺少一些设置?非常感谢您的帮助。谢谢