HTML アプリケーション上でスクリプトを記録するときには、Functional Tester を使用して記録中にアプリケーションを開始します。Functional Tester は、指定する HTML ページをデフォルトのブラウザーまたは特定のブラウザーに表示します。
HTML アプリケーション上でスクリプトを記録中に、アクティブなドロップダウン・メニューの上にマウスを乗せると、ドロップダウン・メニューの吹き出しを記録できます。 ドロップダウン・メニューは DIV タグでインプリメントされています。 ドロップダウン・メニューの吹き出しを記録し、かつサブメニューをドロップダウンするには、メニュー項目の上にマウスを載せて Shift を押します。マウスは、メニュー項目テキストの右のブランク・スペースではなく、メニュー項目のテキストの上に乗るようにしてください。
deleteCookies メソッドの 2 つのバージョンを使用することができます。 1 つのメソッドは現在のプロファイルまたはユーザーのすべての Cookies を削除し、もう 1 つのメソッドは現在のプロファイルまたはユーザーの Cookies のうち特定のパスまたはドメイン内のものを削除します。 詳細は、com.rational.test.ft.object.interfaces パッケージにある「Functional Tester API Reference」で IBrowserObject を参照してください。
ブラウザー・メニュー上の各選択項目はそれぞれの画面座標に基づいて記録されるため、ブラウザーのサイズや位置が変わってしまうと、スクリプトが忠実に再生されない可能性があります。また、ブラウザーの種類によってメニューも異なるため、それが原因でスクリプトの再生が正しく行われないこともあります。
ブラウザーが小さいサイズに変更されている場合には、アプレット・オブジェクトが見えなくなっていても、Functional Tester が再生中にスクロールしてアプレット・オブジェクトを見えるようにすることはありません。
ブラウザー内の「アドレス」フィールドの位置は画面座標に基づいており、ブラウザーのサイズや位置が変わると、その座標も変わってしまいます。「アドレス」フィールドをクリックして新規 URL を入力する方法では、スクリプトは大抵失敗します。記録中に、スクリプトにブラウザー・クリック (Browser_htmlBrowser) を挿入して URL を変更します。
INPUT エレメントに .size プロパティーを使用し、INPUT エレメントの HTML 内には .size プロパティーを指定しない場合、Internet Explorer によって戻されるデフォルト値は 20 です。
異種プラットフォームにわたるスクリプトを作成する場合、一方のブラウザーにしかないツールバー・ボタンの使用は控えます。以下のツールバーは、両方のブラウザーに共通です。
Internet Explorer で「閉じる」ボタンを使用できます。異種プラットフォームにわたってスクリプトを記録する場合、それ以外の方法でブラウザーを終了することは避けてください。 例えば、Alt+F+C は Internet Explorer のみで機能します。いずれかのキー組み合わせを使用すると、その組み合わせを使用しないブラウザーでスクリプトを実行したときに失敗します。
ブラウザー・オブジェクトの作動可能状態が 4 でない場合、HTML アプリケーションをテストする際にスクリプト再生が失敗することがあります。スクリプトの再生中には、ブラウザーの作動可能状態が 4 であることを確認してください。 次の例に示すように、テスト・スクリプトを手動で変更することによって、この確認を行うことができます。
Java でブラウザーの状態をチェックするスクリプト: logInfo("Ready State #: "+browser_htmlBrowser().getProperty(".readyState").toString());
.Net でブラウザーの状態をチェックするスクリプト: LogInfo("Ready State #: " & Browser_HtmlBrowser().GetProperty(".readyState").ToString)
異種ブラウザーにわたってスクリプトを記録する場合は、waitForExistence メソッドを使用してブラウザーを待機します。例:
一部のブラウザーでは、ポップアップ・メニューを処理する必要から、右クリックの直後にリンクをクリックしても無視されます。このクリックの組み合わせが必要な場合には、リンクを右クリックし、文書内の空きスペースをクリックしてから、リンクをクリックします。
一部のブラウザーでは、Ctrl を押したままリンクをクリックすると、ブラウザーの別のインスタンスにページが開きます。その他のブラウザーでは、同じキー・シーケンスの操作が通常のリンク・クリックとなります。このアクションの組み合わせを含むスクリプトを再生すると、ブラウザーによって動作が異なってしまうため、異種ブラウザーでのテストでは避けてください。
ときどき HTML のエラーが原因で、HTML DOM 階層の解釈がブラウザーによって異なることがあります。あるブラウザーでは正常に実行するスクリプトでも、別のブラウザーでは失敗するということがあります。1 つのスクリプトを各ブラウザーに対して記録し、その結果として生成されるテスト・オブジェクト・マップを比較してください。それぞれのマップに表示される階層が異なっている場合には、HTML Tidy などのユーティリティーを実行します。ユーティリティーがエラーを記録した場合は、そのエラーが原因でオブジェクト・モデルの解釈が異なり、結果として階層も異なっている可能性があります。HTML Tidy は World Wide Web Consortium (www.w3.org) から入手できます。
一部のブラウザーでスクリプトを記録中に、暗号化の注意などのポップアップ・メッセージ (ブラウザー・ユーザー・インターフェース・ダイアログ・ボックス) が表示されることがあります。異種ブラウザーにわたるスクリプトを記録する場合、このようなメッセージ・ボックスは他のブラウザーでは通常表示されないため、スクリプトには組み込みません。この問題を回避するため、次のような操作を行います。
この種のメッセージ・ボックスを処理するようにスクリプトを修正することもできますが、コードが複雑になる可能性があります。詳しくは、『Rational Functional Tester 機能の拡張』のトピックを参照してください。
異種ブラウザー互換のスクリプト (Functional Tester がサポートするすべてのブラウザーに対して互換性があるスクリプト) を記録する場合は、ポップアップ・メッセージ・ボックスが記録されないようにしてください。 異種ブラウザー互換のスクリプトを記録していない場合は、スクリプト内にポップアップ・メッセージ・ボックスが記録されていてもかまいません。
Functional Tester は、Windows® プラットフォームで「ログイン」、「ファイルのダウンロード」、「Certificate/Security Warnings」、File Picker (「ファイルを開く」/「ファイルを保存」)、および「印刷」ダイアログ・ボックスをサポートします。これらのユーザー・インターフェースのダイアログ・ボックスは特定のブラウザー専用であり、異種ブラウザー互換ではありません。通常、「ログイン」ダイアログ・ボックスは異種ブラウザー互換です。
アプリケーションを構成すると、Functional Test はアプリケーション名をアプリケーション構成ツールに追加します。 多数の異なる URL をテストする場合には、「アプリケーション」リストが長くなることがあります。 URL をリストに追加したくない場合は、空のスクリプトで startBrowser コマンドを使用してテストできます。
startBrowser ("url");
Functional Tester は、Microsoft® HTML アプリケーション (MSHTA) のテストをサポートしています。 MSHTA は、テストする前に、mshta.exe を実行して構成しておく必要があります。テストしたい各 HTA を構成するには、以下の操作を行います。
詳しくは、『HTML アプリケーションをテスト用に構成する』を参照してください。
TestManager がインストールされている場合は、TestManager を使用して HTML アプリケーションのテストをリモート側の Linux® コンピューターで行えます。詳しくは、『ローカルおよびエージェント・コンピューター』のトピックを参照してください。
Java プラグインに関するエラーが戻される場合、HTML アプリケーションをテストしているか、または HTML ログ内の「結果の表示」リンクからコンパレーターを開始しているのであれば、ブラウザーの Java プラグインが正しく構成されていることを確認する必要があります。 手順については、ブラウザーの Java プラグインの使用可能化についての関連トピックを参照してください。
TestManager の統合についての注記: Functional Tester は、Rational TestManager バージョン 7.0.2 と統合されています。TestManager の 7.0.2 バージョンをご使用の場合、Functional Tester と TestManager の統合機能を使用することができます。