![TestNG Tutorial](/testng/images/testng-mini-logo.jpg)
- TestNG 教程
- TestNG - 首页
- TestNG - 概述
- TestNG - 环境配置
- TestNG -编写测试用例
- TestNG - 基本注解
- TestNG - 执行流程
- TestNG - 执行测试
- TestNG - 套件测试
- TestNG - 忽略测试
- TestNG - 组测试
- TestNG - 异常测试
- TestNG - 依赖测试
- TestNG - 参数化测试
- TestNG - 运行JUnit测试
- TestNG - 测试结果
- TestNG - 注解转换器
- TestNG - 断言
- TestNG 并行执行
- TestNG - 与Ant集成
- TestNG - 与Eclipse集成
- TestNG vs JUnit
- TestNG有用资源
- TestNG - 快速指南
- TestNG - 有用资源
- TestNG - 讨论
TestNG 并行执行
TestNG允许通过以下方式并行或在单独的线程中运行测试
并行套件:如果您正在运行多个套件文件(例如testng1.xml testng2.xml),并且希望每个套件都在单独的线程中运行。使用以下命令行标志来指定线程池的大小。
java org.testng.TestNG -suitethreadpoolsize 3 testng1.xml testng2.xml testng3.xml
并行测试、类和方法:分别在<suite>标签上使用parallel属性(对于方法、测试、类、实例)。
<suite name="My suite" parallel="methods" thread-count="5">
<suite name="My suite" parallel="tests" thread-count="5">
<suite name="My suite" parallel="classes" thread-count="5">
<suite name="My suite" parallel="instances" thread-count="5">
由于跨浏览器测试的重要性,并行测试在Selenium中得到了广泛应用。如今市场上有许多不同版本的浏览器,创建一个浏览器矩阵并并行运行测试将节省大量时间和其他资源。
优势和劣势
以下是使用TestNG进行并行测试的一些优势
缩短时间
允许多线程测试
以下是使用TestNG进行并行测试的一些劣势
依赖模块失败 - 测试大多数情况下是相互依赖的,因此失败的可能性更大。
程序流程顺序 - 测试人员应该充分了解程序流程才能创建并行测试模块。
创建测试用例类
让我们来看一个并行运行测试方法的示例。创建一个Java类,例如TestParallel.java在/work/testng/src目录下。
import org.testng.annotations.Test; public class TestParallel { @Test public void method1() { System.out.println("Inside method1()"); //Assert.assertEquals(message, messageUtil.printMessage()); } @Test public void method2() { System.out.println("Inside method2()"); //Assert.assertEquals(message, messageUtil.printMessage()); } }
前面的测试类包含两个将在单独线程中运行的测试方法。
创建testng.xml
在/work/testng/src目录下创建testng.xml来执行测试用例。
<?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name = "Parallel Testing Suite"> <test name = "Parallel Tests" parallel = "methods"> <classes> <class name = "TestParallel" /> </classes> </test> </suite>
使用javac编译TestParallel类。
/work/testng/src$ javac TestParallel.java
现在,运行testng.xml。
/work/testng/src$ java org.testng.TestNG testng.xml
验证输出。
Inside method1() Inside method2() =============================================== Parallel Testing Suite Total tests run: 2, Passes: 2, Failures: 0, Skips: 0 ===============================================
广告