如何使用UIAutomation进行iOS自动化测试

如题所述

第1个回答  2017-06-24
 研究iOS的自动化测试也有些日子了,刚开始的时候,一直苦于找不到什么好的资料,只能从Apple的官网查阅相关的API文档,只可惜,Apple对开发者来说实在是不怎么友好,文档写得相当的粗略,对于初学者来说有一定的难度。  本来是打算自己动手写一篇关于iOS的UI自动化测试的入门级别的介绍性文档的,但想起来后面在具体解决一些问题的时候,收藏一篇很好的Blog,很全面地介绍了如何使用UIAutomation的JavaScript Libraries做iOS程序的自动化测试。如果作者早点看到这篇文章,应该要少走一些弯路,这里没有创意性的把他翻译成中文,希望对你们有一些帮助。  快速入门  自动化测试代码可以“在你的睡着的时候”很好地帮你测试你的应用程序。它可以让你能够快速地跟踪你程序中的回归和性能方面的问题,这样你就不用担心你新增的功能会影响到你之前已经完成开发的程序了。  随着iOS4.0的发布,苹果公司同时发布了一个名为UIAutomation的测试框架,它可以用来在真实设备和iPhone模拟器上执行自动化测试。但官方关于UIAutomation的文档相当的有限,在网络上也没有太多的资源可以查找的。本文将向你展示你如何将UIAutomation整合到你的工作流程当中去。  作为基础知识的准备,你可以先看一下苹果公司关于UIAutomation的文档,另外还有一篇快速入门的介绍苹果Instruments的文档也值得看看,当然,如果你有一个免费的Apple开发者账号的话,你可以看一下WWDC 2010 - Session 306 – 使用Instruments进行用户界面自动化测试的幻灯片或者视频。  除此之外,包括在Xcode中的OCUnit测试框架也可以用来为你的应用程序编写单元测试。  1、第一个UIAutomation测试脚本  ● 使用iOS 模拟器  ● 使用iOS设备  2、处理UIAElement和元素可访问性(Accessibility)  ● UIAElement层次结构  ● 模拟用户操作  3、经验分享(让你的生活变得更简单)  ● 类库Tune-up介绍  ● 导入外部脚本  ● 使用强大的命令行  ● 使用录制交互功能  ● 当遇到问题时,加上“UIATarget.delay(1);”  4、高级交互  ● 处理非预期和预期的提示框(alerts)  ● 多任务  ● 屏幕方向  5、总结  ● 有用的链接  ● 一个视频  1、你的第一个UIAutomation测试脚本  UIAutomation的功能测试代码是用Javascript编写的。UIAutomation和Accessibility有着直接的关系,你将用到通过标签和值的访问性来获得UI元素,同时完成相应的交互操作。  下面让我们来编写我们的第一段测试代码。  使用iOS模拟器  1)下载示例应用程序TestAutomation.xcodeproj,并打开它。这个项目是一个很简单的包含2个tab的tabbar应用程序。  2)确保选中如下图所示的“TestAutomation > iPhone 5.0 Simulator”模式(或许你已经切换成5.1了,因此它可能是iPhone5.1模拟器)。  3)启动Instruments(Product > Profile),或者通过⌘I。  4)选择左边的iOS Simulator,然后再选择Automation模板,然后点击“Profile”。
相似回答