0

私の問題は次のとおりです。職場で Selenium IDE と RC を使用して、Web サイトの機能をテストしています。私たちのウェブサイトには、アイテムを追加するたびにサーバーに保存されるリストがあります。ユーザーはログインすることもできます。

Selenium スイートが途中で失敗した場合 (たとえば、サイトにエラーがあったため)、リストにいくつかの項目が残ったり、ユーザーがログインしたままになったりすることがあります。ティアダウン スクリプト (ログアウト、リストのクリア)はスイートの一部になりましたが、スイートが途中で失敗すると実行されません。そのため、次のテストが開始されたときに、最初から開始する必要はありません。もちろん、これにより、そのスイートのいくつかのステップが失敗し、テスト実行全体がクラッシュして燃焼します。

私が思いついた解決策の 1 つは、各テスト スイートの後に、失敗しても許されるいくつかの小さなティアダウン スイートを実行することでした。

例: Big Main Suite 失敗 ログアウト 失敗 クリア リスト 成功

これは、途中で失敗してリストにいくつかの項目が残ったテストで起こることです

Big Main Suite 成功 ログアウト 失敗 クリア リスト 失敗

これは、実行が成功した場合に発生することです。

この解決策はおそらく機能しますが、レポートにとっては本当にひどいものです。

だから私は基本的に2つの質問があります:

  1. スイートが失敗した場合でも、スイートをゼロから開始するための最もエレガントな方法は何ですか?
  2. 失敗しても構わないスイートやケースの「失敗」メッセージを抑えることはできますか?
4

1 に答える 1

1

質問 1. スイートが失敗した場合でも、スイートをゼロから開始する最もエレガントな方法は何ですか?

testNG または JUnit フレームワークを使用することをお勧めします。これらには両方とも、テスト結果に関係なく、テストが完了するたびに何が起こるべきかを記述するのに役立つ注釈があります。私はtestNGのみを使用しました。testNG は、メソッドが成功、スキップ、または失敗したときに何が起こるかを定義できる追加のリスナーを提供します。

メソッドまたはクラスが呼び出される前に実行されるメソッドを定義することもできます (@BeforeMethod アノテーション)。

現在レポートをどのように扱っているかはわかりませんが、testNG には基本的な詳細を示す優れた HTML レポートがあります。

testNG を使用すると、質問 2に記載されている内容を達成できます。testNG を使用すると、テストをグループ化し、それらのテストをまとめて実行できます。失敗しても構わないすべてのテストを 1 つのグループに追加して実行できます。

学習曲線は比較的少なく、仕事が楽になります。testng と Selenium との統合の詳細については、こちらを参照してください。

于 2012-05-23T02:06:38.223 に答える