繁体   English   中英

如何改进iPhone UI自动化?

[英]how can I improve iPhone UI Automation?

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

没有办法从命令行运行测试。(...)

无法设置或重置状态。 (......)

上一个问题的一部分是UI Automation没有离散测试的概念。 (......)

没有办法以编程方式检索测试运行的结果。 (......)

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

问题没有。 3可以用茉莉花来解决( https://github.com/pivotal/jasmine-iphone

其他问题怎么样? 自那篇文章(2010年7月20日)以来,是否有任何改进?

还有一个问题:选择特定UI元素的唯一现有方法是在应用程序源代码中添加辅助功能标签吗?

虽然自从该帖子发布以来UI自动化已经有所改进,但我所看到的改进都与可靠性而非新功能有关。

他提出了使用UI自动化进行更严格测试的一些问题。 如果您稍后阅读评论,那么就如何解决这些问题进行了大量讨论。

在命令行运行测试的话题中讨论这个问题 ,其中一个可能的解决方案是在暗示, 在苹果开发者论坛 我自己没试过。

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

最后,关于您的上一个问题,您可以解决UI元素,而无需为其分配可访问性标签。 默认情况下可以访问许多常见的UIKit控件,因此您可以按名称对其进行定位。 否则,您可以从显示层次结构中的位置中选择视图,如下例所示:

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

与往常一样,如果UI自动化工具中缺少对您很重要的内容,请提交增强请求,以便它可以进入下一版本的SDK。

你试过IMAT吗? https://code.intuit.com/sf/sfmain/do/viewProject/projects.ginsu 它使用Apple提供的原生javascript sdk,可以通过命令行或工具触发。

回答您的每个问题:

没有办法从命令行运行测试。(...)

Apple现在提供此功能。 使用IMAT,您可以通过命令行或通过仪器启动测试。 在Apple提供命令行界面之前,我们使用AppleScript调出仪器,然后开始测试 - 讨厌。

无法设置或重置状态。 (......)

查看此状态图: https//code.intuit.com/sf/wiki/do/viewPage/projects.ginsu/wiki/RecoveringFromTestFailures

上一个问题的一部分是UI Automation没有离散测试的概念。 (......)

同意。 IMAT和tuneup.js(https://github.com/alexvollmer/tuneup_js#readme)都允许这样做。

没有办法以编程方式检索测试运行的结果。 (......)

读取尾随的plist文件并非易事。 测试运行后,IMAT通过读取plist文件提供类似jUnit的报告,这是由我的CI工具(Teamcity,Jenkins,CruiseControl)选取的

尝试检查元素层次结构,该表可以放在UIScrollView上。

var tableV = mainWindowTarget.scrollViews()[0].tableViews()[0].scrollToElementWithName("Name of element inside the cell");

即使元素在第12个单元格中,上面的脚本也会起作用(但名称应该与单元格中提到的完全相同)

查看http://lemonjar.com/blog/?p=69它讨论了如何从命令行运行UIA

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM