Robotium自动化--初识
首先,是android开发环境搭建,这些都不说了。
准备:
1.测试的apk包。
2.robotium.jar包。
3.re-sign.jar 重签名工具。
第一步:
1。打开cmd,定位到re-sign.jar文件。命令:java -jar re-sign.jar。稍等一会会有个弹出框。再将测试的apk包直接拖到弹出框里面,然后将xx_debug.apk包保存到某个地方。之后又会弹出一个框,出现几行信息:这个信息记下(pack name,Main activity的值,后面代码中需要用到)。
2.打开模拟器,将xx_debug.apk包直接拖进去安装。模拟器不关。(我这里用的是genymotion模拟器)。
3.打开eclipse,新建一个Android Test Project项目。然后在src目录下新增一个包,再在该包下新增一个类。
最后目录如图所示:
4.进入TestApK.JAVA,编写代码。
package com.testcalculator;
import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
public class TestApk extends ActivityInstrumentationTestCase2 {
//声明静态常量,值为被测程序入口
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.example.pet.denglu"; //此处为Main activity的值
//声明一个class类型的静态变量,用于activityInstrumentationTestCase2加载启动被测程序
private static Class launcherActivityClass;
//静态加载被测程序主类
static {
try {
launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException();
}
}
//构造函数
public TestApk() throws ClassNotFoundException {
super(launcherActivityClass);
}
//声明Solo对象,Solo实例封装了所有Robotium的可用方法
private Solo solo;
//在测试用例初始时执行,初始化了Solo实例
protected void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
//用例逻辑,实现的操作
public void testDisplayBlackBox() {
solo.enterText(0, "10"); //我的app里面就一个输入框,所以index为0,后面输入的值为10.也就是找到index为0的输入框,然后输入数据10。
}
//在测试用例执行完毕后执行,这里销毁了用例中建立的所有实例,清除垃圾。
public void terDown() throws Exception {
solo.finishOpenedActivities();
}
}
5.进入该项目的AndroidManifest.xml文件.
修改android:targetPackage="com.example.pet" 这行代码.""里面的值为pack name的值。
6.然后右键工程-->Run As-->Android Junit Test即可执行代码。(执行代码的时候,虚拟机必须开启,android应用也必须安装在该虚拟机中)。
以下为运行成功图:


浙公网安备 33010602011771号