TestNG使用步骤和优点
优点:
-
漂亮的HTML格式测试报告
-
支持并发测试
-
参数化测试更简单
-
支持输出日志
-
支持更多功能的注解
编写TestNG测试用例的步骤:
-
使用 Eclipse生成TestNG的测试程序框架
-
在生成的程序框架中编写测试代码逻辑
-
根据测试代码逻辑,插入TestNG注解标签
-
配置Testng.xml文件,设定测试类、测试方法、测试分组的执行信息
-
执行TestNG的测试程序
02、安装执行TestNG
1、如何安装TestNG?
启动Eclipse,选择Help-》Install New Software-》点击add-》name中输入TestNG,location中输入“http://beust.com/eclipse/”,点击ok-》在弹出的install对话框中勾选TestNG复选框-》Next-》Accept-》Finish
2、testNG用例执行后如何查看执行结果?
在Console标签栏中展示测试用例的执行结果,如图:
在工程下也会生成一个test-output文件夹,如图:
03、TestNG常用注解
执行顺序如下:
@BeforeSuite > @BeforeTest > @BeforeMethod > @Test > @AfterMethod > @AfterTest > @AfterSuite
@BeforeSuite | 表示会在当前测试集合中的任意一个测试用例开始运行前执行 |
@AfterSuite | 表示会在当前测试集合中的所有测试程序运行结束之后执行 |
@BeforeTest | 表示会在Test中的任意一个测试用例开始运行前执行 |
@AfterTest | 表示会在Test中的所有测试用例运行结束后执行 |
@BeforeGroups | 分组测试用例的任一测试用例开始运行前执行 |
@AfterGroups | 分组测试用例的所有测试用例运行结束后执行 |
@BeforeClass | 在当前测试类的任意一个测试用例开始运行前执行 |
@AfterClass | 在当前测试类的所有测试用例运行结束后执行 |
@BeforeMethod | 在每个测试方法开始运行前执行 |
@AfterMethod | 在每个测试方法运行结束后执行 |
@Test | 被认为是一个测试方法,即一个测试用例 |
如何创建TestNG测试集合?
测试集合:在自动化测试的执行过程中,通常会产生批量运行多个测试用例的需求,此需求称为运行测试集合(Test Suite)
TestNG的测试用例可以是相互独立的,也可以按照特定的顺序来执行(配置TestNG.xml)
如何配置testNG.xml文件?
<suite name = "TestNG Suite"> //自定义的测试集合名称
<test name = "test1"> //自定义的测试名称
<classes> //定义被运行的测试类
<class name = "cn.gloryroad.FirstTestNGDemo" /> //测试类的路径
<class name = "cn.gloryroad.NewTest" />
</classes>
</test>
</suite>
测试用例的分组(group)
-
只执行一组分组配置如下:
<suite name = "TestNG Suite">
<test name = "Grouping">
<groups>
<run>
<include name = "动物" />
</run>
</groups>
<classes>
<class name = "cn.gloryroad.Grouping"/>
</classes>
</test>
</suite>
-
执行多组分组时配置如下(两种形式都可以):
<suite name = "TestNG Suite">
<test name = "Grouping">
<groups>
<run>
<include name = "动物" /> //name分组名称
<include name = "人" />
</run>
</groups>
<classes>
<class name = "cn.gloryroad.Grouping"/>
</classes>
</test>
</suite>
<suite name = "TestNG Suite">
<test name = "Grouping">
<groups>
<define name = "All">
<include name = "动物" />
<include name = "人" />
</define>
<run>
<include name = "All" />
</run>
<define name = "All">
<include name = "动物" />
<include name = "人" />
</define>
<run>
<include name = "All" />
</run>
</groups>
<classes>
<class name = "cn.gloryroad.Grouping"/>
</classes>
</test>
</suite>
04、TestNG补充
1、依赖测试(dependsOnMethod)
@Test(dependsOnMethod
= {"方法名称
"})
被依赖的方法优先于此方法执行
2、特定顺序执行测试用例(priority)
@Test(priority
= 0/1/2/3/4/…
)
按照数字大小顺序优先执行,优先执行1,然后是2…
3、如何跳过某个测试方法(enabled = false)
@Test(priority
= 0/1… , enabled = false
)
执行结束后,在测试报告中显示跳过的测试用例数,例如skip=1
4、数据注解
-
参数化测试(@Parameters-》通过xml文件从外部给测试方法传参):<Parameter name="Type" value="chrome"/>
-
数据驱动(@DataProvider)
5、测试报告中自定义日志(Reporter.log(“输入自定义内容”)),例如:
@Test(groups
= {"人
"})
public void
student(){
System.out.println("学生方法被调用
");
Reporter.log
("学生方法自定义日志
");
}
END学习安排上!
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….