groups 为testNG框架中分组参数,特定环境下分组执行测试用例实现代码如下:
package cn.cn.gloryroad; import org.testng.annotations.Test; public class Grouping { @Test(groups={"人"}) public void Student() { System.out.println("学生方法被调用"); } @Test(groups={"人"}) public void Teacher() { System.out.println("老师方法被调用"); } @Test(groups={"动物"}) public void Cat() { System.out.println("小猫方法被调用"); } @Test(groups={"动物"}) public void Dog() { System.out.println("小狗方法被调用"); } @Test(groups={"人","动物"}) public void feeder() { System.out.println("饲养员方法被调用"); } }
使用xml文件调用程序,代码如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite" > <test name="Test"> <groups> <run> <include name="动物"/> </run> </groups> <classes> <class name="cn.cn.gloryroad.Grouping"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
使用testNG suite执行程序;会发现所有动物方法被调用;
=================================================================================================
priority参数用于执行特定顺序的用例,代码如下:
public class Priority(){
@Test(priority=0)
public void A(){
System.out.println("china");
}
@Test(priority=2,enabled=false)
public void C(){
System.out.println("UFC");
}
@Test(priority=1)
public void B(){
System.out.println("KWD");
}
运行程序执行顺序分别是A(打开页面)、B(登陆)、C(注销)方法;如果在c方法上加上enabled=false则会跳过C方法占不运行;
dependsOnMethods参数用法跟priority相似建议使用priority;
assert断言介绍:
在java中Assert类库中有很多方法,主要介绍常用的:
assertTrue 判断是否为true
assertFalse判断是否为false
assertSame判断引用地址是否相同
assertNotSame 判断引用地址是否不同
assertNull 判断是否为null
assertNotNull 判断是否不是Null
assertEquals判断是否相等,Object类型的对象需要实现hashcode及equals方法
assertNotEquals判断是否不相等
assertEqualsNoOrder判断忽略顺序是否相等