目的:自动化测试是为了减轻测试人员“例行公事”似的测试任务,而诞生的一种测试方法,他是必须的,但不是万能的,就像金钱一样;
概念:利用现成的测试工具,对程序的执行、操作流程进行录制,而后运行时让程序自动走完录制的流程;
原理:操作录制过程,就是测试脚本的自动生成过程,以后的自动测试就是执行相应的脚本,所以,必要时是需要自己动手实现脚本编写;
1、测试脚本的文件包(插入到程序中),如foneMonkey 在mac中应用,其他地方没用过
2、完整的工具(能够启动程序,并按照已经录制的操作步骤执行),eggplant软件
3、自动运行脚本平台(能够启动程序,操作过程由自己编写脚本实现),Instruments,xcode环境一般自带
(1)利用fontMonkey测试工具包
1、下载FoneMonkey.zip文件并解压
2、用xcode打开工程目录
3、添加一个测试用的target
6、此时在你的框架中会默认添加两个文件
libFoneMonkey.5.4a.beta.a
libFoneMonkeyOCUnit.5.4a.beta.a
这两个文件在FoneMonkey的lib文件夹中,如果框架管理中没有,则可以直接拖过去;
然后再添加几个框架文件(默认有三个),libxml2.dylib、SenTestingKit.framework、QuartzCore.framework
7、修改工程的配置文件 Buile Seting->Linking->Other Linker Flags
添加选项 -all_load
选择测试target以及模拟器(真机器还没试验),运行
第二个按钮是录制、第三个是播放、第四个返回上级页面;录制完成后,右上角第一个是保存,第二个是选择保存的脚本对程序进行测试;
原文地址:http://www.gorillalogic.com/books/fonemonkey-doc/setup-guide/preparing-an-app
略有改动,加入了一些必要的注意点;
(2)在Instrument中编写脚本进行测试(不能录制)
1、打开Instruments工具
一般路径:/Developer/Applications/instruments
2、选择Automation
2、添加测试脚本(如果有现成的,可以导入)
3、编写脚本
给出测试几个按钮点击的脚本
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!");
}
4、导入程序的xx.app包
5、点击Record将会直接通过脚本去点击程序中的一个按钮程序设计成:一个页面,页面上有几个按钮就可以了(我用的ios5.0虚拟机);
参考文档:http://developer.apple.com/library/ios/#documentation/DeveloperTools/Reference/UIAutomationRef/_index.html
希望能给同志们有所帮助;
谢谢!
---------------------------------------------------------------------------------------------
转自:http://blog.csdn.net/goodpress/article/details/7223909#reply