TestNG Hello World 下一篇:TestNG Groups 例子 本文讲述TestNG的如下 annotations (注解):@Test,@BeforeMethod, @AfterMethod...; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod...@AfterClass 将在所有的测试方法执行后只被调用一次。 @BeforeMethod, @AfterMethod @BeforeMethod 将在每一个单元测试执行前被执行一次。...----------------------------------- 高级注解 1)组注解: TestNG 允许我们将多个测试组成一组进行测试。...通过分组,对一个组进行测试时其他分组的测试将被忽略。 多个测试可以属于一个组,一个测试也可以成为多个组的一部分。
申明执行前的测试组testOne 申明执行前的测试组testTwo 初始化环境 test one method 清理环境 申明执行前的测试组testTwo 申明执行前的测试组...; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import org.testng.Assert...; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import org.testng.Assert...,可能是这个功能点暂时取消,可能是其他原因,总之在一个测试类里面,我们需要提供一个测试用例的方法不被执行的功能点,也就是enabled,为true是执行,为false是不执行,案例代码如下所示: package...; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import org.testng.Assert
由于testng.xml中只能设置一个标签,就无法创建多个测试集,通过标签可以实现允许多个测试集。...1、testng.xml中引入多个suite-file testng.org/testng-1.0.dtd"> 2、具体实现case写在引入的xx.xml文件中 3、生成测试报告如下,可以看到有一个为空的suite,这个suite是testng.xml...中默认的,我们不写具体内容,只作为容器 ?
@BeforeGroups 此方法是保证在运行属于任何这些组的第一个测试方法之前,该方法被调用 @AfterGroups 此方法是保证运行属于任何这些组的所有测试方法执行之后,该方法被调用 @BeforeMethod...分组执行测试方法有多种形式: 可以通过在testng.xml配置,来指定具体要执行的分组 [1544586380975048469.png] 也可以通过集成到jenkins中,通过参数化构建来设置要执行的分组...标签会导致@BeforeMethod失效 @BeforeMethod的作用是标明所注解的方法在每一个测试方法运行之前会执行一次。...= "group1") Public void testCase2() 再次执行脚本,执行顺序变为testCase1—>testCase2 解决方法: 1、将@BeforeMethod同样加入group1...2、设置@BeforeMethod的属性alwaysRun=true 五、TestNG依赖测试 我们经常会遇到要测试的多个接口之间存在依赖关系,即某一个接口的执行需要依赖上一个接口的返回结果,比如执行批付查询时
TestNG用例的执行顺序有两种方式来指定:注解和XML。...默认TestNG会强制校验,依赖的用例必须成功才会执行当前用例,否则当前用例会被标记为SKIP,这叫做强依赖。...通过设置alwaysRun=true可以变成弱依赖,无论依赖用例执行成功与否,都会执行当前用例。...需要特别注意的是,依赖测试方法是按照测试类来进行执行的(group by class),比如b()方法依赖的a()方法有多个实例,那么会按照以下顺序执行: a(1) a(2) b(2) b(2) 举个实际的例子...name="Factory" group-by-instances="true"> or XML 在testng.xml
@AfterGroups 配置方法将在运行组列表之前运行 @BeforeMethod 注释方法将在每个测试方法之前运行 @AfterMethod 注释方法将在每个测试方法之后运行 @DataProvider...public void beforeMethod() { System.out.println("#TestNGClass1类: @BeforeMethod"); }...public void beforeMethod() { System.out.println("#TestNGClass2类: @BeforeMethod"); }...套件测试 通过创建一个xml文件,比如testng.xml管理要执行的测试类。...suite标签管理一个测试套件,test标签管理一个测试组,classes标签管理多个测试类,class标签标示每一个测试类。
; import org.testng.annotations.BeforeMethod; public class CalculatorTest { private static Calculator...@BeforeGroups 组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组的第一个测试方法,该方法被调用。 @AfterGroups 组的名单,这种配置方法后,将运行。...此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。 @BeforeMethod 注解的方法将在每个测试方法之前运行。...; import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeSuite; import org.testng.annotations.BeforeTest...只能设置一组参数 2.
-- 测试用例执行与结果断言,无需单独下载,安装eclipse插件即可 reportng-1.1.4.jar -- testng测试报告美化插件...@BeforeGroups 按组( @Test(groups= "findyou") )运行时,此注解在组(findyou组)执行之前运行,可做组(findyou组)执行之前,初始化数据准备类工作。...@AfterGroups 按组( @Test(groups= "findyou") )运行时,此注解在组(findyou组)执行之后运行,可做组(findyou)执行之后,数据还原类工作。...; import org.testng.annotations.BeforeMethod; public class TestngStudy{ //test case 1 @Test public...public void beforeMethod(){ System.out.println("This is beforeMethod")} @AfterMethod public
可以看到,BeforeMethod/AfterMethod在每个方法运行之前/之后都会运行一次。...Run testing.xml后,根据运行结果可以看到执行顺序为1-2-3-4。 ? 8. 忽略测试 忽略测试是指本次测试执行中不想要执行的测试方法,示例如下。...组测试中的方法分组测试 首先介绍一下方法上分组,将方法进行归类。...6) 通过此种做法,可以将很多个测试方法归类到一个组中,之后进行相关操作。 10. 组测试中的类分组测试 上节说的组分组,本节介绍一下类分组,将整个类文件进行分组。...举例说明: 1)创建一个Java类:DependTest; 2)创建2个方法:test1和test2,其中test2依赖于test1,即test1要先执行,如果test1失败,则test2不执行。
1、创建GroupsOnMethod类(创建client组、server组) 脚本代码: package com.demo.groups; import org.testng.annotations.AfterGroups...3、执行结果: 控制台打印结果信息: 按组进行执行。 TestNG结果报告: 2、测试类组 测试类组指在测试类中,为整个类的测试方法指定统一的组。...7.1、执行结果: 控制台打印结果信息: 按组进行执行。...TestNG结果报告: 6.2、执行脚本(testng_groupsOnClass2.xml鼠标右键Run As--->TestNG Suite)。...7.2、执行结果: 控制台打印结果信息: 由于testng_groupsOnClass2.xml文件里指定cat组执行,所以只执行cat组,dog组不执行。 TestNG结果报告:
subtract(double a, double b){ return a-b; } } 让我们写测试类测试add & subtract两个方法,假设我们不想执行...package com.websystique.testng; import org.testng.Assert; import org.testng.annotations.AfterClass;...import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod...public void beforeMethod() { System.out.println("beforeMethod()"); } @AfterMethod...====================================== 我们可以看到给 subtract 测试方法加上 @Test(enabled=false)注解,此测试方法就不会被执行
public void beforemethod() { System.out.println("TestNG2's beforemethod"); } @AfterMethod public... TestNG2's beforemethod TestNG2's testt1 TestNG2's aftermethod TestNG2's beforemethod TestNG2's...->@AfterSuite 其中{}内的与多少个@Test,就循环执行多少次。 ... afterclass's TestNG1 beforeclass's TestNG2 TestNG2's beforemethod TestNG2's testt1 TestNG2's aftermethod... TestNG2's beforemethod TestNG2's testt2 TestNG2's aftermethod afterclass's TestNG2 aftertest aftersuite
基本注解 TestNG注解说明 Before(@BeforeSuite…) After(@AfterSuite…) 方法属性说明 @Test属性说明 注解方法的执行顺序 如图所示:注解方法的执行顺序...示例 下面开始演示各注解执行顺序示例: 1、创建Annotation类(添加@Test等注解) 脚本代码: package com.demo.annotation; import org.testng.annotations.AfterClass...; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeSuite...public void beforeMethod() { System.out.println("beforeMethod"); }...每个Class由多个Method组成,在每个Method执行前执行BeforeMethod,执行之后执行AfterMethod。 TestNG结果报告:
可以通过@Test(timeOut = 1000) 注解来实现TestNG 超时特性。 如果一个带有@Test注解的测试方法应该在很短时间内执行完毕但是却执行了很长时间,我们就应该去研究研究。...编写测试类: package com.websystique.testng; import org.testng.Assert; import org.testng.annotations.AfterClass...; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod...public void beforeMethod() { System.out.println("beforeMethod()"); } @AfterMethod...Eclipse 插件或者mvn clean test 来运行 测试结果 setup() beforeMethod() testAdd() afterMethod() beforeMethod()
; import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test...public void beforeMethod() { System.out.println("beforeMethod"); }...TestNG结果报告: 6.2、执行脚本(testng_multiThread_classes.xml鼠标右键Run As--->TestNG Suite)。...TestNG结果报告: 6.3、执行脚本(testng_multiThread_methods.xml鼠标右键Run As--->TestNG Suite)。...7.3、执行结果: 控制台打印结果信息: 所有方法都可以在不同的线程里去执行。 TestNG结果报告:
TestNG之DataProvider的用法: DataProvider用于提供测试数据,主要有两种方式: 一.返回类型是Iterator,不用管有多少组测试数据,可以抽取出来以map...测试分组的执行信息 (5)执行TestNG的测试程序 3、安装TestNG 见另一篇博客“Eclipse安装TestNG插件”, https://blog.csdn.net/fengke1813/article...; import org.testng.annotations.BeforeMethod; import org.testng.annotations.AfterMethod; public class...; @AfterClass:表示此注解的方法会在当前测试类的所有测试用例结束后执行; @BeforeMethod:表示此注解的方法会在每个测试方法开始运行前执行; @AfterMethod:表示此注解的方法会在每个测试方法结束后执行...testng.xml文件名,在测试结果中可验证两个测试类的测试方法均被执行。
做项目测试之前,需要先添加 maven 依赖,如下图所示: 1.基本测试 Junit和TestNG对于测试方法的标注都是@Test,另外在方法执行前后加上@BeforeMethod、@AfterMethod...测试结果: 由测试结果可看到在每个测试用例执行前都会先执行@BeforeMethod注解的方法,之后都会执行@AfterMethod注解的方法 2....组执行前执行@BeforeGroups注解方法,在测试2组执行后执行@AfterGroups注解方法 测试结果: 5.2测试类分组 @Test(groups=“xxx”) 当前有3个测试类 ClassGroups1Test...xml套件配置文件 3)设置场景,利用配置->->/让Group1和Group3执行,Group2不执行(实际上如果中直接不写...Group2,它也不会执行) xml套件配置文件呈现结果: 测试结果: 由测试结果可以看到,测试类分组在Group3和Group1的方法依次执行了,而Group2分组中的测试类未被执行 注
和Junit相比,TestNG比较适合测试人员使用,因为 TestNG比Junit涵盖功能更全面的测试 Junit更适合隔离性比较强的单元测试 TestNG更适合复杂的集成测试 TestNG的官方网址:...TestNG的引入: 我使用的Eclipse开发工具,所以引入TestNG需要安装Eclipse的TestNG插件,具体方法请参考https://testng.org/doc/download.html...接下来学习TestNG的基本知识点:注解。在新建TestNG类的时候,可以给该类添加很多注解。 ?...-- 4 parallel="methods": 所有用例都可以在不同的线程执行 5 6 parallel="tests": 不同的test tag下的用例可以在不同的线程执行,相同的test...tag下的用例只能在相同的线程执行 7 8 parallel="classes": 不同的class下的用例可以在不同的线程执行,相同的class下的用例在相同的线程执行 9 10
套件,以及测试方法等 基于组,依据业务特性或者说测试的基本需求,可以把某些一些测试用例分配到一些组中,另外一些分配到其他组来执行 依赖性的测试,基于特性的要求,可能测试用例之间执行就会涉及到测试用例执行的依赖性...测试方法的参数化,这符合测试驱动的思想,可以在XML文件中配置参数传递给指定的测试方法 多线程执行,允许在多个环境中执行自动化测试用例,这主要是应用于并行测试,来提升测试执行的效率 测试报告,TestNG...; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import org.testng.Assert...执行后,可以在概述信息里面看到执行的结果信息,主要显示了执行成功的测试用例个数以及失败的,和忽略执行的信息。 在项目中新增testng.xml的文件,文件内容具体为: ? testng.xml的文件中,指定了执行测试类BaiduTest,选择testng.xml后执行,就会显示执行出的结果信息。
领取专属 10元无门槛券
手把手带您无忧上云