PHPUnitを使用してアプリケーションコードを分離してテストしている間、QAチームはSeleniumを使用してUIをテストしています。テストが完了するまでに10時間以上かかると聞きましたが、これは長すぎると思います。私の質問は、ページを処理するときにAJAX呼び出しを待つ方法に関するものです。
たとえば、多数の入力があるページがあり、AJAX呼び出しを呼び出して、データを表示するためにサービスと通信します。複数の入力があり、変更された後続の選択ボックスをフィルタリングします。
地区(部門に属する)、店舗(地区に属する)と同様に、部門はすべてロードされます。
Division 1
+- District 10
+- Store 100
+- Store 101
+- Store 102
+- District 11
+- Store 200
+- Store 201
+- Store 202
Division 2
+- District 20
+- Store 300
+- Store 301
+- Store 302
+- District 21
+- Store 150
+- Store 151
+- Store 2002
...
これで、選択ボックスがすべて最初にロードされるため、エンドユーザーはそれらのいずれかを選択できます。ただし、選択ボックスで選択が行われると、AJAX呼び出しは、親の選択に基づいて他の選択ボックスをリロードします。IE:ディビジョン2を選択すると、地区リストは(サービスへの呼び出しを使用して)地区20と21のみにフィルターされ、ストアリストもそれらの地区の店舗のみにフィルターされます。
部門の選択をスキップして地区を選択すると、ストアリストはその地区の店舗のみに再フィルタリングされ、バックエンドのサービスが再び使用されます。
私の質問は、AJAX呼び出しがサービスから戻ってきて、選択ボックスが変更されたことを知る方法です。QAチームが待機しており、選択ボックスをループして、すべての戻り値が正しいことを確認します。選択ボックスのリロードがいつ完了したかを知る方法はありますか?そうすれば、内容を確認できますか?
明らかに、これらのチェックのほとんどをMockオブジェクトを使用したPHPUnitテストに移動して、サービスが機能することを検証したいと思いますが、QAチームは、実際にレンダリングされた結果が一致することを検証したいと考えています。
任意の提案をいただければ幸いです。