iphone - 如何改进 iPhone UI 自动化?

标签 iphone ios user-interface ui-automation ios-ui-automation

为了找到解决我的 UI 自动化问题的解决方案,我进行了很多谷歌搜索。我发现一篇很好地总结了这些问题的帖子:

There's no way to run tests from the command line.(...)

There's no way to set up or reset state. (...)

Part of the previous problem is that UI Automation has no concept of discrete tests. (...)

There's no way to programmatically retrieve the results of the test run. (...)

来源:https://content.pivotal.io/blog/iphone-ui-automation-tests-a-decent-start

问题编号3可以用jasmine解决(https://github.com/pivotal/jasmine-iphone)

其他问题呢?自该帖子(2010 年 7 月 20 日)以来是否引入了任何改进?

还有一个问题:选择特定 UI 元素的唯一现有方法是否真的是在应用程序源代码中添加可访问性标签?

最佳答案

虽然 UI Automation 自该帖子发布以来有所改进,但我所看到的改进都与可靠性相关,而不是与新功能相关。

他就使用 UI Automation 进行更严格的测试的一些问题提出了很好的观点。如果您稍后阅读评论,就会发现大量关于解决这些问题的方法的讨论。

从命令行运行测试的主题在 this question 中讨论。 ,其中暗示了一个潜在的解决方案 in the Apple Developer Forums .我自己还没有尝试过。

您可以在测试运行后导出测试结果,以便离线解析。

最后,关于你的最后一个问题,你可以在不为它们分配无障碍标签的情况下处理 UI 元素。默认情况下可以访问许多常见的 UIKit 控件,因此您已经可以通过名称来定位它们。否则,您可以从 View 在显示层次结构中的位置中挑选出 View ,如下例所示:

var tableView = mainWindow.tableViews()[0];

与往常一样,如果 UI 自动化工具中缺少对您很重要的东西,file an enhancement request以便它可能会进入下一版本的 SDK。

关于iphone - 如何改进 iPhone UI 自动化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4783517/

相关文章:

ios - 在 Swift 的 MailJet 电子邮件中附加 PDF

ios - 圆形 ImageView iOS 8/Xcode 6

android - android 中可重用拖放 UI 部件的代码设计

iphone - COCOS 2D iPhone - 解析场景之间的变量并在图层中使用

IOS - 线程在 Web 服务调用期间停止

ios - (Swift) UIPanGestureRecognizer 在 View 上工作正常,直到将 subview 添加到它

algorithm - 间隔重叠矩形的算法?

java - 基于 Java 的 GUI 用于搜索 MySQL 数据库时出现 "Stored PROCEDURE does not exists"错误

ios - 错位的 UISegmentedControl(潜在错误)

iOS::如何使用 GZIP Utility 解压缩 .gz 文件?