自动化测试由浅入深--TestNG篇特定顺序或者跳过某个用例的方法

最近讲到了TestNG,估计要废一些功夫去讲讲,而且为了深入了解,应该撸代码居多。大家应该按照以前我写的文章,配置好eclipse,也按照我敲的代码,一行一行的敲起来,才能深入理解。不要偷懒哟。今天这一章就要讲讲TestNG特定顺序执行测试用例以及跳过不执行某些测试用例的方法。老规矩,先建一个class,建的方法我就不重复了,以下是代码:

package cn.autotest;

 

import org.testng.annotations.Test;

 

public class Shunxu {

@Test(priority=3)

public void test3(){

System.out.print("这个方法虽然排第一,但是我是第三个被执行!\n");

}

@Test(priority=1)

public void test1(){

System.out.print("这个方法虽然排第二,但是我是第一个被执行!\n");

}

@Test(priority=2)

public void test2(){

System.out.print("这个方法虽然排第三,但是我是第二个被执行!\n");

}

}

执行结果为:

这个方法虽然排第二,但是我是第一个被执行!

这个方法虽然排第三,但是我是第二个被执行!

这个方法虽然排第一,但是我是第三个被执行!

PASSED: test1

PASSED: test2

PASSED: test3

 

=============================================

    Default test

    Tests run: 3, Failures: 0, Skips: 0

=============================================

  仔细看代码的同学应该可以看到,这是按照priority后面参数的顺序执行的,而不是按照由上至下的顺序执行。通过priority,我们可以实行顺序执行。

  讲过顺序,下面讲一下跳过某测试用例用到的参数。还是先看代码并执行。

package cn.autotest;

 

import org.testng.annotations.Test;

 

public class Skip {

@Test(priority=3)

public void test3(){

System.out.print("这个方法虽然排第一,但是我是第三个被执行!\n");

}

@Test(priority=1)

public void test1(){

System.out.print("这个方法虽然排第二,但是我是第一个被执行!\n");

}

@Test(priority=2,enabled=false)//注意这里,多了这个enabled

public void test2(){

System.out.print("这个方法虽然排第三,我本应该第二个被执行!但是我执行不了\n");

}

}

执行结果:

这个方法虽然排第二,但是我是第一个被执行!

这个方法虽然排第一,但是我是第三个被执行!

PASSED: test1

PASSED: test3

 

=============================================

    Default test

    Tests run: 2, Failures: 0, Skips: 0

=============================================

代码和顺序执行的代码仅仅多了一行enabled=false,但是本来该第二个执行的测试用例被跳过了。这就是跳过某些用例用到淀粉参数,是不是很简单。

  好了今天讲解到这里了,喜欢的朋友关注我的公 众 号哟,发布信息更早,专业讲解测试技术扫  码

 

posted @ 2019-10-09 10:53  王大哥自动化测试  阅读(1421)  评论(0编辑  收藏  举报