イメージバリデーションにおいて、期待画像にマシンに保存された既存の画像ファイルを設定することはできますか?
Ranorexの画像比較は、期待画像とテスト実行時に表示される画像をピクセル単位で比較します。
そのため、お客様自身で事前に手動で取得したスクリーンショットとの比較は難しいですが、Ranorexで取得した既存のスクリーンショットとの比較は可能です。
期待画像にRanorexで取得したスクリーンショットを設定する場合は、Ranorexの画像比較のAPIを使用し、お客様自身で処理を実装する必要があります。
■実装手順
Validateアクションをユーザーコードに変換し、指定フォルダから期待画像を呼び出して画像比較メソッドに渡す処理を記述します。
1.Ranorex Studioにて、画像比較を行うレコーディングモジュールを開きます。
2. “Validate – CompareImage” アクションを追加し、右クリック>”ユーザーコードに変換” をクリックします。
3.”User code – メソッド名” に変換されたアクションで、”Method” 欄の “Args” ボタンをクリックします。
4.表示される引数エディターにて、”追加” ボタンをクリックします。
※メソッドの第二引数に期待画像のファイルパスを設定するため、引数を追加します。
5.”Name” 欄には任意の名前を設定できます。
6.OKボタンをクリックして閉じます。
7.”User code” アクションの第二引数に、期待画像が保存されているパスを指定します。
※リストから “As new variable” を選択することで変数化することもできます。
8. “User code – メソッド名” アクションをダブルクリックし、コードを開きます。
たとえば、以下のようにコードを編集します。
コード例:
public void Validate_CompairImage(RepoItemInfo imgInfo, string 引数名)
{
//CompressedImageから始まるコードは不要になるためコメントアウト
Imaging.FindOptions オブジェクト名_Screenshot1_Options = Imaging.FindOptions.Parse(“1;None;0,0,191,50;True;10000000;0ms”);
Report.Log(ReportLevel.Info, “Validation”, “Validating CompareImage (Screenshot: ‘Screenshot1’ with region {X=0,Y=0,Width=191,Height=50}) on item ‘imgtagInfo’.”, imgInfo);
//期待値となる画像ファイルの読み込み
Bitmap expectedImg = Ranorex.Imaging.Load(Stringの引数名);
//Validate機能を使った画像比較
Validate.CompareImage(imgInfo, expectedImg, オブジェクト名_Screenshot1_Options);
}
ユーザーコードについては、以下のユーザーガイドをご参照ください。
・ユーザーコード