1.enabled属性
在Testng中,如果方法前面添加了@Test注释,然后没有其他的属性,那么默认这个用例会被自动运行。当测试用例没有书写完成,或者不想测试时,可以采用注解@Test(enable=false)来禁止测试用例的执行。Enable属性有两个值true和false。
@Test(timeOut = 3000,enabled = false)
public void loginTest(){
try{
Thread.sleep(3100);
}catch (InterruptedException e){
System.out.println(e.toString());
}
}
@Test
public void testenable(){
System.out.println("测试enable");
}
跳过上面的loginTest测试
2.优先级设置priority
有时候,我们更希望,一个类文件下的测试用例按照我们设想的顺序去执行,而不是默认按照方法名的字母排序去执行。
@Test注释中有一个属性,叫priority支持设置用例的优先级。如果不带这个属性,默认priority是等于0,而且priority值越小,优先级越高。来看看下面的举例。
import org.testng.Reporter;
import org.testng.annotations.Test;
public class TestPriority {
@Test(description="优先级" ,priority= 10)
public void TestpriorityAdd() {
Reporter.log(String.valueOf(11+12));
}
@Test(description="优先级" ,priority= 2)
public void Testprioritysub() {
Reporter.log(String.valueOf(21-12));
}
@Test(description="优先级" ,priority= 5)
public void TestpriorityCat() {
Reporter.log("cat 喵喵");
}
@Test(description="优先级" ,priority= 4)
public void TestprioritypDog() {
Reporter.log("dog 汪汪");
}
@Test(description="优先级" ,priority= 8)
public void TestpriorityEnglish() {
Reporter.log("good English");
}
@Test(description="优先级" ,priority= 1)
public void TestpriorityChinese() {
Reporter.log("good Chinese");
}
}