2017-06-05 1 views

答えて

2

はい、以下の全体的なアプローチに従うことでこれを行うことができます。

  • ビルドあなたは試験方法の結果を示し、その後org.testng.ITestResult#getThrowableを経由してその例外を調べ、その後含まITestResultオブジェクトへのアクセスを取得しますここで、このインタフェースimplementatation内でTestNGのインタフェースorg.testng.IReporter
  • を実装するカスタムレポーター実装障害を分類するロジック。

ここでドラフト実装

public class SampleReporter implements IReporter { 
    @Override 
    public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) { 
     for (ISuite suite : suites) { 
      Map<String, ISuiteResult> suiteResults = suite.getResults(); 
      for (ISuiteResult sr : suiteResults.values()) { 
       ITestContext tc = sr.getTestContext(); 
       Set<ITestResult> failedResults = tc.getFailedTests().getAllResults(); 
       for (ITestResult failedResult : failedResults) { 
        Throwable throwable = failedResult.getThrowable(); 
        if (throwable instanceof WebDriverException) { 
         //classify this as a selenium exception 
        } 
       } 
      } 
     } 
    } 
} 

は、あなたが今、あなたのテストクラスの@Listenersのアノテーションを使用して以下のオプション

  • のいずれかを使用して、このリスナーにワイヤーに決めることができます。
  • のTestNG一般的にリスナーとリスナーのすべての上記の方法の詳細については、

あなたは私のthisブログ記事を参照することができServiceLoaderのアプローチを使用して、あなたのスイートxmlファイル

  • <listeners>タグを使用します注入。

  • 関連する問題