自动化测试之TestNg的基本用法

概述:TestNg是Java中的一个测试框架,可以用来做单元测试和集成测试,它可以用注解来强化测试,测试人员一般用它来进行自动化测试用例的执行。
testng.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="tests" thread-count="2">
	<test name="YY">
		<classes>
		 <class name="com.lemon.cases.LoginCase"></class>
		 <class name="com.lemon.cases.TeacherCase"></class> 
		</classes>
	</test>
	<listeners>
		<listener class-name="com.lemon.listener.AllureReportListener"/>
	</listeners>
	<parameter name="driverType" value="chrome"></parameter>
</suite>

(1)一个suite(套件)由一个或多个测试(test)构成
(2)一个test(测试)是由多个类(class)组成
(3)一个class(类)是由一个或多个方法(method)组成
是testng.xml的根标记
name:套件的名称,这是一个强制属性
parallel:TestNG是否运行不同的线程来运行这个套件,默认为none,其他级别为methods、tests、classes、instances
thread-count:如果启用并行模式(忽略其他方式),则为使用的线程数

<!--多线程的数量是2:thread-count="2"-->
<!--
    tests级别:不同的test tag 下的用例,可以在不同的线程下执行;相同的test tag下的用例,只能在同一个线程中执行
    thread-count:代表最大并发线程数
-->

一.常用注解
@BeforeMethod:注释方法将在每个测试方法之前运行
@AfterMethod:注释方法将在每个测试方法之后运行
@BeforeClass:在某个测试类(class)所有测试方法执行开始之前开始执行,注释方法仅运行一次
@AfterClass:在某个测试类(class)所有测试方法执行结束之后开始执行,注释方法仅运行一次
@BeforeTest:在某个测试(test)所有测试方法执行开始之前开始执行
@AfterTest:在某个测试(test)所有测试方法执行结束之后开始执行
@BeforeSuite:在某个测试套件(suite)所有测试方法执行开始之前执行
@AfterSuite:在某个测试套件(suite)所有测试方法执行结束之后执行
@DataProvider:数据提供者,提供数据的方法,dataProvider作为数据提供者只能返回Object[][]和Iterator<Object[]>类型的数据,要从该DataProvider接收数据的@Test方法需要使用与此注释名称相等的dataProvider名称
@Parameters:描述如何将参数传递给@Test方法
@Test:测试方法
注意:除了@Parameters注解的方法中可以有形参,其他注解的方法均是空
@Tes中常用的参数:
@Test(enabled = false):用例就不会运行
@Test(timeOut = 5000):超时测试
@Test(groups=“group2”):分组测试
@Test(expectedExceptions = ArithmeticException.class):预期异常测试
@Test(dependsOnMethods= {“TestNgLearn1”}):依赖测试(硬依赖)
分为hard依赖和soft依赖
hard依赖:默认为此依赖方式,即其所有依赖的methods或者groups必须全部pass,否则被标识依赖的类或者方法将会被略过,在报告中标识为skip,此为默认的依赖方式;
soft依赖:此方式下,其依赖的方法或者组有不是全部pass也不会影响被标识依赖的类或者方法的运行,注意如果使用此方式,则依赖者和被依赖者之间必须不存在成功失败的因果关系,否则会导致用例失败。此方法在注解中需要加入alwaysRun=true即可,如@Test(dependsOnMethods= {“TestNgLearn1”}, alwaysRun=true);
二.testNg常用监听器
IAnnotationTransformer
IAnnotationTransformer2
IHookable
IInvokedMethodListener
IMethodInterceptor
IReporter
ISuiteListener
ITestListener

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值