qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          TestNG自定義記錄器測試報告

          在本節中,我們將介紹一個例子,編寫自定義記錄器和TestNG的方法。要編寫一個定制的記錄器類,我們的擴展類應實現IReporter接口。讓我們繼續前進,并創建一個示例使用自定義的記錄器。
            創建測試案例類
            創建一個Java類為 SampleTest.java 在 C:\ > TestNG_WORKSPACE
          import org.testng.Assert;
          import org.testng.annotations.Test;
          public class SampleTest {
          @Test
          public void testMethodOne(){
          Assert.assertTrue(true);
          }
          @Test
          public void testMethodTwo(){
          Assert.assertTrue(false);
          }
          @Test(dependsOnMethods={"testMethodTwo"})
          public void testMethodThree(){
          Assert.assertTrue(true);
          }
          }
            上述測試類的包含三個測試方法,其中testMethodOne 和 testMethodThree將通過在執行時,而testMethodTwo由通過一個falseBoolean的值Assert.assertTrue方法,它是用于在測試中的真值條件失敗。
            創建自定義報告類
            創建另一個新的類名為 CustomReporter.java 在 C:\ > TestNG_WORKSPACE
          import java.util.List;
          import java.util.Map;
          import org.testng.IReporter;
          import org.testng.ISuite;
          import org.testng.ISuiteResult;
          import org.testng.ITestContext;
          import org.testng.xml.XmlSuite;
          public class CustomReporter implements IReporter{
          @Override
          public void generateReport(List xmlSuites, List suites,
          String outputDirectory) {
          //Iterating over each suite included in the test
          for (ISuite suite : suites) {
          //Following code gets the suite name
          String suiteName = suite.getName();
          //Getting the results for the said suite
          Map<string, isuiteresult=""> suiteResults = suite.getResults();
          for (ISuiteResult sr : suiteResults.values()) {
          ITestContext tc = sr.getTestContext();
          System.out.println("Passed tests for suite '" + suiteName +
          "' is:" + tc.getPassedTests().getAllResults().size());
          System.out.println("Failed tests for suite '" + suiteName +
          "' is:" +
          tc.getFailedTests().getAllResults().size());
          System.out.println("Skipped tests for suite '" + suiteName +
          "' is:" +
          tc.getSkippedTests().getAllResults().size());
          }
          }
          }
          }
            前面的的類實現org.testng.IReporter 接口。它實現了IReporter接口定義的方法GenerateReport。這個方法有三個參數:
            第一個是xmlSuite,這是TestNG的測試XML正在執行中提到的列表套件
            第二個是套件,其中包含一套測試執行后信息,該對象包含了所有的信息包,類,測試方法和測試執行結果。
            第三的outputDirectory,報告將產生的輸出文件夾路徑,其中包含的信息。
          創建 testng.xml
            創建一個文件testng.xml 在 C:\ > TestNG_WORKSPACE 來執行測試用例
          <?xml version="1.0" encoding="UTF-8"?>
          <suite name="Simple Reporter Suite">
          <listeners>
          <listener class-name="CustomReporter" />
          </listeners>
          <test name="Simple Reporter test">
          <classes>
          <class name="SampleTest" />
          </classes>
          </test>
          </suite>
            編譯SampleTest,CustomReporter類使用javac
            C:\TestNG_WORKSPACE>javac CustomReporter.java SampleTest.java
            運行 testng.xml.
            C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
            驗證輸出
            ===============================================
            Simple Reporter Suite
            Total tests run: 3, Failures: 1, Skips: 1
            ===============================================
            Passed tests for suite 'Simple Reporter Suite' is:1
            Failed tests for suite 'Simple Reporter Suite' is:1
            Skipped tests for suite 'Simple Reporter Suite' is:1
            前面的例子顯示了一個簡單的自定義報告器,打印的數量在控制臺上對每個套件包含在上述的測試執行失敗,通過跳過測試。報告器主要是用于測試的執行,以生成最終的報告。擴展程序可以被用來生成XML,HTML,CHM,CSV或文本格式的文件,根據報告要求。

          posted on 2014-09-05 09:41 順其自然EVO 閱讀(730) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黄平县| 色达县| 布拖县| 绥棱县| 太湖县| 饶平县| 长沙县| 靖江市| 香格里拉县| 伊金霍洛旗| 尖扎县| 红安县| 大厂| 旺苍县| 行唐县| 南平市| 莎车县| 石渠县| 扎囊县| 民丰县| 徐汇区| 永泰县| 闽侯县| 沛县| 松溪县| 鲁山县| 祁阳县| 察隅县| 霍州市| 三门县| 图们市| 大余县| 永顺县| 休宁县| 固安县| 舟曲县| 子洲县| 广饶县| 阿拉尔市| 综艺| 林州市|