2016-03-03 13 views
5

Maven Failsafe + TestNGを使用してSeleniumテストを実行しています。私はこのようのpom.xmlにシステムプロパティを定義することによって、私のTestNGのテストにパラメータを渡すことができます知っている:testng.xmlを使用せずにSeleniumとTestNGを使用した並列クロスブラウザテスト

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <systemPropertyVariables> 
     <browser>firefox</browser> 
     </systemPropertyVariables> 
    </configuration> 
    </plugin> 

マイTestNGのテストはこのように、このプロパティを参照します。ただし

@Parameters("browser") 
public void setUpClass(@Optional("firefox") String browser) 
{ 
    ... 
} 

、私がいましたtestng.xmlファイルを指定しなくても、クロスブラウザテストを並行して実行することができます。私はこのようなことを試していたが、うまくいかなかった。あなたが助けることができれば幸いです。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <systemPropertyVariables> 
     <browser>firefox, chrome</browser> 
     </systemPropertyVariables> 
     <parallel>tests</parallel> 
    </configuration> 
    </plugin> 

pom.xmlの設定だけでこれを実現できますか?私のプロジェクトのマルチモジュールの性質のため、私はtestng.xmlファイルの使用に熱心ではありません。

+0

"私はこれのようなものを試していたが、うまくいかなかった。"なにが問題だったの?ブラウザの価値をキャプチャした後、何をしているのですか? –

+0

複数のブラウザでセレンテストを並行して実行したい。私は明確にするために私の質問を更新します。 –

答えて

0

* .propertiesファイルのすべてのプロパティにデータを入力し、Properties Maven Pluginと一緒に使用することができます。 QATools Propertiesは、ドライバ設定時にそれらを使いやすくします。

+0

答えに@ Enotovichありがとうございました。追加のプラグインを使用せずにネイティブソリューションを探していましたが、これを試してみます。 –

0

任意のTestNGテストをプログラムで実行することもできます。ここでチェックしてくださいTestNG Running programmatically だから、あなたはどのようなソース(csv、プロパティ、xml、xlsxなど)からでもあなたが望むどんなプロパティでも読み込むコードを持つmainメソッドであなたのクラスを呼び出すだけでよい。

+0

応答のために@Mrunal Gosarに感謝します。マルチモジュールのプロジェクトでこの機能をどのように使用することができますか教えてください。 –

+0

上記のアプローチは、マルチモジュールのMavenプロジェクトとは独立しています。(またはそれについても、Mavenとは独立しています:)) –

関連する問題