testng 取消并行

We can run TestNG tests in parallel. This feature is only available when we are using TestNG XML suite for executing our test cases.

我们可以并行运行TestNG测试。 仅当我们使用TestNG XML套件执行测试用例时,此功能才可用。

TestNG默认测试执行 (TestNG Default Tests Execution)

When we run TestNG class, methods are executed in order of the alphabetical appearance of their names. Let’s look at a simple TestNG test class.

当我们运行TestNG类时,方法将按照其名称的字母顺序出现。 让我们看一个简单的TestNG测试类。

package com.journaldev.parallel;import java.time.LocalDateTime;import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;public class NewTest {@Test(dataProvider = "dp")public void foo(Integer n) {try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("Foo Executing Input = " + n);}@Test(dataProvider = "dp")public void bar(Integer n) {try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("Bar Executing Input = " + n);}@DataProviderpublic Object[] dp() {Object[] ints = new Object[100];for (int i = 0; i < 100; i++)ints[i] = i;return ints;}@AfterTestpublic void afterTest() {System.out.println("After Test Time = " + LocalDateTime.now());}@BeforeTestpublic void beforeTest() {System.out.println("Before Test Time = " + LocalDateTime.now());}}

When we run above class, it will generate output like below.

当我们在类上运行时,它将生成如下所示的输出。

Before Test Time = 2018-06-01T15:03:21.406219
Bar Executing Input = 0
Bar Executing Input = 1
...
Bar Executing Input = 99
Foo Executing Input = 0
Foo Executing Input = 1
...
Foo Executing Input = 99
After Test Time = 2018-06-01T15:03:24.058081

Notice that bar() method is getting executed first, once all test executions are over then foo() methods are executed.

注意,bar()方法首先被执行,一旦所有测试执行都结束,然后将执行foo()方法。

We will get the similar result with below XML suite file.

下面的XML套件文件将得到相似的结果。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="TestNGXMLTest Test Suite"><test name="TestNGXMLTest Test" verbose="2"><classes><class name="com.journaldev.parallel.NewTest" /></classes></test>
</suite>

并行的TestNG方法 (TestNG Methods in Parallel)

Since both the test methods are unrelated, we can run them in parallel and save time. We will have to add parallel and thread-count to our test to achieve this.

由于两种测试方法都不相关,因此我们可以并行运行它们并节省时间。 我们将不得不增加parallelthread-count来我们的test ,以实现这一目标。

Below is our updated XML suite file.

以下是我们更新的XML套件文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="TestNGXMLTest Test Suite"><test name="TestNGXMLTest Test" verbose="2" parallel="methods" thread-count="2"><classes><class name="com.journaldev.parallel.NewTest" /></classes></test>
</suite>

When we run the test suite, we will get following output.

运行测试套件时,将获得以下输出。

Before Test Time = 2018-06-01T15:06:38.268674
Bar Executing Input = 0
Foo Executing Input = 0
...
Foo Executing Input = 99
After Test Time = 2018-06-01T15:06:39.572976

Notice that we almost cut the test execution time to half by running test methods in parallel.

注意,通过并行运行测试方法,我们几乎将测试执行时间减少了一半。

TestNG并行执行要点 (TestNG Parallel Execution Important Points)

  1. We can use parallel attribute for both test and suite elements.我们可以对test和suite元素使用parallel属性。
  2. Possible values for parallel attribute are: methods, tests, classes and instances. We have already seen how to execute methods in parallel.并行属性的可能值为:方法,测试,类和实例。 我们已经看到了如何并行执行方法。
  3. In older TestNG versions, true and false were also allowed for parallel values, they have been deprecated now.在较旧的TestNG版本中,还为并行值允许使用truefalse ,现在已弃用它们。

并行运行TestNG运行类 (TestNG Running Classes in Parallel)

Let's say we want to run our test classes in parallel. We also want our methods inside the test classes to be running in parallel. We can do this by using parallel="classes" at suite level and parallel="methods" at test level.

假设我们要并行运行测试类。 我们还希望测试类中的方法可以并行运行。 我们可以通过在套件级别使用parallel="classes" parallel="methods"在测试级别使用parallel="methods"来做到这一点。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="TestNGXMLTest Test Suite" parallel="classes"><test name="TestNGXMLTest Test" verbose="2" parallel="methods"thread-count="10"><classes><class name="com.journaldev.parallel.NewTest" /><class name="com.journaldev.utils.TestUtils" /><class name="com.journaldev.main.Test5" /></classes></test>
</suite>

TestNG Suite运行并行测试 (TestNG Suite Running Parallel Tests)

Let's look at a more complex example, where we are running TestNG suite tests in parallel. Again some of these tests are configured to execute classes/methods in parallel.

