首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何改进iPhone UI自动化?

如何改进iPhone UI自动化?
EN

Stack Overflow用户
提问于 2011-01-24 15:06:04
回答 4查看 3.3K关注 0票数 5

为了找到解决UI自动化问题的方法,我在谷歌上搜索了很多。我找到了一篇文章,很好地总结了这些问题:

无法从命令行运行测试。 无法设置或重置状态。(...) 前面问题的一部分是UI自动化没有离散测试的概念。(...) 无法以编程方式检索测试运行的结果。(...)

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

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

其他的问题呢?自该职位(2010年7月20日)以来,是否有任何改进?

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

EN

回答 4

Stack Overflow用户

发布于 2011-01-24 23:37:36

尽管自那篇文章发表以来,UI自动化得到了改进,但我所看到的改进都与可靠性有关,而不是新功能。

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

这个问题中讨论了从命令行运行测试的主题,在在Apple Developer论坛上中暗示了一个潜在的解决方案。我自己也没试过。

可以在测试运行后导出测试结果,可以脱机解析测试结果。

最后,关于最后一个问题,您可以处理UI元素,而不必为它们分配可访问性标签。许多常见的UIKit控件在默认情况下都是可访问的,因此您已经可以按名称将它们作为目标。否则,您可以从显示层次结构中的视图位置选择视图,如下面的示例所示:

代码语言:javascript
复制
var tableView = mainWindow.tableViews()[0];

和往常一样,如果UI自动化工具中缺少一些对您很重要的东西,那么提交增强请求就可以进入下一个版本的SDK。

票数 5
EN

Stack Overflow用户

发布于 2012-08-01 17:50:41

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

在回答你们每一个问题时:

无法从命令行运行测试。

苹果公司现在提供了这个服务。使用IMAT,您可以通过命令行或仪器启动测试。在苹果提供命令行界面之前,我们使用AppleScript来启动仪器,然后启动测试--很恶心。

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

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

前面问题的一部分是UI自动化没有离散测试的概念。(...)

同意。IMAT和tuneup.js (js#readme)都允许这样做。

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

读取尾随的plist文件并不容易。IMAT通过读取plist文件在测试运行后提供一个类似于jUnit的报告,这是由我的CI工具(Teamcity,Jenkins,CruiseControl)获得的。

票数 3
EN

Stack Overflow用户

发布于 2011-07-14 09:11:44

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

代码语言:javascript
复制
var tableV = mainWindowTarget.scrollViews()[0].tableViews()[0].scrollToElementWithName("Name of element inside the cell");

即使元素位于第12个单元格中,上面的脚本也可以工作(但名称应该与单元格中提到的名称完全相同)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4783517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档