2017-12-04 16 views
0

私はCasperJSを自動UIテストに使用しています。私はいくつかのランダムなデータ、POCの種類で基本的なUIのテストと検証を行ってきました。この自動化は、Webサーバーを起動し、SQLファイルからMySQLデータをロードし、CasperJSテストケースを開始し、Webサーバーを停止し、ログファイルをチェックするbashスクリプトを使用して設定しました。データの既知の状態(mysqlデータベース)のUIテスト(casperjs)

ここでは、MySQLに格納されているデータの状態を確認して、テストを開始したいと考えています。私はリストデータとフォームデータを、既知のデータベースステータスを持つ詳細なフィールド情報でテストすることができます。データベース内のデータの状態を一瞬でどのように知るべきですか?

1)すべてのデータについてステータスと詳細を含む事前入力済みのJSONダンプファイルを使用する必要がありますか?

2)WebサービスAPIを使用する必要がありますか? (WebサービスAPIは、Webページからのデータの表示/保存/削除に使用されています)

例を考えてみましょう。私はUsersテーブルで5人のユーザーを持っています。今、ホームページを開くと、5人のユーザーに大雑把な詳細が表示されます。ユーザーのリストからレコードをクリックすると、そのユーザーに関する詳細情報を含むフォームが表示されます。 Webページは、詳細なユーザーデータをフォームに表示するために、user_idの助けを借りてユーザーに関する詳細を取得するようにWebアプリケーションに要求しています。今度は、そのフォームのすべてのデータが正しく読み込まれていることを確認したいと思います。 JSONダンプファイルからコンテンツを読み込むか、WebサービスAPI(ウェブページのように)を使用する必要があります。

この問題をオンラインで検索すると、MYSQL HTTP pluginも見つかりました。私もこれを考慮する必要がありますか?どのように安全に使用するのですか? (このプラグインは本番用ではないことをドキュメントから知っています。)

答えて

0

このような場合の主な質問については、データベース接続文字列をtesting databaseに変更しますクローンです)。

あなたの場合、テストを実行する前にbashスクリプトを使って接続文字列(ファイルコピー?)を自動的に変更してください。そして、完了したら、元に戻ってください。

あなたのテストデータベースは、あなたのdev/live databsaeの直接のクローンですが、必要なテストデータだけです。欠点は、スキーマをDEV/LIVEと同期させておく必要があることです。

また、あなたのテストが状態(投稿)を変更した場合、もう一度考慮する必要があります。そうであれば、テストデータが同期していない可能性があります。これを回避する方法の1つは、外部キーを削除し、データを切り捨ててダンプファイルにロードすることです。

HTH

+0

はい、私はテストデータベースを使用しています。私は1つのことを行うことができます、私はテストDBのjsonファイルにデータをダンプすることができますし、UIテストを開始する前に、私はテストケースが検証に必要なときにデータにアクセスできるようにメモリにそのjsonダンプファイルを読み込むことができます。 – rsudip90

+0

あなたはデータをサーバに投稿するときにテストデータが同期していない可能性がありますが、現時点ではAPIがステータスの成功または失敗を返すので、現時点では心配していません。 – rsudip90

関連する問題