TestNG优先排序和排序

TestNG 图解说明 TestNG 图解说明 TestNG  是什么: TestNG,即Testing,Next Generation,下一代测试技术,是一套根据JUnit 和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做集成测试。   TestNG  如何安装 输入http://beust.com/eclipse/ 阅读详情

 

 

多次测试

有些情况下,您希望将测试数量放在单个测试类中,并且喜欢单次运行所有测试。在TestNG'@ Test '注释的帮助下,我们可以在单个TestNG文件中执行多个测试。

以一个testng类为例,测试四种不同的测试,并在控制台上打印测试序列。

怎么做…

1)按Ctrl + N,在TestNG类别下选择“ TestNG Class ” ,然后单击Next。

要么

右键单击Test Case文件夹,转到TestNG并选择“ TestNG Class ”。

TestNG的-Muliple-0

2)如果您的项目已设置并且在创建TestNG类之前选择了“测试用例”文件夹,则源文件夹和包名称将预先填充在表单上。将类名设置为“ TestNG ”。

保持其余设置不变,不要立即检查“ @BeforeMethod ”,“ @ AfterMethod ”并单击“ 完成”。而已。

TestNG优先排序和排序

3)默认情况下,新类只有一个@Test方法。自己添加两个方法,并将相应的代码放在方法中。代码如下:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

package automationFramework;

 

import org.openqa.selenium.WebDriver;

 

import org.testng.annotations.Test;

 

public class MultipleTest {

 

public WebDriver driver;

 

  @Test

 

  public void One() {

 

      System.out.println("This is the Test Case number One");

 

  }

 

  @Test

 

  public void Two() {

 

  System.out.println("This is the Test Case number Two");

 

  }

 

  @Test

 

  public void Three() {

 

  System.out.println("This is the Test Case number Three");

 

  }

 

  @Test

 

  public void Four() {

 

  System.out.println("This is the Test Case number Four");

 

  }

 

}

这将使您只需一个testng类就可以执行所有四个测试。看看输出。

TestNG的-Muliple-3

注意: 默认情况下,@ Test注释的方法按字母顺序执行。查看下一个主题,了解如何确定@Test的优先级。

 

排序和优先排序

如果希望按顺序执行方法,则需要使用' priority '参数。 参数是修改注释功能的关键字。

让我们采用相同的上述示例,并按正确的顺序执行所有@Test方法。只需为从0(零)开始的所有@Test方法分配优先级。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

package automationFramework;

 

import org.openqa.selenium.WebDriver;

 

import org.testng.annotations.Test;

 

public class MultipleTest {

 

public WebDriver driver;

 

  @Test(priority = 0)

 

  public void One() {

 

      System.out.println("This is the Test Case number One");

 

  }

 

  @Test(priority = 1)

 

  public void Two() {

 

  System.out.println("This is the Test Case number Two");

 

  }

 

  @Test(priority = 2)

 

  public void Three() {

 

  System.out.println("This is the Test Case number Three");

 

  }

 

  @Test(priority = 3)

 

  public void Four() {

 

  System.out.println("This is the Test Case number Four");

 

  }

 

}

注意:  TestNG将执行具有最低优先级值的@Test注释,直到最大值。

以上输出:

TestNG的-Muliple-4

 

跳过测试用例

想想你需要从你的testng类中跳过一个或多个@Test的情况。在testng中,您可以通过将'enabled'参数设置为'false'来轻松地处理这种情况,例如:

@Test(启用= false)

要在单个注释中使用两个或更多参数,请使用逗号分隔它们:

@Test(priority = 3,enabled = false)

再次使用相同的示例并为第三个测试设置值false。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

package automationFramework;

 

import org.openqa.selenium.WebDriver;

 

import org.testng.annotations.Test;

 

public class MultipleTest {

 

public WebDriver driver;

 

  @Test(priority = 0)

 

  public void One() {

 

      System.out.println("This is the Test Case number One");

 

  }

 

  @Test(priority = 1)

 

  public void Two() {

 

  System.out.println("This is the Test Case number Two");

 

  }

 

  @Test(priority = 2, enabled = false)

 

  public void Three() {

 

  System.out.println("This is the Test Case number Three");

 

  }

 

  @Test(priority = 3)

 

  public void Four() {

 

  System.out.println("This is the Test Case number Four");

 

  }

 

}

以上示例的输出:

TestNG的-Muliple-5

 

