TestNG使用

1.介绍

TestNG是一个设计用来简化广泛的测试需求的Java测试框架,从单元测试(隔离测试一个类)到集成测试,自动生成测试报告。

2.使用

使用IDEA创建Maven工程,并在pom.xml中添加:

   <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
        </dependency>
    </dependencies>
3.基本注解
注解 描述
@Test 标记一个类或方法作为测试的一部分
@BeforeMethod 被注释的方法将在每一个测试方法调用前运行
@AfterMethod 被注释的方法将在每一个测试方法调用后运行
@BeforeClass 在调用当前类的第一个测试方法之前运行,仅运行一次
@AfterClass 在调用当前类的最后一个测试方法之后运行,仅运行一次
@BeforeTest 将会在所有的测试方法执行之前运行
@AfterTest 将会在所有的测试方法执行之后运行
@BeforeSuite 在该套件的所有测试都运行在注释的方法之前,仅运行一次
@AfterSuite 在该套件的所有测试都运行在注释方法之后,仅运行一次
@BeforeGroups 配置方法将在之前运行组列表。 在调用属于这些组中的任何一个的第一个测试方法之前不久运行。
@AfterGroups 此配置方法将在之后运行组列表。在调用属于任何这些组的最后一个测试方法之后不久运行。
@DataProvider 标记一个方法用于为测试方法提供数据。 被注释的方法必须返回Object[][],其中每个Object[]可以指派为这个测试方法的参数列表
@Parameters 传递参数给@Test方法

注意:必须掌握注解的执行顺序

  • Before开头的注解,一般用于初始化环境、 准备测试环境(初始化、数据准备等)
  • After开头的注解,一般用于执行测试的环境清理工作(退出、关闭资源等)

举个例子,假设要测试微信功能:1.语音通话 2.视频通话

步骤:
手机解锁						@BeforeSuite
打开微信						@BeforeTest
打开好友聊天界面				 @BeforeClass
邀请通话						@BeforeMethod	//会执行2次,邀请语音,邀请视频
语音通话						@Test
视频通话						@Test
挂断通话						@AfterMethod	//会执行2次,挂断语音,挂断视频
回到微信主屏(退出聊天界面)		 @AfterClass
关闭微信						@AfterTest
手机锁屏						@AfterSuite
4.测试套件

测试套件是为了测试软件程序的行为或一系列行为, 是一个集合

在TestNG中, 使用xml文件来进行测试套件的配置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="套件名">
  <test name="测试名">
    <classes>
      <class name="com.testng" />
    </classes>
  </test>
</suite>

常用标签层级关系:

|-- suite  //只能一个,name必填
	|-- test //可以多个,name必填
		|-- classes 
			|-- class
				|-- methods
		|-- groups
			|-- run
				|-- include
				|-- exclude
		|-- packages
			|-- package
5.分组测试
5.1方法分组
    @Test(groups = "apple")
    public void apple1(){
   
        System.out.println("拿第1个苹果");
    }

    @Test(groups = "apple")
    public void apple2(){
   
        System.out.println("拿第2个苹果");
    }

    @Test
    public void banana(){
   
        System.out.println("拿香蕉");
    }

    @BeforeGroups("apple")
    public void beforeApple(){
   
        System.out.println("拿苹果之前运行");
    }

    @AfterGroups("apple")
    public void afterApple()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值