SUTの情報と制御
AllConnectionInfo() 関数
例:
put the AllConnectionInfo into HostList //AllConnectionInfo()の戻り値をHostListという名前の変数に格納します
パラメータ:なし。
戻り値:接続リスト内のすべてのSUTに関する接続プロパティリストのリスト。例えば:
((AndroidDevice:"True", Availability:"Unknown", Bonjour:"False", ColorDepth:"0", Connected:"False", DeviceSerialNumber:"b6dcc079", Name:"GalaxyS5", PortNum:"5900", Reverse:"False", ServerID:"SM-G900V (b6dcc079)", Status:"Not Connected", Type:"vnc", Visible:"False"),(Availability:"Unknown", Bonjour:"False", ColorDepth:"0", Connected:"False", Name:"Linux", PortNum:"5900", Reverse:"False", ScreenSize:(1024,768), ServerID:"192.168.120.137", Status:"Not Connected", Type:"vnc", Visible:"False"))
挙動:すべての接続プロパティリストを返します。戻り値には、 Connectコマンドを使用するセッションの最中に作成される、アドホック接続に関する接続プロパティリストも含まれます。
Connectコマンド
例:
Connect "Windows 7 VM" //アクティブ接続を名前が「Windows 7 VM」の接続リスト内に保存されているSUTに接続するか、切り替えます
例:
Connect (serverID: "10.211.55.4", portNum: "5900", Visible: "Yes") //指定されたIPとポート番号を使用してSUTに接続します。Eggplant Functional GUI内でスクリプトを実行する場合は、Visibleプロパティにより、SUTのViewerウィンドウが前面に引き出されます
例:
Connect (ServerID: "Samsung_S5", scaleRemoteScreen: "Yes") //scaleRemoteScreenは、AndroidとiOSのSUTだけの追加の引数です。
例:
params SUTID, SUTPassword, SUTUsername //connect コマンドをパラメータ化し、解像度が1920x1080の画面を使用して希望するRDP SUTに接続できるようにします。例えば、パラメータ値は「10.1.10.130」、「password123」、「Administrator」のようになります。
Connect (serverID: SUTID, portNum: 3389, password: SUTPassword, username: SUTUsername, Type:"RDP", Width: 1920, Height: 1080)
例:
connect "/Users/bob/Documents/EggplantSuites/Test.suite/Results/bug2029/20130903_134649.212/Screen_Error.tiff", type:"screenshot" //スイート内に保存されているスクリーンショットに接続します
例:
connect type:"screenshot", name:"/Users/doug/Documents/EggplantSuites/Test.suite/Results/bug2029/20130903_134649.212/Screen_Error.tiff"
パラメータ:接続リスト内のホスト名、IPアドレスもしくは表示名、またはスクリーンショットのフルパス。または、接続プロパティリスト1つ。
SUTが接続リスト内に存在しない場合や、接続リスト内の情報を上書きする必要がある場合は、接続プロパティリスト内で受け渡すことができます。コマンドラインを介して、またはスクリプトの開発マシンとは別のマシンを介してスクリプトを実行する場合は、その実行は接続リストへのアクセス権を持たない場合がよくあります。したがって、Connectコマンドを完全な接続プロパティリストとともに正しく使用することが強く推奨されます。以下で接続プロパティを説明します。
- ServerID:ホスト名、IPアドレス、または接続リスト表示名。必須のプロパティはこれだけです。
- PortNum:SUT上でサーバーに使用されるポート番号。(デフォルト値:5900。)
- Username:RDP経由で接続する場合のWindowsのユーザー名。(デフォルト値:なし。)
- Password:VNCで接続する場合のVNCサーバー用のパスワード、またはRDPで接続する場合のWindowsのユーザーパスワード。(デフォルト値:なし。ただし、RDP接続にはパスワードが必要な点に注意してください。)
- sshHost:SSH接続をホストするコンピュータのホスト名またはIPアドレス。(デフォルト値:なし。)
- sshUser:SSHホストのユーザーアカウント(デフォルト値:なし。)
- sshPassword:SSHサーバーのユーザーアカウントのパスワード。(デフォルト値:なし。)
- Type:RDP、VNCまたはスクリーンショット:SUTとの接続に使用する接続方法。RDP接続はデフォルトでポート3389を使用します。(デフォルト値:VNC。)
- Visible:接続時にViewerウィンドウが自動的に開くかどうかを指定します。(有効値:YesまたはNo。)
- ColorDepth:Viewerウィンドウ内でのSUTの色深度:8、16、32。(デフォルト値:SUT本来の色深度。)
- Height:RDP接続タイプの場合のみ、Viewerウィンドウの高さをピクセル値で指定します。(デフォルト値:768。)
- Width:RDP接続タイプの場合のみ、Viewerウィンドウの幅をピクセル値で指定します。(デフォルト値:1024。)
- scaleRemoteScreen:YESに設定すると、モバイルVNCサーバーの各寸法を50%ずつ拡大・縮小することができます。このオプションにより、大画面または高解像度のモバイルデバイスを使用する際のパフォーマンスが向上します。
- blendScaledScreen:YESに設定すると、scaleRemoteScreenを使用する際にピクセル色を混合できます。このオプションは、古いスクリプトや画像との後方互換性のためにのみ使用するようにしてください。
挙動:SUTとの接続を開くか、接続済みのSUTをアクティブSUTにします。接続プロパティリストを渡す場合は、設定したプロパティを上書きします。
eggCloudデバイスへの接続:Connectコマンドを使ってEggplant Automation Cloud内にホストされているデバイスに接続する方法は、Eggplant Automation Cloudテストシステムへの接続を参照してください。
ConnectionInfo()関数
例:
Log the ColorDepth of the ConnectionInfo //アクティブ接続の接続プロパティリストからのColorDepthプロパティ値をログに記録します
例:
if type of the connectionInfo is "RDP" then assert that the RemoteScreenSize is (1920,1080) //assertコマンドを使用して、RDP接続が解像度1920x1080を使用していることを確認します。解像度が想定されたものでない場合は、assertコマンドは例外を投げ、実行が中止されます
例:
//ConnectionInfo(「Windows」)のステータスが「Connected(接続済み)」になるまで、以下のようなコードを利用して再起動後にSUTに再接続します
try //Connectコマンドが失敗した場合でも、Tryまたはcatchコマンドを利用すると実行を継続できます
Connect "Windows"
//例外をキャッチし、警告をログに記録したら、SUTが利用できるようになるまで1分間待機し、その後、再接続を試みます
catch
LogWarning "SUT not yet available after restart. Waiting one minute before trying to connect again."
Wait 1 minute
end try
If the RepeatIndex is greater than 3 then throw "Unable to connect to SUT.", "SUT is not available after reboot." //repeatループの反復回数をチェックし、3回を超えている場合は、例外を投げて実行を終了します
end repeat
パラメータ:SUTのホスト名、IPアドレスもしくは表示名、またはこれらのうちの少なくとも1つを含む接続プロパティリスト。またはパラメータなし。
戻り値:所定の接続の接続プロパティリスト。パラメータが存在しない場合は、ConnectionInfoはアクティブ接続の接続プロパティリストを返します。例えば:
(Availability:"Active", Bonjour:"False", ColorDepth:"32", Connected:"True", Name:"Windows", Pass_code:"D>12W:QoP79O2(", PortNum:"5900", Reverse:"False", ScreenSize:(1024,768), ServerID:"192.168.120.136", Status:"Connected", Type:"vnc", Visible:"True")
挙動:所定のSUTの接続プロパティリストを返します。
返されるプロパティリストは、以下の任意の数のプロパティを含むことができます。
- AndroidDevice:(ブーリアン)。AndroidデバイスをUSBで接続している場合は、Trueに設定します。
- Availability:(ブーリアン)。直近のSUTの可用性ステータス。
- Bonjour:(ブーリアン)。SUTがBonjour経由かzeroconf経由で検出されたかどうか。
- ColorDepth:(整数:8、16、または32)。Viewerウィンドウに表示されるSUTの色深度。
- Connected:(ブーリアン)。EggPlant Functionalが現時点でSUTに接続されているかどうか。
- DeviceManufacturer:(文字列)。接続しているモバイルデバイスのメーカー。(このプロパティは、VNCサーバーが情報を送信する場合にのみ含まれます。)
- DeviceModel:(文字列)。接続しているモバイルデバイスのモデル名。(このプロパティは、VNCサーバーが情報を送信する場合にのみ含まれます。)
- DeviceSerialNumber:(文字列)。AndroidデバイスをUSBで接続している場合は、デバイスのシリアル番号に設定します。
- DeviceSupportsPointerEvents:(ブーリアン)。モバイルデバイスがMoveToなどのポインタイベントをサポートしてるかどうか。
- DeviceVersion:(文字列)。接続しているモバイルデバイスのバージョン。(このプロパティは、VNCサーバーが情報を送信する場合にのみ含まれます。)
- Name:(文字列)。SUTの表示名。
- Pass_code:(文字列)。VNCサーバー用の暗号化済みパスワード。
- PortNum:(整数)。SUT上でVNCサーバーが使用するポート番号。
- Reverse:(ブーリアン)。VNC接続が逆接続かどうか(すなわち、 SUTから開始されているかどうか。)
- ScreenSize:(サイズ)。SUT画面の幅と高さ。
- ServerID:(文字列)。SUTのホスト名、IPアドレスまたは表示名。
- sshHost:(文字列)。SSH接続をホストするコンピュータのホスト名またはIP。
- sshPass_code:(文字列)。SSHサーバーのユーザーアカウントの暗号化済みパスワード。
- sshUser:(文字列)。SSHホストのユーザーアカウント。
- Status:(文字列:ConnectedまたはNot Connected)。EggPlant FunctionalがSUTに接続しているかどうか。
- Type:(文字列)。接続方法(VNCまたはRDP)。
- Visible:(ブーリアン)。接続時にViewerウィンドウが自動的に開くかどうか(値はYesまたはNo)。
Disconnectコマンド
例:
Disconnect (serverID:"192.168.1.20", port:"5900")
例:
Disconnect "Nightly Regression"
例:
Disconnect //アクティブSUTの接続を切ります
パラメータ:SUTの名前または接続プロパティリストで指定される、オプションのVNC接続。
挙動:所定のSUTのVNC接続を閉じます。SUTが指定されていない場合は、アクティブ接続を閉じます。
RefreshScreenコマンド
例:
RefreshScreen
パラメータ:なし。
挙動:ViewerウィンドウにSUTの更新と再描画を強制します。通常、本コマンドが必要になることはありませんが、特定の操作によって画面アーティファクトが生じた場合は、このコマンドを使用してアーティファクトを除去できます。
RemoteScreenRectangle()関数
例:
set myScreenRectangle to the RemoteScreenRectangle //RemoteScreenRectangleの戻り値を、名前がmyScreenRectangleの変数に格納します
例:
Drag "PaneCorner" //名前がPaneCornerという画像上でドラッグアクションを開始します
Drop the topright of the RemoteScreenRectangle //SUT画面の右上隅にドロップし、ドラッグアクションを終了します
例:
CaptureScreen (Name:"C:\Users\Tester\Desktop\"&serverID of the ConnectionInfo&".png", Rectangle:the RemoteScreenRectangle/2) //アクティブ接続プロパティリストのserverIDを使用して、SUTの左上の四分円を切り取ったスクリーンショットに名前を付けます
パラメータ:なし。
戻り値:座標。例: (0,0,1024,768)
挙動:フルサイズのViewerウィンドウを表す矩形の座標を返します。
RemoteScreenSize()関数
例:
log the RemoteScreenSize//アクティブSUTの解像度をログに記録します
例:
MoveTo the RemoteScreenSize*(0.9,0.1) //マウスカーソルをSUT画面の左から90%、上から10%の位置に移動します
ScrollWheelDown 3 //前のMoveToコマンドで設定したように、マウスホイールを現在のカーソル位置から3インクリメント下にスクロールします
例:
set the SearchRectangle to (the RemoteScreenSize*.25, the RemoteScreenSize*.75) //検索可能領域をSUT画面の中央部分のみに設定します
パラメータ:なし。
戻り値:ピクセル値で測定されるSUTの幅と高さ。例:(1024,768)
挙動:画面の幅と高さを表す2つの数字のリストとして、SUTのサイズを返します。
Waitコマンド
例:
Wait 6 //6秒待ちます
例:
Wait 10 minutes //10分待ちます
例:
click "LoginButton"
waitFor 15, "WelcomeMessage"
wait 1.5
click "ViewAccountDetails"
パラメータ:一定の期間。デフォルトでは、単位は秒を使用します。
挙動:指定した期間だけ、次の行のスクリプト実行を停止します。waitコマンドは、SUTとやり取りする準備ができているシンプルな可視インジケータが存在せず、スクリプトの開始前にSUTに追加の時間を見越す必要がある状況において、非常に役に立ちます。このような状況は、ボタンが作用するまで一定の時間がかかったり、UIがローディングに伴って変化することが原因で生じることがあります。
関連:
- WaitFor:本コマンドは、特定の要素(画像またはテキスト/OCR)がSUT上に表示されるまで待機するのに使用できます。
- WaitForAll:本コマンドは、各要素(画像またはテキスト/OCR)のリストがSUT上に表示されるまで待機するのに使用できます。