発見した画像と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
FoundImageLocation
関数
振る舞い: SUT上で最後に見つかった画像またはテキスト(OCR)のホットスポットのスクリーン座標を返します。
WaitFor 10, "SingleSignOn" set myImageInfo to the FoundImageInfo // FoundImageInfoからの戻り値をmyImageInfoという名前の変数に格納します put the ImageSize of myImageInfo // myImageInfoのImageSizeを出力します
戻り値: 座標。例:(195,137)
例:
If ImageFound("OKButton") then click the FoundImageLocation // FoundImageLocationが返す位置をクリックします
例:
WaitFor 30, text:"Sign Out"
set SignOutButtonLocation to FoundImageLocation() // 成功したOCR検索の中心の位置を、SignOutButtonLocationという変数に保存します
ValidateAccountConfiguration // ValidateAccountConfigurationというスクリプトを実行します
Click SignOutButtonLocation // SignOutButtonLocationに保存された位置をクリックします
例:
Click "SelectNode"
Wait .5 // RemoteWorkIntervalの値により、クリックとドラッグがダブルクリックのように動作するのを防ぐために、短いウェイトが必要になることがあります
Drag FoundImageLocation() // SelectNodeのホットスポットの位置でドラッグを開始します
Drop "EndNode" // EndNodeのホットスポットの位置でドラッグを終了します
FoundImageNumber
関数
戻り値: 一つの数値。これは画像のまたはテキスト(OCR)のコマンドまたは関数のパラメータリスト内の序数位置を表します。例:3
パラメータ: なし。最後に見つかった画像またはテキスト(OCR)を参照します。
例:
WaitFor 10, "WelcomeMessage", "SignOutButton", "CompanyLogo"
If the FoundImageNumber is not 1 then LogWarning "The page loaded but not in the expected order." // SignOutButtonやCompanyLogoが最初に見つかる場合、それぞれFoundImageNumberは2または3を返し、警告メッセージをログに記録するステートメントを引き起こします