発見した画像とOCR情報関数
このセクションの関数は、テスト対象システム(SUT)上で最後に発見された画像またはテキスト(OCR)検索に関する追加情報を返します。たとえば、画像コレクションを使用していて、コレクション内のどの画像が見つかったか、または複数のスケールで作業しているときにどのスケールで画像が見つかったかを決定する必要がある場合など、これらの関数は特に便利です。
FoundImageInfo
関数
動作: 単一の画像またはOCR検索のプロパティリスト、または複数の参照のプロパティリストを返します。利用可能なデータによりますが、リストにはImage PropertiesまたはOCRプロパティ、および以下のプロパティが含まれることがあります。
画像検索の場合:
- Description: Suite Editor Infoパネルの画像説明。
- ImageLocation:
ImageLocation
functionを使用して見つけた画像の座標。 - ImageRectangle:
ImageRectangle
functionを使用して見つけた画像の長方形の座標。
場合によっては、Tolerant of Backgroundが元々設定されていた場合に、foundImageInfo
関数が検索タイプとしてText as the search typeにSmoothedを返すことがあります。これは、Scaleが1以外の値を使用して検索が行われると発生します。
パラメータ: なし; 最後に見つ けた画像を参照します。
返り値: 画像またはOCRのプロパティリスト。例えば:
画像検索の返り値:
(CaptureDate:"2016-09-09 13:02:53 -0600", CaptureHost:"Windows", CaptureLocation:(305,270), CaptureScreenSize:(1024,768), Description:"", HotSpot:(41,14), ImageLocation:(346,284), ImageName:"WelcomeMessage", ImagePath:"C:/Users/Carrie/Documents/Suites/mySuite.suite/Images/WelcomeMessage.png", ImageRectangle:(305,270,387,298), ImageSize:(82,28), ImageTolerance:"53", Pulsing:"False", Scale:"1", SearchType:"Smooth")
OCR検索の返り値:
(CaseSensitive:"No", Contrast:"Off", IgnoreSpaces:"No", ImageLocation:(351,283), ImageRectangle:(319,277,384,290), Language:"English", searchrectangle:(230,242,504,371), text:"TestPlant", TextPlatform:"Generic OCR", validcharacters:"TestPlant")
例:
Click text:"Single Sign-On"
put FoundImageInfo() // 前回成功した画像またはOCR検索のFoundImageInfoの戻り値を印刷します
例:
WaitFor 10, "WelcomeMessage"
log the FoundImageInfo's description // 画像の説明の内容をログに記録します
例:
click "SignInButton"
set clickedImage to FoundImageInfo()'s imageName // 最後に見つけた画像の名前を、clickedImageという名前の変数に格納します
例:
WaitFor 10, "WelcomeMessage"
set myImageInfo to the FoundImageInfo // FoundImageInfoからの戻り値をmyImageInfoという名前の変数に格納します
assert that the CaptureLocation of myImageInfo equals the ImageLocation of myImageInfo // "WelcomeMessage"という名前の見つけた画像のCaptureLocationとImageLocationが等しいことを、例外を使用してアサートします
例:
WaitFor 60, "Username","Yes" // 最大60秒間で2つの画像("Username"および"Yes")を交互に検索します
put the short name of file the foundimageinfo's imagepath into FoundImage // WaitForコマンドで最初に見つかった画像の名前を保存します
If FoundImage is "Username" then
Click "Username"
else if FoundImage is "Yes"
Click "Yes"
Click {image:"Username",waitFor:10}
End If
例:
この例では、画像検索を行うたびにFoundImageInfo
を収集するためにオーバーライドを使用しています。
メインスクリプト:
global ImageUsage // 検索した各画像の使用状況を収集するためのグローバル変数をメインスクリプトで宣言します
start using "ImageTrackingOverrides" // Eggplantに、内蔵コマンドの代わりにImageTrackingOverridesスクリプト内のオーバーライドコマンドセットを使用する ように指示します
DoubleClick "BrowserIcon"
Click "AddressBar"
put imageUsage into file "C:\Users\Carrie\Desktop\myImageUsage.txt" // メインスクリプトの実行終了時に、imageUsageの内容をファイルに書き出します
ImageTrackingOverridesスクリプト:
to Click // オーバーライドコマンドは、オーバーライドするコマンドと同じ名前でなければなりません
pass message and continue // メッセージ(この場合は"Click"というハンドラーの名前)と、該当する場合はハンドラーに渡されるパラメータをパスします
GatherImageInfo // 以下で定義されている再利用可能なカスタムコマンドGatherImageInfoを呼び出します
end Click
to DoubleClick
pass message and continue
GatherImageInfo
end DoubleClick
// カスタムコマンドGatherImageInfoを作成します
on GatherImageInfo
global ImageUsage // コマンドでグローバル変数を宣言します
set myImageInfo to FoundImageInfo()
put myImageInfo.ImageName&comma&the short name of file myImageInfo.ImagePath&CRLF after ImageUsage
// 画像参照の名前と実際に見つかった画像の名前を取得し、それと改行をグローバル変数ImageUsageの末尾に追加します
end GatherImageInfo