让我们看一个更复杂的示例,其中我们并行运行TestNG套件测试。 同样,这些测试中的一些配置为并行执行类/方法。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="TestNGXMLTest Test Suite" parallel="classes"><test name="TestNGXMLTest Test 1" verbose="2" parallel="tests"thread-count="10"><classes><class name="com.journaldev.main.Test5" /></classes></test><test name="TestNGXMLTest Test 2" verbose="2" parallel="classes"thread-count="10"><classes><class name="com.journaldev.utils.TestUtils" /><class name="com.journaldev.main.Test5" /></classes></test><test name="TestNGXMLTest Test 3" verbose="2" parallel="methods"thread-count="10"><classes><class name="com.journaldev.parallel.NewTest" /></classes></test>
</suite>

That's all for running TestNG test suites in parallel, in different modes.

这就是在不同模式下并行运行TestNG测试套件的全部内容。

GitHub Repository.GitHub Repository下载示例代码。

翻译自: https://www.journaldev.com/21341/testng-parallel-execution

testng 取消并行

testng 取消并行_TestNG并行执行相关推荐

  1. testng执行参数_TestNG中注解使用 笔记

    一.Before和After类注解 1.@BeforeSuite.@AfterSuite 2.@BeforeTest.@AfterTest 3.@BeforeClass.@AfterClass 4.@ ...

  2. testng 检查异常_TestNG异常– ExpectedExceptions,ExpectedExceptionsMessageRegExp

    testng 检查异常 Sometimes we want to test our methods for exceptions. TestNG allows us to perform except ...

  3. testng 忽略测试_TestNG忽略或禁用测试

    testng 忽略测试 Sometimes we want to ignore a TestNG test method, there are many ways to achieve this. 有 ...

  4. testng执行参数_TestNG参数化测试

    TestNG中的另一个有趣的功能是参数化测试. 在大多数情况下,您会遇到业务逻辑需要大量测试的场景. 参数化测试允许开发人员使用不同的值一次又一次地运行相同的测试. TestNG可以通过两种不同的方式 ...

  5. PARALLEL(并行)

    在Oracle中,PARALLEL(并行)方式最大化调用计算机资源来成倍提高数据分析效率. 1. 用途 强行启用并行度来执行当前SQL.这个在Oracle 9i之后的版本可以使用,之前的版本现在没有环 ...

  6. 多线程之任务: Task 基础, 多任务并行执行, 并行运算(Parallel)

    Task - 基于线程池的任务(在 System.Threading.Tasks 命名空间下) 多 Task 的并行执行 Parallel - 并行计算(在 System.Threading.Task ...

  7. Parallel 并行技术

    Parallel 技术 对于一个大的任务,一般的做法是利用一个进程,串行的执行,如果系统资源足够,可以采用parallel技术,把一个大的任务分成若干个小的任务,同时启用n个进程/线程,并行的处理这些 ...

  8. oracle的并行世界

    参考文章 How to Enable and Disable Parallelism (文档 ID 2394025.1) 启用并行 在数据库级别 设置 PARALLEL_MAX_SERVERS = N ...

  9. .NET异步程序设计之任务并行库

    目录 1.简介 2.Parallel类 2.0 Parallel类简介 2.1 Parallel.For() 2.2 Parallel.ForEach() 2.3 Parallel.Invoke() ...

最新文章

  1. 智能指针和内存管理小结
  2. mp4v2再学习 -- H264视频编码成MP4文件
  3. 【cJson】 JSON格式详解
  4. zabbix自动发现(Discovery)功能使用
  5. 这些让人看瞎了的设计!实力证明,谁才是世界的最终boss!
  6. Linux 5.7 将支持国产 RISC-V 芯片 K210
  7. 【Codeforces Round #442 (Div. 2) C】Slava and tanks
  8. PyTorch学习—10.nn中网络层的具体使用
  9. 学习python 3 入门知识
  10. 记录下ES6踩过的坑
  11. ads2011射频电路设计与仿真实例
  12. 40篇英语短文搞定高考3500个单词
  13. Android音频架构
  14. 2018-NIPS-论文网址
  15. HTML5中引入字体样式的常用方法-Iconfont(阿里巴巴矢量图库)和IcoMoon-APP
  16. 腾讯,迅雷,完美等公司的一些笔试题整理
  17. java 抽象方法 大括号_为什么Java抽象类的方法必须加大括号?我写错了吗?
  18. Microsoft visual C++6.0设置行号
  19. python将输入的n个数进行大小排序:小到大和大到小
  20. 【信号采集】基于FPGA的高速信号采集系统

热门文章

  1. 关于DIV+CSS和XHTML+CSS的理解
  2. 不依赖jstack的java 线程dump和死锁检查工具
  3. centos 6.3 64bit 安装VMware workstation 9.1 64bit
  4. android系统中如何通过程序打开某个AccessibilityService
  5. 去除input的自动填充色
  6. 使用图片拉伸resizableImageWithCapInsets
  7. 国学能带给孩子什么?
  8. 现在物价虽然高得离谱,但是内存条都白菜价格了,需要调整程序架构的思维“与时俱进” --- 改进系列之一...
  9. Win10和Ubuntu20.04双系统启动引导项修复指南
  10. 《我的互联网方法论》读书笔记