2017-07-19 3 views
0

私は複数のテストタグを含み、各テストタグには2つのクラスがあるtestng.xmlがあります。今のところ10-12のテストケースがあるので、10-12のテストタグがありますが、将来この数は50+に増加するかもしれません。その場合、testng.xmlは非常に重くなります。コード行を減らす方法はありますか?testng.xml内の複数のテストタグを何か別のものに置き換える方法はありますか

VerifySuiteの2番目のクラスは@Testアノテーションを持ち、jarから来ているので変更することはできません。以下は

xmlです:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Suite"> 
    <listeners> 
     <listener class-name="com.api.reporting.ExtentReporterNG" /> 
    </listeners> 
    <test name="GET TC001_TC002"> 
     <classes> 
      <class name="com.test.scenarios.TC001_TC002" /> 
      <class name="com.test.api.verification.VerifySuite" /> 
     </classes> 
    </test> 
    <test name="GET TC003_TC004"> 
     <classes> 
      <class name="com.test.scenarios.TC003_TC004" /> 
      <class name="com.test.api.verification.VerifySuite" /> 
     </classes> 
    </test> 
    <test name="GET TC005_TC006"> 
     <classes> 
      <class name="com.test.scenarios.TC005_T006" /> 
      <class name="com.test.api.verification.VerifySuite" /> 
     </classes> 
    </test> 
    <test name="GET TC007"> 
     <classes> 
      <class name="com.test.scenarios.TC007" /> 
      <class name="com.test.api.verification.VerifySuite" /> 
     </classes> 
    </test> 
    <test name="POST TC001_TC002"> 
     <classes> 
      <class name="com.test.scenarios.TC001_TC002" /> 
      <class name="com.test.api.verification.VerifySuite" /> 
     </classes> 
    </test> 
</suite> <!-- Suite --> 

答えて

1

はいあなたはTestNGのを使用してかなり簡単にこれを行うことができます。ここでは、TestNGののすなわちの最新リリースバージョンを使用していることを確認する方法

  1. 。、6.11
  2. はTestNGのリスナーすなわちの実装を作成します。、org.testng.IAlterSuiteListenerorg.testng.IAlterSuiteListener#alter()メソッド内で、あなたは基本的にXmlTestオブジェクトの作成を開始特徴ですコードを使用して、XmlSuiteオブジェクトに挿入します。
あなたの alter()方法は、このような <test>タグやセットの名前が含まれているExcelスプレッドシートまたはCSVまたはJSONファイルなどのデータソースをオフに送り込むことができますここであなたも、この上の派手なビットを得ることができます

`タグに含まれるべきテストクラスのリストを作成し、このリスナーにスイート全体のxmlファイルをプログラム的に織り込ませる。

testng.xmlスイートXMLファイルでは、<listeners>タグのみを指定し、作成したIAlterSuiteListener実装への参照を追加します。

あなたの後ろのことをするのに役立ちます。

+0

本当に役に立ちました。どうもありがとう。 – user3939741

+0

助けてくれたら、私の答えを受け入れることができますか? –

関連する問題