自動化測試由淺入深--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,但是本來該第二個執行的測試用例被跳過了。這就是跳過某些用例用到淀粉參數,是不是很簡單。

  好了今天講解到這里了,喜歡的朋友關注我的公 眾 號喲,發布信息更早,專業講解測試技術掃  碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM