TestComplete - 技術情報

 

技術情報の目次ページに戻る

操作対象が表示されているかの確認(オブジェクトとして認識できない場合)

■ 概要

アプリケーションの処理を待つ際、ポップアップが表示されるなど画面上に変化があるまで待機して操作したいことがあります。

オブジェクトとして認識できる場合は [If Object] を使用すれば対応できますが、認識できない場合は画像で確認することになります。

このページでは画面の状態が期待する状態になっているかを確認する方法について紹介します。

 

■ 設定

まず期待値となる画像を取得します。キーワードテストに Logging ツリーから [Post Screenshot] を追加します。

[Post Screenshot] では Select window region を使用して、期待値として使用する画像の範囲を指定します。指定後、Object 欄の値をコピーしてください。

 

設定後、追加した [Post Screenshot] を右クリックして "Run Selected Operation" を選択して実行します。するとログフォルダ内に指定範囲の画像が出力されますので、この画像を期待値として使用します。ログフォルダは Project Explorer 内にあるログファイルを右クリックして "Show in Explorer" を選択すると開けます。必要であれば画像のファイル名を変更してください。(英数字のみ)

 

Project Explorer パネルに Stores が存在しない場合はプロジェクトファイルを右クリックして "Add | New Item" から追加します。同様に、Stores を右クリックして Regions を追加します。

Regions を開き、開いた画面内で右クリックして "New Item" を選択します。次に "Add Image(s) from file" を選択し、[Post Screenshot] で取得した画像を選択して Finish ボタンをクリックします。ここに登録した画像を使用して画面の状態と一致するかをチェックします。

 

キーワードテスト画面下部の Variables タブを開き、Boolean 型の変数を一つ作成しておきます。

 

Test Steps タブに戻り、Statements ツリーから [While Loop] を追加します。値は Value1 に先ほど作成した変数を、Value2 に Boolean 型の false を設定します。

Miscellaneous ツリーから [Delay] を [While Loop] に追加し、任意の秒数待機するようにします。

Checkpoints ツリーから [Compare Pictures] を追加し、Picture1 に先ほど追加した画像をリストから選択し、Picture2 は Mode を Code Expression に変更して [Post Screenshot] でコピーした Object 欄の値を設定します。

 

Statements ツリーから [If...Then] を追加し、Value1 の Mode を Last Operation Result に変更、Value2 は Boolean 型の True に設定します。

[If...Then] 内に Statements ツリーから [Set Variable Value] を追加し、Variables タブで追加した変数の値を True に変更します。

 

以上の設定で [Post Screenshot] で指定した位置が画像と同じ状態になるまで [Delay] で設定した秒数ごとにチェックするようになります。

チェック回数をカウントし、一定回数で [Stop Execution] を実行してテストを終了することも可能です。

 

スクリプトを使用する場合は指定箇所ではなく、画面全体から画像と同じ場所を探すことが可能です。詳細は下記ページをご参照ください。

画像の検索: https://support.smartbear.com/testcomplete/docs/reference/project-objects/items/stores/regions/find.html

 

※ Google Chrome で開き、右クリックのコンテキストメニューの「日本語に翻訳(T)」 機能をご使用いただくと、機械翻訳された内容でご覧いただけます。

 

ページトップへ