【自动化一】testng简介

简介:testng是一种常用的自动化框架,适合selenium2的使用;

1、testng的常用注解介绍;

(1)@Test(注解的形式前面必须加@符号,且必须写在将要执行的代码前面进行引入,不用主函数)

该方法是一个测试方法,程序在运行时,会自动默认执行程序中所有的@test方法;

例:

@Test

public void method1(){

System.out.println("test方法");

}

(2)@BeforeMethod与AfterMethod:@BeforeMethod该注脚在测试方法被执行之前会被自动的调用执行;可以被理解成是做初始化的方法,比如执行完一个用例

     需要清除cookie就可以把这个方法写在@BeforeMethod注解下面;

AfterMethod是在测试方法被执行之后被自动的调用执行;理解可以参考@BeforeMethod,可以做结束;

(3)@Beforeclass与@Afterclass:@Beforeclass整体的一个初始化注解,一般只执行一次,适合用作浏览器的打开操作;我们就写在这个注解下面;

@Afterclass整体的一个关闭操作的注解,一般只执行一次,适合用作浏览器的关闭;

2、testng的执行驱动介绍

引入:操作与数据进行剥离,比如一个用例@Test实现的是购物功能(操作),这个购物的功能是不会变的,变的是每次来购物的人(数据)是不同的,如果将数据与操作进行剥离,数据驱动可以根据用例条数去多次调用被执行的对象,将会大大提高自动化的执行效率;

 实现方式:用@DataProvider注解实现;

编码形式-1:@DataProvider

public Object[][] logindata(){//返回值必须定义为一个二维数据Object[][]这是语法规定;

return new Object[][]{{"a"},{"b"}}}此时@Test需要引用数据源代码如下:

@Test(dataprovider="logindata")

public void method(String info){

System.out.println(info);

}

编码形式-2:@DataProvider

@DataProvider(name="loginoutdata")

public Object[][] logindata(){//返回值必须定义为一个二维数据Object[][]这是语法规定;

return new Object[][]{{"a"},{"b"}}}此时@Test引用的时候,@Test(dataprovider="loginoutdata")即此时是等于数据源的名字,而不是它的方法;

 3、testng的运行-testng的XML配置执行;

引入:有的时候一次执行你需要执行多个类,再比如说你有时候一个类中的多个test方法,你想改变执行顺序,或者只想执行其中的几个,再者说你希望执行一个包下面的多个类;此时引入三种配置XML按照类、方法、包的执行方式;

三种方式:按照类class

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" verbose="1" parallel="false" thread-count="1">
<test name="Test1">
<classes>
<class name="com.study.testng.TestngDemo" />
</classes>
</test>
</suite>

TestngDemo是我的类名,执行时换成自己的类名称即可;

按照方法method:

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" verbose="1" parallel="false" thread-count="1">
<test name="Test1">
<classes>
<class name="com.study.testng.TestngDemo" />
<methods>
<include name="test2"/>
<include name="test1"/>
</methods>
</classes>
</test>
</suite>

按照包package:

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" verbose="1" parallel="false" thread-count="1">
<test name="Test1">
<packages>
<package name="com.study.testng" />
</packages>
</test>
</suite>

 

以上三种方式可以打成架包,放在自己本地,以后采用命令行调用的方式进行启动;

 

转载于:https://www.cnblogs.com/haibaowang/p/5573170.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值