4

機能テストにセレンを使用したテストを作成しました。私はJavaを使用しています。テスト間の構造を作成できるようにしたいと思います。jUnitまたはTestNGでそれを行うことは可能ですか?

次のようなレポートを生成するテスト構造を作成できるようにしたいと考えています。

Top test FAIL
- Module1 test PASS
-- Module1Class1 test PASS
-- Module1Class2 test PASS
--- Module1Class3Method1 test PASS
--- Module1Class3Method2 test PASS
- Module2 test FAIL
-- Module2Class1 test FAIL
--- Module2Class1Method1 test PASS
--- Module2Class1Method2 test FAIL
--- Module2Class1Method3 test PASS
4

7 に答える 7

3

セレンテストの背後にあるコードを整理するために私が見た中で最高のパターンは、ページオブジェクトパターンです。

http://blog.m.artins.net/acceptance-tests-with-jbehave-selenium-page-objects/

これがJavaヘルパーライブラリです。

http://code.google.com/p/webdriver/wiki/PageFactory

于 2009-08-26T05:52:40.317 に答える
1

Selenium Remote Controlの使用を検討しましたか? http://seleniumhq.org/projects/remote-control/

于 2009-08-25T08:46:11.730 に答える
1

これはSeleniumがテストを解釈する形式ではないため、できません。Seleniumはいくつかの異なる言語構文をサポートしており、その中で最も簡単なのはJSおよびHTMLテーブル行です。特定の言語構文に合うようにテストを手書きしたくない場合は、FirefoxのSeleniumIDEの記録機能を使用できます。

于 2009-08-25T08:25:21.053 に答える
1

JUnitまたはTestNGXMLレポートを確認することをお勧めします。XSLTを少し使用してそれらを変換し、必要な形式の新しいHTMLレポートを提供できるはずです。

于 2009-08-25T09:55:10.840 に答える
1

私はこの質問の解決策を見つけたばかりなので、他の人がそれから利益を得ることができるようにここにリンクを置いています。 beust.com まだ試していません。

更新: 試してみた後、次のような結果を生成できます:

Module1.Class3.Method1 PASS
Module1.Class3.Method2 PASS
Module2.Class1.Method1 PASS
Module2.Class1.Method2 FAIL
Module2.Class1.Method3 PASS

失敗メソッド名は「Method2」で、クラス「Class1」にあり、パッケージ「Module2」です。

TestNGのすべての標準的な可能性(その多く)を使用しました+ ITestResultメソッドを使用してTestListenerAdapterを上書きしました:getName()およびgetTestClass()。getName()

それは実際には私が探していた構造ではありませんが、少し解析することで失敗がどこにあったかを知ることができます。そしてプラスとして、クラスとパッケージ名を含むメソッドに名前を付ける必要はありません。

于 2009-08-28T12:36:02.677 に答える
1

TestNGでは、必要に応じて構成ファイル(testng.xml)を介してスイートを定義できます。モジュールごとにテストグループを持つように構成できます。テストグループで失敗すると、テスト全体が失敗として表示されます。しかし、私があまりよく知らないJUnitでもそれを行うことができると思います。

TestNGの優れている点は、依存関係を定義できることです。これらは、テスト実行に特定の論理的な順序を適用し、失敗したテストに依存するテストをスキップするのではなく、失敗させます。失敗する可能性のあるすべてのテストが残されるため、分析がはるかに簡単になり、テストが早く終了します。

しかし、前に言ったように、JUnitでもそれができると思います。それはもっと好みの問題です。また、別の方法で決定した場合、JUnitからTestNGに、またはその逆に変換することは大きな仕事ではありません。

于 2009-10-07T06:18:37.543 に答える
0

私がここにいるかどうかは完全にはわかりませんが、これが役立つと思います: http ://www.jamesnetherton.com/blog/2007/07/02/Creating-a-Selenium-test-suite/

非常に簡単な構造化された方法で、テストをグループ化できます。

于 2009-08-25T11:59:21.807 に答える