使用Java+Maven+TestNG进行自动化测试 写作背景:有点Java基础的功能测试人员(点点点工程师),所在项目有"去QE"的趋势,所以自己要多点亮其他技能,让路子走宽点。简单说一下去QE:项目测试不再有专职的测试工程师来做,而是由开发工程师自己来进行。遵循“谁开发、谁测试、谁上线、谁On call”的原则。 阅读详情

相关推荐

初识TestNg测试框架和reportng

一、TestNg官网 https://testng.org/doc/documentation-main.html 二、TestNg特性 TestNg集成了JUnit和NUnit测试框架,也引入了新功能,使其功能更强大,更易于使用。具体TestNg的特性有如下几点: 1.注解 2.基于线程池运行测试 3.多线程运行代码是安全的 4.灵活的测试配置 5.支持数据驱动测试 @DataProvider 6.强大的执行模型,不需要较多的TestSuite 7.支持Eclipse、maven、IDEA等 8、可以嵌

weixin_44332139的博客 644

Testng执行顺序控制

1.class执行顺序控制-testng.xml之preserve-order preserve-order:用来控制<test>里面所有<classes>的执行顺序。<test>中默认的preserve-order为true,表示<test>下所有<classes>按照顺序执行,如: 1. <?xml version=...

与君共勉 1万+

TestNG中的方法拦截器(重新排序测试方法)

下面是我们的CodekruTest类,但我们已经修改了它,以按照特定的顺序运行方法。我们可以看到,deltaMethod是在最后执行的,因为它依赖于另一个方法,而另一个方法又依赖于另一个方法。它将在其参数中接受可以以任何顺序运行的方法列表,并返回类似的方法列表。在这里,我们希望首先运行属于“func”组的方法,其余的方法应该在之后执行。它将返回在其参数中传递的方法的类似列表,并且返回的列表可以是-运行我们的测试用例。让我们先拿一个测试类的例子,在这个类中我们将尝试使用方法拦截器来改变测试方法的顺序。

C'mon的博客 1241

TestNG测试方法执行优先级

