1. 程式人生 > >TestNG詳解(單元測試框架)

TestNG詳解(單元測試框架)

參數 http () 彈出 內容 name led 大小 2.4

一、TestNG的優點

  1.1 漂亮的HTML格式測試報告

  1.2 支持並發測試

  1.3 參數化測試更簡單

  1.4 支持輸出日誌

  1.5 支持更多功能的註解

二、編寫TestNG測試用例的步驟

  2.1 使用 Eclipse生成TestNG的測試程序框架

  2.2 在生成的程序框架中編寫測試代碼邏輯

  2.3 根據測試代碼邏輯,插入TestNG註解標簽

  2.4 配置Testng.xml文件,設定測試類、測試方法、測試分組的執行信息

  2.5 執行TestNG的測試程序

三、如何安裝TestNG

啟動Eclipse,選擇Help-Install New Software-》點擊add-name中輸入TestNGlocation中輸入“http://beust.com/eclipse/”,點擊ok-》在彈出的install對話框中勾選TestNG復選框-Next-Accept-Finish

四、testNG用例執行後如何查看執行結果?

  4.1 Console標簽欄中展示測試用例的執行結果,如圖:

  技術分享

  4.2 在工程下也會生成一個test-output文件夾,如圖:

  技術分享

 

五、TestNG常用註解:執行順序如下

  @BeforeSuite > @BeforeTest > @BeforeMethod > @Test > @AfterMethod > @AfterTest > @AfterSuite

@BeforeSuite

表示會在當前測試集合中的任意一個測試用例開始運行前執行

@AfterSuite

表示會在當前測試集合中的所有測試程序運行結束之後執行

@BeforeTest

表示會在Test中的任意一個測試用例開始運行前執行

@AfterTest

表示會在Test中的所有測試用例運行結束後執行

@BeforeGroups

分組測試用例的任一測試用例開始運行前執行

@AfterGroups

分組測試用例的所有測試用例運行結束後執行

@BeforeClass

在當前測試類的任意一個測試用例開始運行前執行

@AfterClass

在當前測試類的所有測試用例運行結束後執行

@BeforeMethod

在每個測試方法開始運行前執行

@AfterMethod

在每個測試方法運行結束後執行

@Test

被認為是一個測試方法,既一個測試用例

六、如何創建TestNG測試集合?

  6.1 測試集合:在自動化測試的執行過程中,通常會產生批量運行多個測試用例的需求,此需求稱為運行測試集合(Test Suite

  6.2 TestNG的測試用例可以是相互獨立的,也可以按照特定的順序來執行(配置TestNG.xml

  6.3 如何配置testNG.xml文件?

<suite name = "TestNG Suite">    //自定義的測試集合名稱
  <test name = "test1">    //自定義的測試名稱
    <classes>    //定義被運行的測試類
      <class name = "cn.gloryroad.FirstTestNGDemo" />    //測試類的路徑
      <class name = "cn.gloryroad.NewTest" />
    </classes>
  </test> 
</suite>

七、測試用例的分組(group

  7.1 只執行一組分組配置如下:

<suite name = "TestNG Suite">
  <test name = "Grouping">
    <groups>
      <run>
        <include name = "動物" />
      </run>
    </groups>
    <classes>
      <class name = "cn.gloryroad.Grouping"/>
    </classes>
  </test>
</suite>

  7.2 執行多組分組時配置如下(兩種形式都可以):

<suite name = "TestNG Suite">
  <test name = "Grouping">
    <groups>
      <run>
        <include name = "動物" />   //name分組名稱
             <include name = "人" />
      </run>
    </groups>
    <classes>
      <class name = "cn.gloryroad.Grouping"/>
    </classes>
  </test>
</suite>            
<suite name = "TestNG Suite">
    <test name = "Grouping">
        <groups>
       <define name = "All">
          <include name = "動物" />
          <include name = "人" />
       </define>
       <run>
          <include name = "All" />
       </run>
     </groups>
    <classes>
      <class name = "cn.gloryroad.Grouping"/>
    </classes>
  </test> 
</suite>

八、依賴測試(dependsOnMethod

  @Test(dependsOnMethod = {"方法名稱"})

  被依賴的方法優先於此方法執行

九、特定順序執行測試用例(priority

  @Test(priority = 0/1/2/3/4/…)

  按照數字大小順序優先執行,優先執行1,然後是2…

十、如何跳過某個測試方法(enabled = false

  @Test(priority = 0/1… , enabled = false)

  執行結束後,在測試報告中顯示跳過的測試用例數,例如skip=1

十一、測試報告中自定義日誌(Reporter.log輸入自定義內容)),例如:

  @Test(groups = {""})

  public void student(){

    System.out.println("學生方法被調用");

    Reporter.log("學生方法自定義日誌");

  }

技術分享

TestNG詳解(單元測試框架)