画像ファイルとスイート情報
このセクションの関数は、画像ファイルとEggplant Functionalスイートに関連付けられたさまざまなプロパティを返します。
ImageInfo
関数
挙動: 単一の画像に対する画像プロパティリスト、または複数の画像リファレンスに対する 画像プロパティリストを返します。利用可能なデータによって、リストには次のプロパティが含まれることがあります:
- CaptureDate: 画像のキャプチャ日時、時間を含むフォーマット (yyyy-mm-dd hh:mm:ss +0000) で示されます。最後の4桁はGMTのオフセットを表します。
- CaptureHost: 画像がキャプチャされたSUTの名前。
- CaptureLocation: Viewerウィンドウで画像がキャプチャされた時の、画像の左上隅の位置を示す座標。
- CaptureScreenSize: 画像がキャプチャされたSUTの画面の寸法を、ピクセル単位 (
width
,height
) で表します。 - Description: Suite Editor Infoパネルの画像説明。
- HotSpot: 画像のホットスポットの座標を、(x, y) で示します。
- ImageLocation: 画像のホットスポットの画面上の座標。ImageLocation() 関数を参照してください。
- ImageName: 画像ファイルの名前。
- ImagePath: 画像ファイルのフルパス名。
- ImageRectangle: ImageRectangle() 関数を使用して見つけた画像の矩形座標。
- ImageSize: 画像のピクセル単位のサイズを、(
width
,height
) で示します。 - ImageTolerance: SUTで画像をキャプチャする際に使用された許容設定。
- Pulsing: 画像がパルシング設定でキャプチャされたかどうか (true/false)。
- Scale: 画像をキャプチャするために使用したスケール。
- SearchType: 画像を保存する際に選択された検索タイプ。
パラメーター: 1つ以上の Image References。 戻り値: 画像プロパティリスト、または画像プロパティリストのリスト。例えば:
((CaptureDate:"2016-10-19 15:20:52 -0600", CaptureHost:"Windows", CaptureLocation:(527,707), CaptureScreenSize:(1024,768), Description:"", HotSpot:(11,19), ImageLocation:"", ImageName:"Value", ImagePath:"C:/Users/Carrie/Documents/Demo.suite/Images/ValueField.png", ImageRectangle:"", ImageSize:(23,39), Pulsing:"False", Scale:"1", SearchType:"Tolerant"))
例:
put ImageInfo("BrowserIcon") into ListVariable //画像情報関数の戻り値を変数に格納します。
例:
put the number of items of imageInfo("CheckBox") into NumberinReturn //ImageInfoの戻り値のアイテム数を格納します。
if NumberinReturn is greater than 1 then log "There are" && NumberinReturn && "images in the collection." //戻り値のアイテム数が1より大きいかどうかをチェックし、その場合は画像が実際に画像コレクションであることを意味します。
例:
copy file imageInfo("CompanyLogo")'s imagePath to folder "C:\Users\Carrie\Desktop\ResultsFolder" //現在のスイート内の画像をeggPlantマシンの新しい場所にコピーします。
例:
put the suiteinfo's imagesfolder into myimagefolder //現在のスイートに画像フォルダへのパスを保存します。
put the files of myimagefolder as a list into myimages //画像フォルダ内のすべてのファイル名(imageinfoファイルを含む)をリストとして格納します。
repeat with each item of myimages by reference //メモリ内ではなく、参照によりリストを繰り返します。
if it contains "imageinfo" then delete it //それがimageinfoファイルならば、リストからファイル名を削除します。
end repeat
repeat with each item of myimages //imageinfoファイル名が削除された後のファイル名リストを繰り返します。
put imageinfo(it)'s CaptureDate into mycapturedate //CaptureDateプロパティ値を変数に格納します。
If mycapturedate is not empty and mycapturedate is earlier than 1 year ago then //CaptureDateが1年以上前に行われたかどうかを判断します。
do merge of <<Logwarning "Image [[it]] was captured over a year ago.">>//merge関数を使用して文字列を構成し、メッセージをログに記録します。
end if
end repeat
ImageHotSpot
機能
**行動:**イメージのホット スポットの座標 (x
,y
) を、イメージの左上隅を基準にして返します。
SUTで見つかった画像のホットスポット位置を操作する必要がある場合は、ImageLocation()関数を使用します。
パラメータ:single
イメージ (イメージ コレクションを除く)。
Returns: Coordinates. For example:(-65,90)
例:
set PointAdjustment to ImageHotSpot("Logo") - imageSize("Logo")//画像の右下角とホットスポットとの差を見つけます。
例:
log imagehotspot("CompanyLogo")
ImageSize
関数
動作: この関数は、指定された画像のピクセル単位のサイズ(幅
、高さ
)を返します。画像が見つからない場合は例外が発生します。
パラメーター: 単一の
画像、画像コレクションは除外します。
Returns: Size in pixels (width
, height
). For example: (48,19)
例:
put ImageSize("image") into ImageSizeVariable //imageSize関数の戻り値を変数に格納します。
例:
If the ImageSize of"ConfirmationNumberField" is not(30,40) then Log "The image has changed size since original capture." //画像のサイズが予想どおりであるかどうかを確認します。
例:
params CollectionName //スクリプトをパラメータ化して、画像コレクションの名前を受け取ります。
put item 1 of ImageInfo(CollectionName) into myImage //ImageInfoの戻り値の最初の項目(これはコレクション内の単一画像のImageInfo)を格納します。
put the folder of myImage's ImagePath into CollectionFolder //folder関数を使用して、画像のファイルパスに基づいて画像のフォルダパスを見つけます。これは画像コレクションのフォルダパスです。
put the files of CollectionFolder into ImagesList //画像コレクション内のファイルの名前を格納します。
repeat with each Image of ImagesList //各ファイル名(imageinfoファイルを含む)を繰り返します。
if myFile contains ".png" then //ファイル名が画像ファイルに属しているかどうかを確認します。
put CollectionName & slash & myFile into ImageRelativePath //画像ファイル名を使用してスイートに対する相対パスを構築します。
put ImageRelativePath's ImageSize into ImageSize //imageSize関数の戻り値を変数に格納します。
insert item 1 of ImageSize times item 2 of ImageSize after ListofAreas //コレクション内の各画像の面積のリストを作成します。
end if
end repeat
Log "The median area of the images in the collection "&CollectionName&" is "& the median of ListOfAreas&"." //median関数を使用してコレクション内の画像の中央値面積を計算し、それについてのメッセージをログに記録します。
ImageColorAtLocation
関数
振る舞い: 与えられた画像内の単一のピクセルの色値を、colorFormatグローバルプロパティで指定されたフォーマットで表示します。ピクセルの座標は、画像の左上隅に対して相対的です。
SUT上のピクセルの色を決定する必要がある場合は、ColoratLocation() 関数を使用してください。
パラメーター: 1つの画像名と1つの座標位置。
戻り値: 色の値。例えば:(255,255,255)
。詳細は Color Values in SenseTalkを参照してください。
例:
set the colorFormat to "HSB" //色を0から1までの色相、彩度、明度の値に基づいて表示するように設定します。
put ImageColorAtLocation("myIcon",[23,1]) //指定された画像の位置[23,1]の色を返します。つまり、HSB、0.592、0.977、0.682
例:
function FindChartreusePercentage myImage //FindChartreusePercentageという名前の関数を、パラメーター値myImageで宣言します。
if "Chartreuse" is not among the keys of the NamedColors then set the NamedColors.Chartreuse to color(127,255,0) //chartreusesが名前付き色ではない場合、名前付き色のグローバルプロパティリストにchartreusesを追加します。
put the width of imageSize(myImage) into XDirection //imageSizeのx座標を変数に格納します。
put the height of imageSize(myImage) into YDirection
set TotalPixels to XDirection x YDirection //画像内のピクセルの合計数を計算します。
set ColorPixels to 0 //chartreuse色のピクセルの集計をゼロにリセットします。
repeat YDirection times //画像の高さを下に繰り返します。
put the repeatIndex - 1 into YCoord //現在のピクセルのY座標を追跡します repeat XDirection times //画像の幅を横に繰り返します。
repeat XDirection times //画像の幅を横断します。
put the repeatIndex - 1 into XCoord //現在のピクセルのX座標を追跡します。
put imagecoloratlocation(myImage, (XCoord,YCoord)) into ReturnedColor //現在のピクセルのRGB値を格納します。
if ReturnedColor is color("Chartreuse") then add 1 to ColorPixels //ピクセルがchartreuseであれば、ピクセルを集計します。
end repeat
end repeat
return round((ColorPixels/TotalPixels) * 100, 1) //chartreuseピクセルのパーセンテージを、小数点以下1位まで四捨五入して返します。
end function
OpenSuites
関数
振る舞い: 現在のスクリプトが利用可能なすべてのスイートのリストを返します。このリストには、スクリプト自体のスイート、OpenSuite (deprecated)
コマンドで開いたスイート、およびEggplantCommonスイートが含まれます。
パラメーター: なし 戻り値: 現在のスクリプトが利用可能なすべてのスイートのリスト。例えば:
(C:/Users/Carrie/Documents/eggPlantSuites/Demo.suite,C:/Program Files (x86)/eggPlant/Eggplant.app/Resources/EggplantCommon.suite)
例:
put OpenSuites() into SuitesInUse
ResourcePath
関数
動作: パラメータ値が提供されていない場合、呼び出し元のスイートのリソースフォルダのフルパスを返します。パラメータ値が提供されている場合、そのパラメータ値を末尾に追加したスイートのリソースフォルダのフルパスを返します。
パラメータ: なし、またはスイートリソースの名前。
戻り値: 呼び出し元のスイートのリソースフォルダのパス、または、パラメータ値が末尾に追加された呼び出し元のスイートのリソースフォルダのパス。例えば:
パラメータ値なし:
C:/Users/Carrie/Documents/eggPlantSuites/Demo.suite/Resources
リソース名パラメータ値:
C:/Users/Carrie/Documents/eggPlantSuites/Demo.suite/Resources/testlist.txt