使用 UIAutomation 获取设备模型?

Posted

技术标签:

【中文标题】使用 UIAutomation 获取设备模型?【英文标题】:Get device model with UIAutomation? 【发布时间】:2014-09-25 05:03:12 【问题描述】:

有没有办法从 UIAutomation javascript 框架中获取设备类型(例如iPhone 6)或型号(例如iPhone7,2)?离我最近的是:

UIATarget.localTarget().model()

这给了我iPhone SimulatoriPad 等。太笼统了。

【问题讨论】:

【参考方案1】:

我还没有看到在运行模拟器时专门确定模型的方法。但是,如果您使用的是 iPhone/Pad sim/device 以及操作系统版本号,您可以挖掘这些信息,理想情况下,这些信息应该足以让您正确规划测试。

var targetDevice =  UIATarget.localTarget();
UIALogger.logMessage("ios System name: " + targetDevice.systemName());
UIALogger.logMessage("iOS Version number: " + targetDevice.systemVersion());
UIALogger.logMessage("Target name: " + targetDevice.name());
UIALogger.logMessage("Model name: " + targetDevice.model());

在 iPhone 6 模拟器上运行它会产生

2014-10-01 21:14:35 +0000 Default: iOS System name: iPhone OS
2014-10-01 21:14:35 +0000 Default: iOS Version number: 8.0
2014-10-01 21:14:35 +0000 Default: Target name: iPhone Simulator
2014-10-01 21:14:35 +0000 Default: Model name: iPhone Simulator

UIATarget reference 是我找到这些函数的地方。

【讨论】:

以上是关于使用 UIAutomation 获取设备模型?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Xcode 机器人在模拟器上运行 UIAutomation

pythonGUI自动化:uiautomation的常见使用

在目标设备上读取 UIAutomation 的 UIAApplication.setPreferencesValueForKey() 设置的首选项?

Windows桌面程序自动化控制之uiautomation模块全面讲解

在设备上测试时出现scrollToVisible错误,UIAutomation

在 UIAutomation 中使用accessibilityIdentifier 获取UIElement