当前位置:
文档之家› 手机软件测试工具Robotium使用
手机软件测试工具Robotium使用
安装JDK,安装并设置环境变量JAVA_HOME 、CLASSPATH和path 下载解压Eclipse for java工具
下载 Android SDK 解压,运行SDK Manager.exe文件,安装软件包
下载 ADT ,在Eclipse安装ADT插件 在Eclipse设置Android SDK 路径 创建一个新的 Android 虚拟设备AVD (Android模拟器的配置) 在/p/robotium/downloads/list下载相应 版本的robotium jar文件
• • • • 1.使用需要一定的权限如root,USB调试已经启用 2.鼠标右键可以旋转屏幕方向 3.反映数度有一定的延迟 4.下载androidscreencast.jnl
•对应的key值KeyMapping
/p/androidscreencast/wiki/KeyMapping
Eclipse for building Test project
ADT (Android Development Tools) Android SDK (Software Development Kit) Robotium-solo-*.*.*.jar
第5页
Robotium环境搭建
•可以扩充它的API(Java部分),并用python脚本调用这些API, 从而实 现丰富的测试功能。用于API部分可以访问到Android全部API。python又 能灵活部署测试,所以 ASE 的扩展性非常好。 •参考《Android Scripting Environment.pdf》
第16页
第19页
Android测试的辅助工具
DDMS( Dalvik Debug Monitor Service )
•Dalvik调试监视器服务提供例如:为测试设备截屏,针对特定的进程查 看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫 、接收 SMS、虚拟地理坐标等等。DDMS将搭建起IDE与测试终端 (Emulator 或者connected device)的链接,它们应用各自独立的端口监 听调试器的信息,DDMS可以实时监测到测试终端的连接情况。当有新的 测试终端连接后,DDMS将捕捉到终端的ID,并通过adb建立调试器,从而 实现发送指令到测试终端的目的。 •参考《Android DDMS如何使用.pdf》
第21页
Android测试的辅助工具
Androidscreencastcase
•一个适用于Windows/Linux/MacOS平台控制任何android设备,通过USB 连接就可实现鼠标键盘控制你的android. •网址:/p/androidscreencast/ •几点说明:
Android测试的其他手段
Monkey
•Monkey是一个命令行工具, Monkey是运行在模拟器或设备上的一个程 序,用来伪随机地模拟点击和触摸等用户事件,就如其它许多系统事件 一样。Monkey可以用于对我们开发的应用程序进行随机和重复的压力测 试。 •示例:Program Files\Android\android-sdkwindows\docs\guide\developing\tools\monkey.html •参考《Android自动化测试手段之Monkey.pdf》
•使用ADB之前
• 把tools目录下的adb.exe和AdbWinApi.dll两个文件放到系统盘的 windows/system32文件夹里 • 用数据线连接手机或者启动模拟器,然后在命令中使用adb命令
第18页
Android测试的辅助工具
Hierarchy Viewer (层级观察器)
•Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下 ,名为hierarchyviewer.bat,是Android自带的非常有用而且使用简单 的工具,可以帮助我们更好地检视和设计用户界面(UI),调试和优化你 的用户界面,是UI检视的利器。 •它可以找到我当前窗口所有的view,并可以查看每个view的属性,查看 每个控件的id,方便编写case。 •参考《UI检视利器:Hierarchy Viewer.pdf》
选择File->New->Project->Android Test Project输入测试工程的名称 ,如:AndroidCalculatorTest。选 择An existing Android Project, 点击Browse按钮,选择之前创建的 被测工程AndroidCalculator,点击 OK按钮。一个测试工程就创建好了 ,如图:
第15页
Android测试的其他手段
CTS
•用来确保某设备符合Android兼容性规范 •参考《Android CTS测试研究.pdf》
ASE(oid Scripting Environment)
•可以通过脚本(如Python)调用Android的功能,从而定制一些测试。
如打电话,发短信,浏览网页等。
第13页
Robotium进行测试的方法和步骤
运行测试程序
选择测试工程AndroidCalculatorTest右击,选择Run As->Android JUnit Test运行测试程序。可以在Run configuration中设置模拟器或设备区运行 测试程序。 运行完后的测试结果界面(Pass)
在使用该工具的时候有一点必须:当编辑完测试脚本后, 会生成一个apk文件,将该apk安装到手机端,并通过abd 输入一系列命令后直接运行测试脚本。但该apk的签名必 须要与测试程序的apk签名保持一致。
第4页
Robotium环境搭建
Robotium使用所需的环境:
JDK (Java Development Kit)
第9页
Robotium进行测试的方法和步骤
导入robotium.jar
选择测试工程AndroidCalculatorTest右击,选择Build Path->Configure Build Path…,在libraries页面中点击Add External JARs按钮。因为之 前创建的工程的SDK是2.2的,所以选择robotium-solo-1.8.0.jar。点击OK 按钮。
第6页
Robotium进行测试的方法和步骤
以一个简单的计算乘法的程序AndroidCalculator作为被测程序 如图所示
第7页
Robotium进行测试的方法和步骤
启动Eclipse执行 File--> Import --> Select root directory,选 择AndroidCalculator项目将被测程序导入进来。 创建一个测试项目AndroidCalculatorTest
第17页
Android测试的辅助工具
ADB (Android Debug Bridge,Android调试桥)
•ADB是androidSdk里的一个通用调试工具, 这个工具可以直接操作管理 android模拟器或者真实设备的状态。还可以进行以下的操作:
• • • • • 在模拟器或设备上安装应用程序的.apk文件 快速更新设备或手机模拟器中的代码,如应用或Android系统升级; 在设备上运行shell命令,访问模拟器或设备; 管理设备或手机模拟器上的预定端口; 在设备或手机模拟器上复制或粘贴文件;
第10页
Robotium进行测试的方法和步骤
为测试用例编写代码
对AndroidCalculator程序进行测试,要实现的一个测试用例如下: 1)访问的第一和第二个编辑域(EditFields) 2)输入选择的测试数据 3)访问和点击multiply按钮 4)验证计算的结果是否符合预期 打开TestMain.java进行编辑并保存,见下图
第11页
第12页
Robotium进行测试的方法和步骤
测试代码的结构
public TestMain() {//构造函数,通知系统要测的app是什么 super("com.calculator", Main.class); } //每一个test case都会调用setup来进行初始化 protected void setUp() throws Exception { super.setUp(); …… } //可以通过tearDown()方法来结束case,可以指定清空或结束此case曾经调用过 的一些资源,如果不写tearDown()方法,系统会调用默认的方法 protected void tearDown() throws Exception{ …… super.tearDown(); } //具体实现测试用例的方法 public void testDisplayBlackBox() { …… } }
第20页
Android测试的辅助工具
MonkeyRunner
•monkeyrunner工具提供了一个API,使用此API写出的程序可以在 Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可 以写出一个Python程序去安装一个Android应用程序或测试包,运行它, 向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上 。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用 程序和设备,或用于运行单元测试套件,也可以将其用于其它目的。 •E:\Program Files\Android\android-sdkwindows\docs\guide\developing\tools\monkeyrunner_concepts.html
运行完后的测试结果界面(Fail)
第14页
Robotium进行测试的方法和步骤
在模拟器或者手机上测试
前面的例子在eclipse中进行测试的,也可以在模拟器或者手机上测试。 如果需要直接在模拟器或者手机上测试,需要将测试包和被测试包改成相 同的签名。 关于测试方法可以参考《Test Android APK File With Robotium.pdf》 关于apk包的签名和重签名请参考《重新签名APK文件.pdf》