私は自分のプログラムの自動化テストを書いており、デバイスの向きも自動化したいと考えています...以下のコードを使用してデバイスの向きを設定しています。
UIATarget.localTarget().setDeviceOrientation(UIA_DEVICE_ORIENTATION_LANDSCAPERIGHT);
しかし、デバイスの現在の向きも取得したいと考えています。向きを取得する getDeviceOrientation() メソッドが見つかりませんでした。
私は自分のプログラムの自動化テストを書いており、デバイスの向きも自動化したいと考えています...以下のコードを使用してデバイスの向きを設定しています。
UIATarget.localTarget().setDeviceOrientation(UIA_DEVICE_ORIENTATION_LANDSCAPERIGHT);
しかし、デバイスの現在の向きも取得したいと考えています。向きを取得する getDeviceOrientation() メソッドが見つかりませんでした。
やってみました:
var orientation = UIATarget.localTarget().deviceOrientation()
ドキュメントから:
デバイスの向き
討論
戻り値は、デバイスの物理的な向きを表す定数であり、アプリのユーザー インターフェースの現在の向きとは異なる場合があります。可能な値は次のとおりです。
UIA_DEVICE_ORIENTATION_UNKNOWN
UIA_DEVICE_ORIENTATION_PORTRAIT
UIA_DEVICE_ORIENTATION_PORTRAIT_UPSIDEDOWN
UIA_DEVICE_ORIENTATION_LANDSCAPELEFT
UIA_DEVICE_ORIENTATION_LANDSCAPERIGHT
UIA_DEVICE_ORIENTATION_FACEUP
UIA_DEVICE_ORIENTATION_FACEDOWN
デバイスの向きは、おそらくシミュレーターでは使用できません。interfaceOrientation()
代わりにUIAApplication
オブジェクトで使用することをお勧めします。
var target = UIATarget.localTarget();
var app = target.frontMostApp();
var orientation = app.interfaceOrientation();
if (orientation == UIA_INTERFACE_ORIENTATION_PORTRAIT || orientation == UIA_INTERFACE_ORIENTATION_PORTRAIT_UPSIDEDOWN) {
UIALogger.logDebug("Portrait");
} else if (orientation == UIA_INTERFACE_ORIENTATION_LANDSCAPELEFT || orientation == UIA_INTERFACE_ORIENTATION_LANDSCAPERIGHT) {
UIALogger.logDebug("Landscape");
}
このガイドはかなり良いです。