ios测试脚本
‘壹’ 如何使用UIAutomation进行iOS自动化测试
研究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(Proct > Profile),或者通过⌘I。
4)选择左边的iOS Simulator,然后再选择Automation模板,然后点击“Profile”。
‘贰’ ios 脚本启动程序
回看苹果手机app启动动画的方法、步骤: 1、准备你的启动画面 2、为了同时支持2种分辨率,我们需要准备2个版本的启动画面: 320 x 480 (for iPhone 2G / 3G / 3GS) 640 x 960 (for iPhone 4 / 4S) 3、为了简单一点,这里演示如何为iPhone App添加启动画面,针对iPad App的操作,请参考Apple的 iOS Human Interface Guideline文档 – 关于启动图像大小和命名规范。 启动图像必须为PNG格式。默认情况下,你可将低分辨率图像文件命名为 Default.png,对高分辨率的图像,用于Retina屏幕的(640*960分辨率)图像文件命名为 [email protected],@2x是iOS中一种标准的分辨率修饰符。所有用于在Retina屏幕显示的图像都应采用 @2x 字符串。 4、也可以不是有Default 作为启动图像文件名,使用其他喜欢的文件名。启动图像文件定义在App的Info.plist文件中。以创建的Simple Table应用程序为例,在SimpleTable-Info.plist文件中,添加一个新的属性命名为 – Launch image,并指定偏爱的文件名(如 MyLaunchImage)。 5、上述操作指示iOS 使用 MyLaunchImage.png 和 [email protected] 文件作为启动画面。 6、可以设计自己的启动画面。基于测试的需要,可以到这里下载启动画面。 7、在Xcode中添加启动图像 8、在准备好启动图像之后,回到Xcode,打开你的Xcode项目,继续使用Simple Table项目。右击 SimpleTable项目,选择 Add Files to SimpleTable,同时添加 Default.png 和 [email protected] 到项目中。 9、在完成上述操作之后,会在项目中看到这两个文件,同时Xcode 自动识别文件作为启动图像。 10、开始测试! 11、再次运行App,这次在App运行的时候,将会看到一个启动画面立即显示。因为在App启动的时候没有太多东西加载,因此启动画面仅显示1秒,并消失。
‘叁’ iOS专项测试杂谈
最近稍微尝试了一些iOS专项测试:压力测试、CPU、内存、流量、耗电量测试等等,本文就简单聊聊iOS专项测试。
一、压力测试
iOS压力测试推荐github上的ui-auto-monkey。使用简介如下:
1. 安装:xcode打开你的ios项目 — Proct — Profile — UI Automation,然后导入UIAutoMonkey.js这个脚本。
2. 修改配置信息:
3. 执行该脚本即可;
4. 它还具有一些额外功能包括:UI holes、application not responding等等。
二、CPU、内存、流量、耗电量测试
方法1:采用第三方framework,比如GT.framework,嵌入到应用中。
该方法的优点是:数据可以导出分析、可以图表化展示、而且功能强大,CPU、内存、流量、耗电量、平滑度等等都能分析;缺点是需要源码、并且重新打包app。因此该方法不能用来做竞品分析。
方法2:instruments
Xcode自带的instruments功能强大,可以检查内存、内存泄漏、time profile、耗电量、流量、CPU等等;另外,开发者模式可以用来模拟弱网络、录制耗电量和流量数据。
该方法的缺点就是很多数据不能导出分析,采样得到的数据只能通过instruments自身进行分析;耗电量数据只是energy usage level,精确度数据不直观。也很不方便用来做竞品分析。
方法3:摄像+分析
iOS竞品测试,主要是通过摄像然后进行时间分析的方法来进行。
方法3:通过tcpmp进行流量分析,可以用于竞品分析。
欢迎访问我的博客: www.dzwanli.com.cn
‘肆’ uinity3d的ios游戏,怎么做自动化测试
录制脚本还是需要进行简单的加工和修改,才能完全正确的表达自动化测试脚本的意义。
‘伍’ 关于iphone自动化测试的,需要写一个脚本,存成js格式,因为是在苹果机上做测试,怎么创建js脚本
前一段时间搞过1个来月的自动化测试,用的QTP工具,基于VB脚本语言的
找一个iphone手机的PC同步操作工具,在QTP上选择同步工具的应用程序文件(.exe)
开始录制后,每一次在PC上对iphone手机的操作都会记录成脚本代码,建议你去看看
QTP的基本使用指南,很好上手的。祝你好运
‘陆’ 使用appium怎样写ios真机自动化测试脚本
同android一样 可以用python脚本去写脚本
‘柒’ ios中monkey测试脚本怎么写
一、利用fontMonkey测试工具包
1、下载FoneMonkey.zip文件并解压
2、用xcode打开工程目录
3、添加一个测试用的target并重命名:
4、选取刚才创建的target并将解压好的FontMonkey倒入工程目录 也可以直接拖入到文件目录:倒入时确保你的target为刚才添加的
5、此时在你的框架中会默认添加两个文件
libFoneMonkey.5.4a.beta.a
libFoneMonkeyOCUnit.5.4a.beta.a
这两个文件在FoneMonkey的lib文件夹中,如果框架管理中没有,则可以直接拖过去;
然后再添加几个框架文件(默认有三个),libxml2.dylib、SenTestingKit.framework、QuartzCore.framework
6、修改工程的配置文件 Buile Seting->Linking->Other Linker Flags
添加选项 -all_load
7、开始编译程序 选择测试target以及模拟器(真机器还没试验),运行
二在Instrument中编写脚本进行测试(不能录制)
1、打开Instruments工具 一般路径:/Developer/Applications/instrument
2、选择Automation
3、添加测试脚本(如果有现成的,可以导入)
4、编写脚本
给出测试几个按钮点击的脚本
var target = UIATarget.localTarget(); //变量用来表示这是一个测试系统
var application = target.frontMostApp(); //确定要测试的程序
var window = application.mainWindow(); //确定要册书的窗口
window.logElementTree(); //获取要测试界面的所有元素
var bt=window.buttons()[2];
if(bt.isValid()){
bt.tap();
}
else{
UIAlogger.logMessage("some error show!");
}
5、倒入程序的xx.app 包
6、点击Record将会直接通过脚本去点击程序中的一个按钮
‘捌’ 如何写一个测网速的脚本在ios端运行
您好,要在iOS端编写一个测网速的脚本,需要使用Objective-C或Swift语言。首先,需要定义一个NSURL对象,用于指定要测试的网络地址;然后,使用NSURLConnection类的sendSynchronousRequest方法,发送一个同步请求,以获取网络响应;接着,使用NSURLConnection类的getAllHeaderFields方法,获取响应头;最后,使用NSURLConnection类的getResponseTime方法,获取响应时间,以计算网络速度。以上就是在iOS端编写一个测网速的脚本的步骤,希望能够帮助您。
‘玖’ 如何利用 UIAutomation 自动化测试 iOS 应用
1. 第一个UIAutomation测试脚本
使用iOS 模拟器
使用iOS设备
2. 处理UIAElement和元素可访问性(Accessibility)
UIAElement层次结构
模拟用户操作
3. 经验分享(让你的生活变得更简单)
类库Tune-up介绍
导入外部脚本
使用强大的命令行
使用录制交互功能
当遇到问题时,加上“UIATarget.delay(1);”
4. 高级交互
处理非预期和预期的提示框(alerts)
多任务
屏幕方向
截屏
加载本地脚本
5. 总结
有用的链接
一个视频
‘拾’ 如何使用UIAutomation进行iOS自动化测试
UI Automation脚本录制及回放
UI Automation工具提供了脚本的录制功能,脚本回放成功率很高的脚本录制工具。尽管这样,录制脚本还是需要进行简单的加工和修改,才能完全正确的表达自动化测试脚本的意义。所以,期望不要过高,很多情况下还是需要手动编辑测试脚本的。录制回放工具可以在一定范围内帮助我们提高生产效率。在此就简单的介绍一下脚本录制功能的使用。在Instruments界面上,选择病点击正下方的小红按钮即可开始录制。