MonkeyTalk自动化测试文档
基于MonkeyTalk的自动化测试
一、MonkeyTalk 测试的基本使用
(1)MonkeyTalk 安装
官网下载解压即可使用,是依靠eclipse生成的工具(需要配置好android所需的开发环境)
(2)MonkeyTalk 使用
A>创建项目
1.File >New > Other >
2.选择测试APP操作系统
3.选择APK的位置(如果改apk未写入测试文件会提示需要写入东西,确认就是了)
4.最后就是你的项目名和测试文件名
5.我们的项目目录(MonkeyTestTest.mt是测试脚本)
B>录制脚本
1.连接android设备
当我们android设备连接电脑的时候,点击图标,就会再第一列出现connect to XXX,点击就可
以连接我们的android设备了。
2.安装,和启动apk
安装
启动
设备上就可以看到我们的apk已经启动了(同时可以看到MonkeyTalk工具栏的录制和执行图标亮了)
3.脚本录制和启动
1)点击开始录制脚本
2)此时操作设备上的项目,MonkeyTalk会自动生成脚本
3)点击图标录制结束
4)我们关闭APP后启动,点击图标就可以运行脚本了
C >测试报告文件
当我们运行完成了在项目文件下会生成测试报告(reports文件夹下)
在项目文件下我们可以看到多了reports文件夹和screenshots文件夹
1.reports文件夹就是包含测试信息文件,
1>screenshots文件夹下,就是当前设备运行的截图
2>DETAIL-MonkeyTestTest.mt.html APP测试信息
每个脚本都包含运行时间、是否运行成功和截图。
2.screenshots文件夹下,就是该项目下设备运行的截图
二、基于MonkeyTalk和Ant的自动化测试
主要介绍MonkeyTalk单个脚本如何在多个测试环境或设备中运行,现在工具只支持顺序进行,即一个设备运行完再运行另一个设备。
(1)需要安装配置apache-ant
先把MonkeyTalk的monkeytalk-ant-1.0.30文件拷贝到apache-ant的lib目录下。
配置环境如下所示:
新建变量名为ANT_HOME 值为:apache-ant的目录路径
在path中添加apache-ant的bin目录路径
aj 地址https://www.360docs.net/doc/5f8320415.html,/tools/ajdt/42/update (2)生成AJ项目(AJ项目的APK可以直接做测试APK)
在Eclipse中打开你的Android项目。
1.将您的Android项目转换为的AspectJ
如果没有AJ选项可以通过Eclipse自升级安装。
2.将MonkeyTalk-agent.jar复制放到libs文件夹下。Jar在
\monkeytalk\agents\android目录下
3.右键单击MonkeyTalk agent.jar> AspectJ的“工具”>“添加到
Aspectpath。
4.在AndroidManifest.xml添加两个权限:
android.permission.INTERNET
android.permission.GET_TASKS
5.更新项目属性(右键单击项目>“属性”>“Java Build Path中),选择
Order and Export选项卡,检查到AspectJ的运行时库旁边的复选框,将其导出:
注意:1、如果打包出错将AspectJ进行上移操作。
2、在project 中clean一下重新出包。
(3)在MonkeyTest项目下创建build.xml文件(实际应用中我把安装启动卸载都是通过adb来实现的,并没有写到配置文件中)
脚本如下所示:
xmlns:monkeytalk="antlib:com.gorillalogic.monkeytalk.ant"> binary="${instrumentedApp}" androidSdk="${sdk.dir}" deviceSerial="0123456789ABCDEF" verbose="true" /> packageName="${packageName}" activityName="${activityName}" deviceSerial="0123456789ABCDEF" androidSdk="${sdk.dir}" verbose="true" /> port="9006" adb="D:\adt-bundle-windows-x86-20131030\sdk\platform-tools/adb.exe" script="${basedir}/MonkeyProjectTest.mt" reportdir="${basedir}/reports1" adbSerial="0123456789ABCDEF" adbLocalPort="9006" adbRemotePort="16862" thinktime="1000" timeout="5000" verbose="true" screenshotOnError="true" screenshots="true" /> packageName="${packageName}" androidSdk="${sdk.dir}" deviceSerial="0123456789ABCDEF" verbose="true" />
运行脚本
需要通过cmd命令执行在MonkeyTest(项目文件)工程目录下输入:ant MonkeyTest
如下图所示:
Microsoft Windows [版本6.1.7601]
版权所有(c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>cd C:\Users\Administrator\monkeytalk\workspace\MonkeyTest
C:\Users\Administrator\monkeytalk\workspace\MonkeyTest>ant MonkeyTest
(4)关于ant和eclipse打包问题,附上官网论坛解决方式
(https://www.360docs.net/doc/5f8320415.html,/content/building-android-project-ant-monkeytalk)
有时我们发现eclipse打包出来的东西是可以连接测试的,而通过ant 打包却不能,这是因为我们打包没有加入aspectj,
1.我们去官网下载aspectj后点击jar文件安装,
2.配置环境变量
3.拷贝MonkeyTalk下的sample下demo1项目中的custom_rules.xml
文件到项目的目录下
4.打包命令改成
ant clean debug -Dsdk.dir=D:/adt-bundle-windows-x86-20131030/sdk -Daspectj.dir=C:/aspectj1.8 (5)自动执行测试
我将自动执行的操作全部写到了auto.java 文件中了,
我们只需要运行auto.java就可以执行操作了(代码我都加了注释)。
附1.打包DOS命令
<--! 打包库文件-->
cd D:\gitproject\AndroidDTStandApp\libs\aFileChooser
android update lib-project -p . -t android-19
cd D:\gitproject\AndroidDTStandApp\libs\PullToRefreshLibrary
android update lib-project -p . -t android-19
cd D:\gitproject\AndroidDTStandApp\libs\SlidingMenuLibrary\library
android update lib-project -p . -t android-19
<--! 打包项目-->
cd D:\gitproject\AndroidDTStandApp\code\DT_Android_Standard
android update project -p . -t android-19
ant clean debug -Dsdk.dir=D:/adt-bundle-windows-x86-20131030/sdk -Daspectj.dir=C:/aspectj1.8 ant release
附2. 执行测试脚本
adb devices 查看连接设备
安装apk到指定设备上
adb -s 0123456789ABCDEF install d:/project.apk
启动应用
adb -s 0123456789ABCDEF shell am start -n com.dingtai.standard/.StartPageActivity
adb -s 20F3A3BED182 install d:/project.apk
adb -s 20F3A3BED182 shell am start -n com.dingtai.standard/.StartPageActivity
进入MonkeyTalk项目目录
cd C:\Users\Administrator\monkeytalk\workspace\MonkeyProject
运行测试脚本
ant MonkeyProject
附3.
(1)build.bat文件,用于打包APK,调用antX.bat
(2)Auto.bat文件,运行自动测试脚本
(3)Auto.java文件,用于自动执行打包APK,获取设备,安装APK,修改build.xml文件中的设备序列号,执行测试脚本(个个设备的运行信息保存再设备序列号文件名下)。
结束:当我们配置好以上东西,录制好脚本,运行auto.java就可以执行测试操作了