演習 1.6: レグレッション・テスト

始める前に、「演習 1.5 検査ポイントとオブジェクト・マップ」を完了してください。

アプリケーションの新規ビルドがある場合は、その新規ビルドに対してスクリプトを再生することによって、記録済みの自動テストを実行できます。 新規ビルドに対してスクリプトを実行するには、スクリプト内のアプリケーション名を変更する必要があります。 (ただし、開発プロジェクトではその必要はありません。ここでは、アプリケーションの新規ビルドのシミュレーションとして行います。)

  1. Java エディター (「スクリプト」ウィンドウ) で、スクリプト (Classics.java) がアクティブなスクリプトになっているかどうかを確認します。

スクリプトの先頭 (テンプレート情報の下) にあるのがアプリケーション開始コマンドです。

startApp("ClassicsJavaA");

  1. 「A」を「B」に変更します。

Java コードは大文字小文字を区別するため、必ず大文字の B を使用してください。変更を有効にするために、スクリプトの保存やコンパイルは必要ありません。 スクリプトの実行時に、自動的に処理されます。

  1. 「機能テスト・スクリプトの実行」ツールバー・ボタン (実行) をクリックして、スクリプトを再生します。
  2. 「ログの選択」ダイアログ・ボックスで、必要に応じて「Classics」を選択し、「完了」をクリックします。 ログを上書きするかどうかを確認するための画面が表示されます。
  3. 「はい」をクリックします。
  4. スクリプトは高速で再生を開始しますが、「Member Logon」ダイアログ・ボックスの終わり付近で遅くなります。 これは、アプリケーションのビルド B のチェック・ボックスの横のフィールドに別のテキストが入っているためです。 機能テストは、ビルド A で記録された認識プロパティーと一致するオブジェクトを検索します。この問題の修正方法については、後ほど学習します。

  5. 再生後、ログが開いたら、メッセージを確認してください。
  6. ログには、1 つの障害と 1 つの警告が表示されているはずです。 まず、2 番目の検査ポイント (ラベル上の検査ポイント) がアプリケーション内の変更のために失敗しています。 検査ポイントのベースラインを更新してこの問題を修正する方法については、後ほど取り上げます。 さらに、オブジェクト認識の警告がパスワード・チェック・ボックスのフィールドに生成されています。 正規表現を使用してオブジェクト・マップ内でその問題を修正する方法ついても、このチュートリアルの後のセクションで取り上げます。

    ClassicsB のメインスクリーンは、ClassicsA のものとは異なっていますが、それが原因でスクリプトが失敗することはありません。 2 つのアプリケーションには同じオブジェクトがありますが、それぞれが別の位置に存在しています。 それでも失敗しないのは、機能テストが堅固な認識方式を使用してオブジェクトを検索するためです。 たとえば、画面座標などの表面的なプロパティーに基づいてオブジェクトを検索するわけではありません。 むしろ、内部の認識プロパティーを使用しています。 したがって、ユーザー・インターフェースの設計に柔軟性を持たせることができ、そのためにスクリプトの変更や再記録を行う必要もありません。

  7. ログを開いたままにしておきます。

次に、「演習 1.7: コンパレーターを使用した検査ポイントの更新」に進んでください。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2002, 2004. All Rights Reserved.