6

内部 Web アプリ用にいくつかの Selenium テストをセットアップしており、テストの「ベスト プラクティス」に関するアドバイスを探しています。テストの 1 つは、UI を介して削除できないデータを UI を介して追加しようとしています (たとえば、Web アプリを介してレコードを追加できますが、削除するには内部の誰かに連絡してデータベース レベルで削除する必要があります)。通常、Selenium テストの実行後のデータのクリーンアップをどのように説明しますか?

問題のアプリは PHP で作成されており、テストには PHP を使用しています (Selenium RC と SimpleTest を使用)。ただし、これは幅広いベスト プラクティスの質問であるため、他のツールなども使用できます。テスト中のアプリは開発環境なので、テストからのデータの持ち越しは特に気になりません。

いくつかのアイデア:

  1. Selenium テストでデータベースに手動で接続してデータをクリーンアップする
  2. これを管理するためにDBUnitのようなものを使用しますか?
  3. データを追加するだけで、クリーンアップについて心配する必要はありません (別名、怠惰なアプローチ)。

ありがとう!

編集:ほとんどのアイデアは同じ結論に集中しているようです:既知のデータセットを処理し、テストが終了したら復元します。このメカニズムは、おそらく言語やデータの量などによって異なりますが、これは私のニーズには合っているようです。

4

5 に答える 5

0

怠惰なアプローチは避けてください。それは良くなく、最終的には失敗します。この別のStackOverflowの質問で、このトピックに関する以前の回答を参照してください。

于 2009-03-20T01:23:38.140 に答える
0

テストが完了したらワイプできる別のデータベース インスタンスに webapp をポイントします。次に、デバッグが必要な場合は、テストの実行後にデータベースを検査します。完了したら、すべてのテーブルを吹き飛ばすことができます。シード データが必要な場合は、現在のデータベースのエクスポートを取得し、テストの前にそれを新しいインスタンスに復元できます。

于 2009-03-19T16:58:51.470 に答える