真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

TestNg中自動化測試用例設計與管理的通用策略有哪些

本篇文章給大家分享的是有關TestNg中自動化測試用例設計與管理的通用策略有哪些,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在博樂等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網站、成都網站制作、成都外貿網站建設 網站設計制作定制網站開發(fā),公司網站建設,企業(yè)網站建設,成都品牌網站建設,全網營銷推廣,外貿網站建設,博樂網站建設費用合理。

自動化測試的用例設計通用策略

TestNg中自動化測試用例設計與管理的通用策略有哪些

我們在做自動化測試時,是需要對用例進行管理的,比較常用的方案是(以java為例)

  • 一個project對應一個產品;

  • 一個package對應產品中的一個模塊;

  • 一個class對應模塊中的一個場景;

  • 一個測試方法對應場景中的一個測試點;

  • 最后,通過suite,定義組織要執(zhí)行的class。

如下圖所示,TestNGDemo定義為一個產品、包com.my.case1、com.my.case2和com.my.case3代表產品中的3個模塊,而MyCase1、MyCase2等6個類代表6個測試場景。

TestNg中自動化測試用例設計與管理的通用策略有哪些

我們可以在類中設計具體的測試點,如下圖所示,類MyCase5中的方法f9和f10代表兩個測試點(基于Testng)

TestNg中自動化測試用例設計與管理的通用策略有哪些

TestNg中用例組織

Testng通過配置文件來對測試用例進行管理,具體規(guī)則如下:

  • 一個suite里面可以定義要執(zhí)行的test,可以包括多個test;

  • 一個test里面可以定義要執(zhí)行的package和class(可以同時定義package和class,二者是并列關系)

  • 一個class可以設置要執(zhí)行的method,具體組織形式如下:

Suite里定義了兩個test: Simpletest和advancedtest;

在Simpletest中定義了要執(zhí)行的package:com.my.case1和class: com.my.case2.MyCase4;

在類MyCase4中定義了要執(zhí)行的方法f7和不執(zhí)行的方法f8;

在advancedtest中定義了要執(zhí)行的class:com.my. case3.MyCase5

TestNg中自動化測試用例設計與管理的通用策略有哪些

運行結果如下:

com.my.case1包下的類MyCase1和類MyCase2中的所有方法都運行了,f1、f2、f3和f4;

類MyCase4中只運行了方法f7;

類MyCase5中的所有方法都運行了,f9和f10。

TestNg中自動化測試用例設計與管理的通用策略有哪些

TestNG中group的應用

Group的基礎使用

TestNG可以執(zhí)行復雜的測試方法分組進而把測試用例進行分類??梢酝ㄟ^@Test(groups = { "組1","組2" })進行標識;

分組可以作用在具體的類和方法上,作用在類上表示類里的所有方法都屬于該分組;而作用在方法上則表示只有該方法屬于該分組。

具體代碼如下:

MyCase1類具備smoketest標簽 @Test(groups = { "smoketest" }) public class MyCase1 {  @Test  public void f1() {      System.out.println("MyCase1 f1");      assertEquals("a","b");       }   @Test   public void f2() {    System.out.println("MyCase1 f2");    assertEquals("a","a"); } }  MyCase2類只有f3方法具備smoketest標簽 public class MyCase2 {  @Test(groups = { "smoketest" })  public void f3() {      System.out.println("MyCase2 f3");      assertEquals("a","b");       }   @Test   public void f4() {    System.out.println("MyCase2 f4");    assertEquals("a","a"); } }  MyCase3類具備performancetest標簽 @Test(groups = { "performancetest" }) public class MyCase3 {  @Test  public void f5() {      System.out.println("MyCase3 f5");      assertEquals("a","b");       }     @Test   public void f6() {    System.out.println("MyCase3 f6");    assertEquals("a","a"); } }  MyCase4類只有f8方法具備performancetest標簽 public class MyCase4 {  @Test  public void f7() {      System.out.println("MyCase4 f7");      assertEquals("a","b");       }     @Test(groups = { "performancetest" })   public void f8() {    System.out.println("MyCase4 f8");    assertEquals("a","a"); } }  MyCase5類具備securitytest 和performancetest標簽 public class MyCase5 { @Test(groups = { "securitytest","performancetest" })  public void f9() {      System.out.println("MyCase5 f9");      assertEquals("a","b");       }   @Test   public void f10() {    System.out.println("MyCase5 f10");    assertEquals("a","a"); } }  MyCase6類具備securitytest標簽 @Test(groups = { "securitytest" }) public class MyCase6 {  @Test  public void f11() {      System.out.println("MyCase6 f11");      assertEquals("a","b");       }   @Test   public void f12() {    System.out.println("MyCase6 f12");    assertEquals("a","a"); } }

設置配置文件,如下所示:

TestNg中自動化測試用例設計與管理的通用策略有哪些

其中define標簽部分定義了需要的組分類,該部分可以省略,但個人建議保留,使用define可以清晰的看到現(xiàn)有的group結構;

run標簽帶表了需要運行的group信息,我們可以通過include和exclude對需要執(zhí)行的分組和不需要執(zhí)行的分組進行設置,方法非常簡單,如下所示:

      

上圖中通過include來設置運行securitytest組標識的用例。

運行結果如下:可以看到securitytest標簽下的用例都運行了

TestNg中自動化測試用例設計與管理的通用策略有哪些

@BeforeGroups和@AfterGroups的應用

@BeforeGroups注解的方法將在本組內任何測試方法執(zhí)行前被執(zhí)行一次,可用于執(zhí)行初始化操作。類似的@AfterGroups  注解的方法將在本組內任何測試方法執(zhí)行后被執(zhí)行,可用于關閉資源。@Test(groups = { "smoketest" })

public class MyCase1 {  @BeforeGroups(groups = { "smoketest" })  public void setup() {     System.out.println("smoketest setup");       }  @AfterGroups(groups = { "smoketest" })  public void teardown() {     System.out.println("smoketest teardown");       }  @Test  public void f1() {      System.out.println("MyCase1 f1");      assertEquals("a","b");       }     @Test   public void f2() {    System.out.println("MyCase1 f2");    assertEquals("a","a"); } }

代碼執(zhí)行如下:可以看到@BeforeGroups和@AfterGroups在組smoketest

的運行前后分別執(zhí)行。

TestNg中自動化測試用例設計與管理的通用策略有哪些

以上就是TestNg中自動化測試用例設計與管理的通用策略有哪些,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享名稱:TestNg中自動化測試用例設計與管理的通用策略有哪些
URL網址:http://weahome.cn/article/pocpse.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部