メインコンテンツまでスキップ

モバイルSUT情報

これらのコマンドと関数を使用して、テスト対象のEggplant Functionalモバイルシステムについての情報をSenseTalkスクリプトで収集します。

AppList 関数

ノート

このコマンドはSauce Labsではサポートされていません。

挙動: AppList 関数は、Android Gatewayを通じて接続されたAndroid SUT、またはiOS Gatewayを通じて接続されたiOS SUTにインストールされたアプリのリストを返します。

パラメータ: None, Simple, または Full.

構文:
AppList( {listType} )

戻り値: この関数をパラメータなしで使用すると、接続されたモバイルデバイスから最も最近取得されたアプリのリストが返されます(接続が確立されてからは必ずしもそうではありません)。パラメータ付きで呼び出されると、デバイスから新たにアプリのリストが要求されます。この更新されたリストは、デバイスに接続してからインストールされたりアンインストールされたりしたアプリを反映しています。

AppList()Simple パラメータを使用することは、パラメータなしで関数を使用することとほとんど同じですが、デバイスから更新されたアプリのリストが要求されます。返されるリストは以下のようになるかもしれません:

(com.sec.android.widgetapp.dualclockdigital,com.blurb.checkout,com.google.android.youtube,com.sec.android.widgetapp.activeapplicationwidget,com.android.chrome,com.sec.android.Kies,com.sec.dsm.system,com.wowwee.mip,com.sec.yosemite.tab,com.sec.esdk.elm)

Full パラメータを使用すると、関数は更新されたリストを要求し、それぞれが以下のプロパティを含むプロパティリストのリストを返します:

  • appID: アプリの識別子文字列(つまり、AndroidのアプリケーションID、iOSのバンドルID)
  • appName: アプリの名前
  • canUninstall: trueまたはfalse、アプリがアンインストール可能かどうか
  • deviceName: アプリがインストールされているデバイスの名前

Full パラメータを使用した場合の出力は次のようになるかもしれません:

((appID:"com.samsung.android.app.ledcoverdream", appName:"com.samsung.android.app.ledcoverdream", canUninstall:"False", deviceName:"SM-G950U1"),(appID:"com.android.cts.priv.ctsshim", appName:"com.android.cts.priv.ctsshim", canUninstall:"False", deviceName:"SM-G950U1"),(appID:"com.gd.mobicore.pa", appName:"com.gd.mobicore.pa", canUninstall:"False", deviceName:"SM-G950U1"))

例:

set myAppList to AppList() // AppList()の戻り値を変数に格納します。

例:

if the applist contains "com.android.chrome" // デバイス上のインストールされたアプリのリストを検索して、特定のパッケージを表す文字列があるかどうかを調べます
Log "Continuing with Chrome tests now."
else
LogError "Chrome is not available; exiting test now." // 期待したパッケージ文字列が戻り値の一部でない場合、エラーを記録してスクリプトを失敗とマークします
exit handler // 現在のハンドラを終了します
end if

例:

put applist(full) into myInstalledApps // アプリのリストを変数に格納します
repeat with each item apps of myInstalledApps // アプリのリストを繰り返します
if apps.canUninstall // 各アプリに対して、アンインストール可能かどうかを確認します
log apps.appName
end if
end repeat

GetDeviceOrientation関数

ノート

このコマンドはSauce Labsではサポートされていません。

戻り値: デバイス画面の現在の回転。例:Portrait。

パラメータ: なし。

構文:
GetDeviceOrientation()

振る舞い: この関数はデバイス画面の現在の回転を返します。可能な値は、[SetDeviceOrientation](/studio/ja/stk-mobile-control-touch-events#setdeviceorientation)コマンドのパラメータと同じです:LandscapeLeftLandscapeRightPortraitPortraitUpsideDown

例:

put "Device rotated to " & GetDeviceOrientation()

例:

myDeviceOrientation "LandscapeLeft" // "myDeviceOrientation"という名前のカスタムハンドラをコマンドとして呼び出し、パラメータ値"LandscapeLeft"を持つ
to myDeviceOrientation orientation // ジェネリックハンドラを"to"構文を使用して宣言します。ジェネリックハンドラはコマンドまたは関数として呼び出すことができます。
if the GetDeviceOrientation is orientation then // 現在のデバイスの向きが目指す向きと一致するかどうかを確認します。
Log "Device is in the expected orientation."
else
LogWarning "Setting device orientation now."
SetDeviceOrientation orientation // SetDeviceOrientationコマンドを使用して、SUTを目指す向きにします。
end if
end myDeviceOrientation

関連:

  • SetDeviceOrientation: このコマンドを使用して、モバイルデバイスの向きを変更します。

SUTInfo関数

ノート

このコマンドはSauce Labsではサポートされていません。

戻り値: SUT情報プロパティリスト。例:

パラメータ: なし。

構文:
SUTInfo()
the SUTInfo

例:

log the sutInfo's device

振る舞い: この関数は、アクティブな接続を持つAndroidまたはiOS SUTに関するプロパティのリストを返します。

iOS: (device:"iPhone7,1", device_os_version:"iOS 10.1.1", os:"OSX", os_version:"10.12.1", type:"iOS Gateway", version:"3.4.1")

Android: (device:"SM-T230NU", device_os:"Android", device_os_version:"4.4.2", EggSensorBuildNumber:"34", EggSensorCompileTime:"Thu Oct 13 16:30:52 MDT 2016", endianess:"little-endian", manufacturer:"samsung", product:"degaswifiue", protocol_version:"2.6", SystemNative2BuildNumber:"http://vncbuild.testplant.com/job/VNC_Android/34/", SystemNative2BuildTime:"2016-10-13, 22:32:05", type:"SystemNative2")