(十) TestNG 多线程运行用例
TestNG 是我接触过的唯一自身支持多程技术的单元测试框架。虽然代码级别的单元测试运行得很快,多线程的意义并不大。但如果是UI自动化测试的话运行速度就会非常慢,这个时候多线程技术就会变得很重要。
多线程配置
这里只介绍 testng.xml 文件,其中的使用到的测试用例,请参考前面的章节创建。 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="测试套件" parallel="classes" thread-count="2" > <test name="简单测试"> <classes> <class name="test.sample.FirstTest" /> <class name="test.sample.SecondTest" /> </classes> </test> </suite>
* parallel 设置多线程的级别划分。 * parallel="methods": TestNG将在不同的线程中运行所有的测试方法。依赖方法也将在单独的线程中运行,但它们将尊重你指定的顺序。
-
parallel="tests": TestNG 将在同一个线程中运行相同的标记的所有方法,但是每个标记将在一个单独的线程中。这允许你将所有非线程安全的类分组在同一个中,并保证它们将在同一个线程中运行,同时利用尽可能多的线程来运行测试。
-
parallel="classes": TestNG将在同一个线程中运行同一个类中的所有方法,但是每个类都将在一个单独的线程中运行。
-
parallel="instances": TestNG将在同一个线程中运行相同实例中的所有方法,但是在两个不同实例上的两个方法将在不同的线程中运行。
- thread-count 用于指定线程的个数。