TestNg多线程测试----平行化测试

简介: 原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong/article/details/40394625 我们在开发过程中经常会遇到多线程的编程,比如最常见的几种情况: 1.互不通信的多线程模式 2.基于共享容器协同的多线程模式 3.通过事件协同的多线程模式  4.多进程的模式 这里我们不去详细讨论每种方式的开发方法,但是

原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong/article/details/40394625

我们在开发过程中经常会遇到多线程的编程,比如最常见的几种情况:

1.互不通信的多线程模式

2.基于共享容器协同的多线程模式

3.通过事件协同的多线程模式 

4.多进程的模式

这里我们不去详细讨论每种方式的开发方法,但是我们会首先想到一个问题,如何进行多线程代码的测试?

TestNg给出了关于多线程平行化的测试解决方案:

通过在配置文件配置的方式,进行不同级别的多线程配置测试:

<suite name="My suite" parallel="methods" thread-count="5">

方法级别的多线程测试,每个方法都将采用独立的线程进行测试,thread-count参数配置启动的线程数,parallel参数来定义平行化的级别

<suite name="My suite" parallel="tests" thread-count="5">

这个tests表示的是我们在配置文件中的<test>标签内的所有方法将在同一个线程中执行,但是<tests>标签内的每个<test>是以不同的线程来执行

我们也可以先将测试进行分组,然后再采取这种方式进行测试,这对一些线程不安全的代码测试时是很有效的

<suite name="My suite" parallel="classes" thread-count="5">

将把每个<class>标签内的所有方法在同一个线程中执行,但是<classes>中的不同<class>将会以不同的线程执行

<suite name="My suite" parallel="instances" thread-count="5">

TestNg将把同一个实例内的所有方法运行在同一个线程中,但是如果两个方法是在不同的实例中,那么他们将会在不同的线程中执行

原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong/article/details/40394625


目录
相关文章
|
5月前
|
Java 测试技术 Python
《手把手教你》系列基础篇(八十)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-番外篇(详解教程)
【6月更文挑战第21天】本文介绍了TestNG中测试方法的依赖执行顺序。作者通过一个实际的自动化测试场景展示了如何设计测试用例:依次打开百度、搜索“selenium”、再搜索“selenium+java”。代码示例中,`@Test`注解的`dependsOnMethods`属性用于指定方法间的依赖,确保执行顺序。如果不设置依赖,TestNG会按方法名首字母排序执行。通过运行代码,验证了依赖关系的正确性。
66 4
|
4月前
|
XML 测试技术 数据格式
《手把手教你》系列基础篇(八十五)-java+ selenium自动化测试-框架设计基础-TestNG自定义日志-下篇(详解教程)
【7月更文挑战第3天】TestNG教程展示了如何自定义日志记录。首先创建一个名为`TestLog`的测试类,包含3个测试方法,其中一个故意失败以展示日志。使用`Assert.assertTrue`和`Reporter.log`来记录信息。接着创建`CustomReporter`类,继承`TestListenerAdapter`,覆盖`onTestFailure`, `onTestSkipped`, 和 `onTestSuccess`,在这些方法中自定义日志输出。
51 6
|
5月前
|
Java 测试技术 Python
《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
【6月更文挑战第22天】本文介绍了如何在TestNG中不执行特定测试用例。当部分模块未准备好时,可以通过以下方式暂停测试:③使用`@Test(enabled=false)`注解来禁用测试用例。作者提供了一个Java Selenium自动化测试的示例,展示如何通过修改`enabled`参数控制测试方法的执行。代码中,`testSearch2()`方法被禁用,因此在测试运行时不执行。文章还包含了测试报告和执行过程的截图。
59 7
|
5月前
|
Java 测试技术 Python
《手把手教你》系列基础篇(七十九)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-下篇(详解教程)
【6月更文挑战第20天】TestNG是一个Java测试框架,提供两种测试方法依赖机制:强依赖(所有前置方法成功后才运行)和弱依赖(即使前置方法失败,后置方法仍运行)。文中通过代码示例展示了这两种依赖如何实现,并解释了当依赖方法失败时,如何影响后续方法的执行。文章还包含了TestNG Suite的运行结果截图来辅助说明。
57 8
|
5月前
|
存储 测试技术
【工作实践(多线程)】十个线程任务生成720w测试数据对系统进行性能测试
【工作实践(多线程)】十个线程任务生成720w测试数据对系统进行性能测试
60 0
【工作实践(多线程)】十个线程任务生成720w测试数据对系统进行性能测试
|
5月前
|
XML Java 测试技术
《手把手教你》系列基础篇(八十二)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-上篇(详解教程)
【6月更文挑战第23天】TestNG 是一个用于自动化测试的 Java 框架,它自动生成测试报告,包括 HTML 和 XML 格式。报告可在 `test-output` 文件夹中找到。要创建测试用例,可创建一个实现了 `@Test` 注解的方法。通过 `testng.xml` 配置文件来组织和执行测试。默认报告包括测试结果、失败点和原因。用户还能实现 `ITestListener` 和 `IReporter` 接口来自定义报告和记录器。
55 2
|
5月前
|
XML Web App开发 测试技术
《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
【6月更文挑战第19天】本文介绍了使用TestNG框架配置XML文件来管理测试用例的分组和依赖关系。
137 2
|
4月前
|
Java 测试技术 Android开发
《手把手教你》系列基础篇(八十四)-java+ selenium自动化测试-框架设计基础-TestNG日志-上篇(详解教程
【7月更文挑战第2天】TestNG是一个用于自动化测试的Java框架,提供日志记录功能。日志有两种模式:底层级详细记录每个步骤,高层级仅记录关键事件。示例代码展示了如何在测试方法中使用`Reporter.log()`记录信息,这些信息会显示在TestNG HTML报告中。文章还提及了日志显示时可能出现的编码问题及解决办法。
61 0
|
4月前
|
XML 测试技术 数据格式
《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)
【7月更文挑战第1天】使用TestNG自定义报告的简要说明: - TestNG提供默认的HTML和XML报告,但可通过实现IReporter接口创建自定义报告。 - 自定义报告器类需扩展`CustomReporter.java`,实现`generateReport()`方法,接收XML套房、测试结果及输出目录作为参数。
49 0
|
5月前
|
安全 Java
如何测试map对象的线程不安全
【6月更文挑战第20天】如何测试map对象的线程不安全
41 0
下一篇
无影云桌面