[英]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.