我正在为我的程序编写自动化测试,并希望自动化设备方向......我使用以下代码设置设备的方向,
UIATarget.localTarget().setDeviceOrientation(UIA_DEVICE_ORIENTATION_LANDSCAPERIGHT);
但我也想获得该设备的当前方向。我找不到任何getDeviceOrientation()方法来获取方向。
答案 0 :(得分:5)
你试过了吗?
var orientation = UIATarget.localTarget().deviceOrientation()
<强> 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");
}
This guide非常好。