前言 TestNG的测试方法默认是按照方法名的字母顺序执行的,那么怎么自定义测试方法的执行顺序呢? 下面我们将介绍其中的一种方法。 正文 1、默认的测试方法执行顺序:默认按照测试方法的方法名字母顺序依次执行。 public class TestNGPriority { @BeforeClass public void beforeClass(){ Sys...

黑域的专栏 1916

2023-12-26~2025-07-04备份

一、海康视觉与汇川机器人 服务器-客户端通信设置IP在同一网段名称IP端口类型海康相机工控机7930服务器机器人3000客户端海康VM服务器设置1通信管理 增添TCP服务端,设置本机IP:192.168.0.20,端口号79302 协议解析 通信双方约定通信格式(设置收发数据格式,分隔符)机器人客户端设置(不同类型机器人设置有差别)1 通讯服务设置 设置连接服务器IP、服务端端口号、机器人端口号,确保连接正常2 协议解析 使用指令代码构建通讯解析。

青铜小码农 3126

从命名玄学看单片机江湖:STC、STM32与ESP32的型号密码与设计哲学

本文解析了STC、STM32和ESP32三大主流单片机系列的型号命名规则,揭示了其背后的设计哲学与市场策略。通过详细解读STC89C52、STM32F103C8T6等具体型号,帮助开发者理解芯片核心特性、性能等级及适用场景,为嵌入式系统选型提供实用指南。

g5h6i的博客 762

TestNG测试框架之测试用例的执行顺序分析

既然是讨论执行顺序问题,那么用例肯定是批量执行的,批量执行的方法有mvn test、直接运行testng.xml文件,其中直接运行testng.xml文件的效果与pom文件中配置执行testng.xml效果是一样,所以本次只讨论mvn test 批量运行方式。 一、用例准备 1、 测试用例 编写一些测试用例,单纯为了测试,内容只进行输入,没有任何逻辑。 public class FirstTest { @Test public void testFirst(){ .

专注自动化、性能测试、测试架构学习交流 2381

非华为电脑与MatePad Pro多屏协同实战:从安装管家到攻克连接难题

本文详细介绍了在非华为电脑上安装华为电脑管家并实现与MatePad Pro多屏协同的完整指南。从安装步骤、常见连接失败解决方案到华为账号绑定技巧,提供了实用的操作方法和硬件优化建议,帮助用户攻克连接难题,提升多屏协同的稳定性和流畅度。

weixin_30263073的博客 233

TestNG设置用例执行顺序之priority参数

如果不使用priority参数,那在执行用例的时候,默认的执行顺序是按照测试方法名的字母顺序由小到大执行的,这点和pytest的默认执行顺序规则相同。举例: public class TestDemo{ public void caMethod(){} public void baMethod(){} public void aaMethod(){} } 执行时的顺序是aaMethod–>baMethod–>caMethod 那如何对用例的执行顺序进行干预呢?可以使用priorit

cwb_真水无香 1134

用友U8其中一个账套提示演示期已到期-修复方法

【事件始末】 一朋友求助,反馈使用的用友U8,很多年了! 突然发现其中账套2021年的一个账套打不开,提示演示期限已到期! 但是其他账套完全正常,可以打开,没有任何问题。 不管是还原老旧备份,还是重装软件问题依旧,无法自己解决。 客户查询报表结算账期,情况比较紧急,于是求助我们。 经过多次反复琢磨和烟酒,终于于晚上23点59分给弄了出来,也总是圆满解决问题了。 【问题分析】 该用户打的是 U82X免狗补丁,估计是该补丁文件设置了 最大有效期,补丁到期了导致的。 也有可能是程序...

u010431289的博客 2万+

Altium Designer(AD)仿真实验操作指南

1:运行仿真2:设置仿真3:放置电源模块4:放置器件模块5:探针。

XU157303764的博客 8900

testng中如何让一个class的method按优先级全部运行完

testng 框架的运行机理是运行到<test>中的<classes>标签中,会把所有<class>中的<method>加载到容器中,或者说是把<test>中所有@Test注解的方法加载到容器,不管这个 method 或者说这个@Test注解的方法属于哪一个类,然后全部按照优先级来排序运行,同优先级的比较方法名按照 ascall 编码排序...

abcnull 的博客 1012

“/usr/lib/wsl/wsl-setup“ failed, exiting

WSL2安装Ubuntu时出现"wsl-setup failed"错误的解决方法 摘要:当Windows用户名包含中文字符时,安装WSL2+Ubuntu会出现"wsl-setup failed"错误。本文提供两种解决方案:1)修改中文用户名(风险较大);2)通过命令手动配置。推荐第二种方法:先使用"wsl -l -v"查看Ubuntu名称,再通过"wsl -d Ubuntu20.04 -e /bin/bash"命令启动WSL2系

猿小白的博客 997

Pytest、TestNG

Pytest 成熟的全功能的Python测试框架, 简单灵活,容易上手,文档丰富 支持参数化,可以细粒度地控制要测试的测试用例; 能够支持简单的单元测试和复杂的功能测试,可以用来做selenium等自动 化测试、接口自动化测试(pytest+requests) pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytes...

weixin_42862552的博客 3319

第四部分:VTK常用类详解(第96章 vtkCaptionActor2D标题演员类)

VTK标题演员实现3D场景标注功能 摘要:vtkCaptionActor2D是VTK可视化工具包中的标题标注组件,提供混合2D/3D的文本标注功能。该组件通过连接线将文本标注与场景中的3D点关联,支持多行文本显示、自定义文本样式和动态定位。文章详细介绍了标题演员的设计原理、坐标系统控制方法、文本内容管理和大小自适应机制,并展示了在3D模型标注、数据可视化和交互场景中的典型应用。标题演员通过组合文本、边框和连接线组件,实现了灵活多样的场景标注方案,是科学计算可视化中重要的标注工具。

仰望星空的博客 255

利用 HTML5 与 SICF 打造 CRM WebClient UI 多附件上传 —— 从原型到生产的全流程揭秘

通过HTML5 标准 + SICF 服务 + BOL/GOS API的三位一体方案,我们无需修改 SAP 标准代码,就能让 CRM WebClient UI 获得现代化的多附件上传体验。浏览器负责多选与进度提示,SICF 负责安全中转,ABAP 负责权限校验与落库。你可以先在质量系统快速原型,再逐步完善权限、异常处理与 UI 细节。按照本文的方法落地,哪怕一次上传几百份文件,也能轻松搞定,真正把时间还给业务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 335

什么是TestNG?

TestNG 是一个受 JUnit 和 NUnit 启发的测试框架,但引入了一些新功能,使其功能更强大,更易于使用。 它是一个开源的自动化测试框架; 其中NG试验NG装置Ñ分机ģ eneration。TestNG与JUnit类似,但它比JUnit强大得多,但它仍然受到JUnit的启发。它的设计优于JUnit,尤其是在测试集成类时。特别感谢TestNG的创建者Cedric Beust。 Test...

ProgrammerFan0101的博客 7230

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

TestNG 并发运行相关的核心概念 - 补充

翻译自:http://beust.com/weblog/2009/12/13/more-on-multithreaded-topological-sorting-2/  限于翻译水平有限,有兴趣的同学可以直接看原文。翻译上如果有什么不妥之处,还麻烦指正,感谢! ---------------------------------------------------正文的分割线

不忘初心,好好沉淀 5482

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

TestNG使用方法总结

1、TestNG按顺序执行Case 1)优先级法:@Test(Priority=?)优先级设置的值越小,则越优先。 2)字母排序法:由@Test的方法名的首字母由a~~z。 3)在xml中设置标识 preserve-order可以控制类和方法执行顺序,其顺序就是xml中指定的顺序。 testname="test12" preserve-order="true"> 2、TestNG

