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判断忽略顺序是否相等