什么是正确的构建选项/代码签名/方案设置,用于在设备上分析ui自动化?

时间:2012-11-12 20:14:56

标签: ios xcode ui-automation

我正在尝试使用我的设备/ iPhone 4上的ui自动化脚本运行。

我已经尝试了几个设置但没有成功,我不确定我是谁:(

构建选项

Validate Built Product: Ad Hoc - Yes, Debug - No, Release - Yes.

代码签名

Ad Hoc - Entitlements.plist - can be debugged - no
Debug - Entitlement-Debug.plist - get-task-allow - yes
Release - Entitlements.plist - can be debugged - no

代码签名身份

Ad Hoc - iPhone Developer
Debug - Don't have set
Release - iPhone Distribution

个人资料计划

Build Configuration - Release
Pre - Actions - None
Post - action - None

显然所有这些设置可能没有错,但我想要一些验证。

我实际上收到了错误

The executable was signed with invalid entitlements

但是,我不认为这是我唯一的问题。

1 个答案:

答案 0 :(得分:1)

为了进行UI自动化测试,捆绑包必须是开发人员签名的。因此,您需要为“Debug”配置设置iPhone Developer:代码签名标识,并将该配置用于UI自动化测试。仪器需要连接到正在运行的进程(即它也需要get-task-allow),这就是为什么你应该在你的情况下使用Debug配置。请注意,您还可以使用“发布”设置创建新的构建配置,但包括get-task-allow

我强烈建议您在所有UI元素上使用accessibilityIdentifier属性来识别它们,并使用它来查找UIA测试脚本中的元素。这样,您的accessibilityLabel仍可用于(和本地化)实际可访问性。