baidu_37001544的博客 693

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

TestNg的各种Before+各种After+执行优先级

TestNg的各种Before+各种After+执行优先级 准备三个测试类 package com.newcrud.testngTest; import org.testng.annotations.*; public class TestOne { @Test public void testOne(){ System.out.println("testOne"); } @Test public void testTwo(){ S

舌尖上的蛋炒饭的博客 1270

TestNG学习4-TestNG属性

1、TimeOut属性: 超时判断,若果需要监听测试方法需要执行的时间,可以考虑此属性; 举例: packageTestDemo; importorg.testng.annotations.Test; Public class TimeOutTest{ @Test(timeOut=3000) Public void loginTest(){ t...

小晶的博客 459

TestNG

可以把JUnit看作一把精准、锋利的手术刀,非常适合做精细的单元测试。而TestNG更像一套功能齐全的瑞士军刀,除了做单元测试,它在组织大规模、复杂流程的集成测试和端到端测试时,提供了更多顺手的工具。选择哪一个,主要取决于项目的测试规模和复杂程度。很多项目甚至会同时使用两者,用JUnit做单元测试,用TestNG管理更上层的集成测试套件。

leohu0723的博客 357

TestNG的IMethodInterceptor监听器详解

在TestNG的执行过程中,根据测试方法的执行顺序,可以将测试方法分为如下两类: 顺序执行的方法,即依赖于其他测试方法或者被其他测试方法所依赖执行无特定顺序的方法,即测试方法的执行没有特定的顺序要求,不同的TestNG执行可能有不同的顺序 对于第一类测试方法,其执行顺序不能随意改变,必须符合依赖关系。但是对于第二类测试方法,TestNG提供了IMethodInterceptor监听

成长的足迹 2730

IDEA,Java + Maven + TestNG编写接口自动化测试用例脚本

我先复习Java的基本简介、语法、写法、使用。参考资料1.2、TestNG1.3、TestNG支持的注释列表:1.4、JSONAssert 2.1、创建普通maven项目即可2.2、在pom.xml中配置依赖 2.3、下载依赖(pom文件重新加载项目)直接复制官网中的simple: 4.1、直接运行直接运行4.2、xml方式运行IDEA创建的项目默认不会生成testng.xml(用于控制测试执行的执行)文件,就需要在根目录手动创建该文件,同时需要在pom.xml文件中关联设置testng.xml

neverSaynever_的博客 1万+

【转载】TestNG如何改变一个类中多个@Test的执行次序

点击这里查看原文 =============== TestNG的一个类中,当含有多个@Test时,默认执行顺序是根据方法名的排序执行,如要改变执行次序,需在@Test中加priority优先级。 1.当不指定优先级时,执行结果如下: 2.指定优先级时,执行结果如下: 3.还可以加是否执行条件,可见执行结果无two,如下: ...

我们仨 591

TestNG注解-@Test

引言 TestNG有很强大的注解功能,在这里要注意注解与注释的区别! 注解是一种元数据,能够被脚本编译所识别,起到一定的控制作用。 注释只是代码句或者一段代码的注释说明,本身并不影响代码的编译和执行,只是增强不同的开发人员对代码功能的有效理解。 正文 本文将结合第一个TestNG测试类,来介绍@Test 注解 首先附上文中演示例子的目录结构 1、创建被测试类 项目目录src/m...

黑域的专栏 4124
上一篇: TestNG日志和断言
下一篇: TestNG注释
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值