2016-08-03 14 views
1

私はtestNGとSeleniumを使ってアプリケーションの複数の機能テストを実行しています。Mavenを使ってJARファイルからtestNGプロジェクトを実行

もっと安定したテストをするために、私はプロジェクトフォルダ内にfirefoxバイナリを組み込み、デフォルトのブラウザではなくこの特定のバイナリを呼ぶことにしました。

私が直面する問題は、誰かが自分のテストを使いたいなら、彼はEclipseでプロジェクトをインポートし、Java 8ライブラリを再リンクし、EclipseにTestNGをインストールし、プロジェクトにセレンジャーを追加して、 testNG設定を作成し、最後に選択したxmlで実行します。

javaのSeleniumTestNGTest myXmlFile.xml

この方法が異なっを避けるだろう:私は、コマンドラインで呼び出しますjarファイルにプロジェクトを変換する簡単なこの可能であれば、のようなものが知りたいと思った 設定は上に書いた? javaを使用してjarからtestNGテストを呼び出すことはできますか? firefoxはjarファイルから実行可能か?

編集1:コメントの良い提案は、私のソースをmavenプロジェクトに移行することです。しかし、依然として同じ問題が残っています。私のテストプロジェクトが必要な設定を管理できますか? (セレン瓶、java 8ライブラリ、testNG jar、Firefoxブラウザの実行)

+0

これは、mavenが普及している理由です。ソースをMavenプロジェクトに移行することを検討してください。 –

+0

hello thorbjornからのオーバーウォッチ。メイヴンはどうすればもっと私を助けることができましたか?私はそれがプロジェクトの依存関係を管理することができると私はインターネットでそれを楽しみにしているが、私はあなたから私の問題のためにmavenを使用する方法についてもう少し詳しく知ることができるなら、それは素晴らしいだろう。 –

+0

@BobReynolds Mavenにはマニュアルがありますが、スタックオーバーフローの答えの情報の段落でそれを得ることはできません。しかし、あなたの質問はMavenの使用に関するものではないので、Mavenを使用してあらゆる種類の回答を作成すると、トピックはオフトピックになります。 – Gimby

答えて

1

最後に、私はプロジェクトをメインに作成しました。メインは、プログラマの引数で渡されたXMLファイルで指定されているtestNGスイートを呼び出します。このメソッドを使用すると、externライブラリ(ライブラリtestNGとセレンはすでに内部にある)を気にせずにjarファイルからテストを実行できます。

ここで、それは誰を助けることができる場合は、メインのコード:

public class Runner { 

public static void main(String[] args) throws IOException { 

    if(args.length != 2) { 
     System.out.println("Usage : <xmlFile> <OutputFileName>"); 
     System.exit(-1); 
    } 

    Path path = Paths.get(args[0]);//Path to the xml 

    new PrintWriter(args[1]).close(); 

    Charset charset = StandardCharsets.UTF_8; 

    String content = new String(Files.readAllBytes(path), charset); 
    content = content.replaceAll("theOutputFileNamePattern", args[1]); 
    Files.write(path, content.getBytes(charset)); 

    //We create a testNG object to run the test specified in the xml file 
    TestListenerAdapter tla = new TestListenerAdapter(); 
    TestNG testng = new TestNG(); 

    List<String> suites = Lists.newArrayList(); 
    suites.add(args[0]); 

    testng.setTestSuites(suites); 

    testng.run(); 

} 

} 

次に、あなただけの日食に行かなければならない、[ファイルのclicクリック - > [エクスポート] - > RunnableをJarファイル - >その構成を選択しますエクスポートしたい - >完了します。

関連する問題