画像とOCRの検索
これらのコマンドと関数は、テスト対象システム(SUT)上で画像または光学文字認識(OCR)の検索を実行します。
以下の画像とOCRの検索コマンドと関数の検索動作は、ImageSearchCount、ImageSearchDelay、ImageSearchTime のグローバルプロパティを使用することでさらに制御することができます。
EveryImageLocation
関数
動作: 与えられた画像またはテキスト(OCR)のすべての出現箇所をSUTで検索します。画像 の各出現箇所のホットスポット座標のリスト、またはOCRを使用した場合のテキスト文字列の中心のリストを返します。座標は発見された順にリストされ、SUTの左上角に最も近い画像とテキストが最初に見つかります。画像またはテキスト(OCR)が見つからない場合、EveryImageLocation
は空のリストを返します。
パラメータ: 一つ以上の画像参照またはプロパティ、またはテキストプロパティ(OCR用)。
構文:
EveryImageLocation( imageOrTextReference )
戻り値: 与えられた画像のすべてのインスタンスの座標。例えば:
((288,325),(288,356),(288,387),(288,448))
例:
追加の画像検索プロパティを渡す場合、この例のように ImageName
プロパティの指定が必要です。
log EveryImageLocation(ImageName:"CheckBoxes",scale:[1,.5]) // 元のサイズと半分のスケールで見つけた画像のすべての出現箇所のホットスポット座標のリストをログに記録します。画像検索の追加プロパティを含めるときに ImageName プロパティを使用することに注意してください。
例:
click the penultimate item of EveryImageLocation(text:"AddressField") // テキスト(OCR)の出現箇所のリストの最後から2番目の項目をクリックします。
例:
set the RemoteWorkInterval to .1 // RemoteWorkInterval(デフォルト=.7)を短縮して、Eggplant FunctionalがSUTに送信するアクション間の一時停止を減らします。この変更により、クリックのシリーズがはるかに高速に実行されます。
repeat with EveryImageLocation("RadioButton") // everyImageLocation()で見つけた画像の各出現箇所を繰り返します。
click it // it変数を使用して、repeatループが操作中の現在の出現箇所をクリックします。
end repeat
set the RemoteWorkInterval to .7
例:
// 次の例は、前の例の別の構文を提供します。
repeat with each item of EveryImageLocation("RadioButton")
click it // it変数を使用して、repeatループが操作中の現在の出現箇所をクリックします。
end repeat
EveryImageLocation
関数を呼び出すと、すぐにthe result
を呼び出して、EveryImageLocation
で表されるすべての画像のImageInfo
を返すことができます。
例:
put EveryImageLocation("GreenSaveButton","BlueSaveButton","RedSaveButton") // 画像のすべての出現箇所のホットスポット座標のリストを返します。
put the result // EveryImageLocationで表現されるすべての画像のimageInfoを返します。
EveryImageRectangle
関数
動作: SUTで指定された画像またはテキスト(OCR)のすべての出現箇所を検索します。画像またはテキスト(OCR)のすべての出現箇所の矩形座標のリストを返します。座標は、SUTの左上隅に最も近い画像とテキストが最初に見つかる順序でリストされます。画像またはテキスト(OCR)が見つからない場合、EveryImageRectangle
は空のリストを返します。
パラメータ: 1つ以上の画像リファレンスまたはプロパティ、またはテキストプロパティ (OCR用)。
文法:
EveryImageRectangle( imageOrTextReference )
戻り値: 指定された画像または画像のすべてのインスタンスの矩形座標。
例:
put EveryImageRectangle("TotalAmountLabel", "ItemizedAmountLabel") // 画像のすべての出現箇所の矩形座標のリストを返します。
例:
assert that the number of items in EveryImageRectangle(ImageName:"CheckBoxes",searchRectangle:["SelectOptionsUpperLeft","SelectOptionsLowerRight"]) is 4 // 画像の出現箇所の数が期待値4に等しいかどうかを検証します。例出力:AssertionFailed(主張:EveryImageRectangle(ImageName:"ImageName")の項目の数は4です; 実際には:5は4に等しくない)
例:
Set StatusRectangles to EveryImageRectangle(text:"StatusLabel") // EveryImageRectangleの戻り値をStatusRectanglesという変数に保存します。
Log "There are"&&the number of items of StatusRectangles&&"statuses to check." // StatusRectanglesに保存されたリストの出現回数と2つの文字列を連結してログに出力します。
repeat with each Rectangle of StatusRectangles // Rectangleという変数名を使用してリストの各項目を繰り返します。
Set StatusIndicatorLocation to the TopRight of Rectangle plus (15,0) // 現在の出現箇所の右上隅から15ピクセル右に座標調整を行い、その結果を変数StatusIndicatorLocationに保存します。
If ColorAtLocation(StatusIndicatorLocation) is "59,170,43" then Log "The status is green." // ColorAtLocation()関数を使用してStatusIndicatorLocationのRGB値を見つけ、それを期待値、59,170,43と比較します。
end repeat