我们可以在 iPhone 模拟器中使用 UI 自动化工具吗?

Posted

技术标签:

【中文标题】我们可以在 iPhone 模拟器中使用 UI 自动化工具吗?【英文标题】:Can we use UI Automation tools with the iPhone Simulator? 【发布时间】:2010-08-03 14:53:23 【问题描述】:

我一直在使用带有 Instruments 和 iPhone SDK 4.0 的新 UI 自动化工具,但到目前为止,我还无法让它在 iPhone 模拟器下运行。我已经尝试将目标设置到每个可能的位置——我的构建文件夹、~/Library/Application Support/iPhone Simulator 中的应用程序文件夹等——但是当我尝试运行它时收到一条错误消息:

-[UIATarget_0x5a1e3b0 frontMostApp] 中的意外错误,/SourceCache/UIAutomation_Sim/UIAutomation-37/Framework/UIATargetElements.m 第 437 行,

有人让这个工作吗?

【问题讨论】:

【参考方案1】:

是的,理论上你可以。在实践中存在很多问题。但是你检查模拟器是否有 accessibity.plist 吗?

我在https://devforums.apple.com/message/261883#261883 上找到了这个 他们建议:“将 ~/Library/Application Support/iPhone Simulator/4.0/Library/Preferences/com.apple.Accessibility.plist 复制到 ~/Library/Application Support/iPhone Simulator/4.0.1/Library/Preferences”并且它有效对我来说。

【讨论】:

不幸的是,这对我不起作用。不过,感谢您的提示。 @Jeff - 你重启模拟器了吗?您需要这样做才能加载新的属性列表。此外,如果您使用的是该 SDK,则需要为 4.0.2 执行此操作。【参考方案2】:

如果您无法获得正确的目标,则使用不同的工具(如 Leaks)运行您的项目应该将您的可执行文件放入“选择目标”列表中。这至少是您可以通过这种方式排除的一个潜在错误源。

【讨论】:

以上是关于我们可以在 iPhone 模拟器中使用 UI 自动化工具吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jenkins 上运行 ios 模拟器进行 ui 自动化测试

在 SwiftUI 中更改方向时更新 UI

在 iOS 上使用大小类的不同 UI

运行 Instrument 的 UI 自动化时捕获 iPhone 控制台日志

如何为 nsoperationqueue 正确使用 autoreleasepool

在 iPhone 的 UI 自动化测试中访问 JAVASCRIPT 变量