Web テストでの JavaScript と ActiveX コントロールについて
更新 : 2007 年 11 月
Visual Studio Team System Test Edition では、Web テスト レコーダで Web テストを記録します。Web テストの実行には、Web テスト エンジンを使用します。Web テスト エンジンは HTTP レイヤで動作します。Web テスト エンジンは、標準的な HTTP 要求/応答メッセージを使用して、ターゲット Web サーバーと直接通信します。JavaScript は実行しません。
メモ : |
---|
Web テスト レコーダは、AJAX 要求と Javascript から渡された要求の両方を記録します。Web テスト エンジンは Javascript を実行しません。 |
ここでは、Web テストで JavaScript、ActiveX コントロール、ポップアップ ウィンドウ、および AJAX を使用する方法について説明します。
JavaScript
通常、Web アプリケーションに JavaScript が含まれていても、特別な処理を Web テストに追加する必要はありません。Web テストを記録する間、JavaScript は Internet Explorer の設定に従って実行されます。フォーム パラメータまたはクエリ文字列パラメータとして使用するために JavaScript によって生成された値は、Web テスト レコーダによってキャプチャされます。Web テスト エンジンで Web テストを 実行するときは、JavaScript は実行されませんが、記録時に設定されたパラメータ値は使用されます。
JavaScript と Web テスト ビューア
Web テストの実行には Web テスト エンジンを使用し、結果の表示には Web テスト ビューアを使用します。Web テスト ビューアには、Web テストに含まれる各要求の HTTP 応答を表示するタブが用意されています。HTTP 応答は、Web テストのデータです。つまり、このデータによって Web アプリケーションが正常に動作しているかどうかを判断できます。
メモ : |
---|
テストに追加した検証規則と抽出規則は、HTTP 応答に対して実行されます。 |
Web テスト ビューアには、埋め込みブラウザ コントロールのあるタブも用意されています。ブラウザ コントロールは、Web テストに含まれる各要求の HTTP 応答を表示します。Web テスト エンジンは JavaScript を実行しないので、埋め込みブラウザ コントロールは JavaScript を実行しないように設定されます。
一部の Web サイトでは、HTML に noscript タグが含まれていることがあります。このタグを使用すると、ブラウザが JavaScript を実行する設定になっていない場合に、ブラウザに表示されるエラー メッセージを指定できます。Web サイトに noscript タグが含まれている場合は、テストを実行すると、"JavaScript required" などのエラー メッセージが Web テスト ビューアに表示されることがあります。このエラー メッセージは、ページがビューアで正しく表示されないことを示していますが、ほとんどの場合、応答自体は適切です。Web テストが正常に動作しているかどうかを確認するには、HTTP 応答を調べる必要があります。
メモ : |
---|
検証規則を追加して、Web テストが正常に動作しているかどうかを判断することもできます。 |
JavaScript とコード化された Web テスト
Web アプリケーションによっては、HTTP 要求に影響を与える形で JavaScript に依存していることがあります。コード化された Web テストを使用すると、JavaScript でよく実行される論理をシミュレートできます。たとえば、JavaScript を使用してフォーム パラメータを動的に変更するアプリケーションがあるとします。コード化された Web テストでは、フォーム パラメータを手動で変更する場合と同じ変更を行うコードを作成できます。詳細については、「方法 : コード化された Web テストを作成する」を参照してください。
ActiveX コントロール
Web アプリケーションの ActiveX コントロールは、HTTP レベルでの動作に応じて、3 つのカテゴリに分類されます。
HTTP レベルでは何も行わず、ページにビジュアルを表示するだけの場合。この場合は、Web テストに特別な処理を追加する必要はありません。
HTTP レベルでは何も行わないが、その ActiveX コントロールをテストする必要がある場合。たとえば、大規模な ActiveX コントロールがある場合、ロード テストの一部としてテストを実行すると、それが Web アプリケーションの処理速度に影響するかどうかを確認できます。この場合は、ActiveX コントロールをページの依存要求として追加します。これにより、追加された ActiveX コントロールがテストの実行中にダウンロードされます。
Web サービスからのデータ取得など、HTTP レベルで処理を行う場合。テストをコード化された Web テストに変換して HTTP 要求を手動で追加します。