与硒网并行运行测试

时间:2015-09-25 10:09:44

标签: selenium selenium-webdriver webdriver testng selenium-grid

我的testng.xml:

<suite name="Tests Suite" time-out="300000" verbose="1" annotations="JDK" thread-count="4" parallel="tests">

<test name="Tests1">
    <classes>
        <class name="TestingClass1">
        </class>
    </classes>
</test>

</suite>

In&#34; TestingClass1&#34;有4个测试但是 selenium grid仅在单个节点上触发测试。

有人可以帮助我弄清楚我在做什么,以及如何同时触发测试,这要事先感谢。

2 个答案:

答案 0 :(得分:0)

您已将并行选项作为测试,但xml中只有一个测试标记。将parallel = tests更改为parallel=methods

我假设您在TestingClass1.java文件中有4个测试方法(具有@Test注释的方法)。您还应该注意使驱动程序对象线程安全。

答案 1 :(得分:0)

  

parallel =“tests”:TestNG将在同一个线程中运行相同标记中的所有方法,但每个标记将位于一个单独的线程中。这允许您将所有非线程安全的类分组,并保证它们将在同一个线程中运行,同时利用TestNG使用尽可能多的线程来运行测试。

http://testng.org/doc/documentation-main.html#parallel-tests

您可能正在寻找的是拥有多个测试类并与parallel="classes"并行执行。在大多数情况下,当涉及到Selenium on Java时,这是最有效的。

您也可以按照上面正确描述的那样去parallel=methods,尽管这不适用于大多数测试自动化框架,因为需要仔细管理类层次结构。