4

ReportNG は、TestNG の通常のレポートよりも優れたレポートを作成すると聞きました。ReportNG レポートを作成しようとしましたが、失敗しました。私はEclipseを使用しており、ReportNGをダウンロードし、reportng-1.1.3.jarとvelocity-dep-1.4.jarをクラスパスに追加し、testng-suite.xmlを次のように記述しました:

<suite name="SA" verbose="10">
<listeners>
  <listener class-name="org.uncommons.reportng.HTMLReporter" />
  <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
...
</suite>   

実行すると、ReportNG レポートではなく TestNG デフォルト レポートが表示されました。ReportNG のレポートを取得するには、他に何をすればよいですか (クラスの拡張、リスナーの実装、コードのスニペットの作成など)。

また、コマンド useDefaultListeners="false" を使用する必要があると聞きましたが、testng-suite.xml のどこに含める必要がありますか? 誰もが ANT について語っていますが、私は個人的に ANT を使用するのが好きではありません。上記のコマンドを testng-suite.xml に含める方法はありますか?

4

3 に答える 3

3

defaultlistenersを無効にするには、

Goto Eclipse Project-> Properties -> TestNG -> Disable deafult listeners.

実行後、次のエラーが発生します。

java.lang.NoClassDefFoundError: com/google/inject/Module 
        at java.lang.Class.getDeclaredMethods0(Native Method) 
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source) 
        at java.lang.Class.privateGetPublicMethods(Unknown Source) 
        at java.lang.Class.getMethods(Unknown Source) 

これを解決するには、google-guice-3.0.zipをダウンロードして、guice-3.0.jarをクラスパスに貼り付けます。

次に、ワークスペース/ test-output/htmlでレポートを実行して確認します。

于 2011-08-12T07:10:31.193 に答える
3

Eclipse からどのように起動していますか? その XML ファイルを右クリックして、[Run as... TestNG suite] を選択する必要があります。それがあなたがしていることだと思います。

デフォルトのリスナーを使用しても、発生している問題に影響はありません。ReportNG を使用する場合、TestNG が生成する他のリスナーを気にしないため、これを使用する人もいると思います。そうは言っても、これを Eclipse から実行したい場合は、上記のようにスイートを起動したときに作成された起動構成を編集-usedefaultlisteners falseし、パラメーター ボックスに " " を追加するだけです。

于 2011-06-16T16:39:42.100 に答える
3

私は ReportNG の作成者です。動作させるために Java コードを記述する必要はありません。使用するツールに関係なく、リスナーを TestNG に登録できる必要があります。

私は Ant の ReportNG しか使用していませんが、Maven や Gradle などの他のビルド システムで動作するようになった人もいます。Selenium 固有の動作を妨げるものがあるかどうかはわかりません。エラーメッセージは表示されますか? 最初に確認することは、ReportNG JAR がクラスパスにあることを確認することです。

testng.xmlファイルで TestNG リスナーを指定できることさえ知りませんでした。ただし、Ant ビルド ファイルではなくこの方法でリスナーを指定するようにサンプル レポートを変更したところ、問題なく動作するため、問題はおそらく Selenium から TestNG を構成する方法にあります。

于 2011-06-16T14:29:32.540 に答える