在使用Robotium测试的时候,有时候,测试人员并没有代码权限,而Robotium也可以在只有apk文件进行测试,下面就介绍一下这个过程。
1.设置环境变量
安装jdk环境和sdk环境
2.安装签名文件
因为robotium要求被测应用和测试代码要有一致的签名, 所以我们需要把下载到的apk,通过re-sign.jar来产生debug key的apk,这个重新生成的apk就会跟测试项目签名一致了。
打开运行cmd,切换到re-sign.jar文件目录下输入命令java -jar re-sign.jar,点击回车即可打开该jar文件。
3.重新签名apk
将apk包,直接拖拽进去,就会自动生成一个debug key的apk,产生新apk的过程中会弹出一个信息框,记得截下图,因为里面有两个信息我们等会的代码中需要用到
4.安装apk
将重新签名后的apk安装到设备上,若能顺利打开,无crash,则说明重新签名成功。
5.创建项目
打开Eclipse,点击File->New一个Android Test Project, 然后点击下一步的时候选择This project(因为我们没有应用的源码),然后选择要在哪个android版本上测试,并引入Robotium.jar包
6,修改manifest.xml文件
将Package名改为被测文件的包名(重签名时截图中有)
7,新建一个junit测试类
代码如下
- package com.tangbc.test;
- import android.app.Activity;
- import android.test.ActivityInstrumentationTestCase2;
- import com.robotium.solo.Solo;
- @SuppressWarnings("rawtypes")
- public class MomoTest extends ActivityInstrumentationTestCase2 {
- // 定义变量
- public Solo solo;
- public Activity activity;
- private static Class<?> launchActivityClass;
- // 对应re-sign.jar生成出来的信息框里的两个值
- private static String mainActiviy = "com.immomo.momo.android.activity.WelcomeActivity";
- private static String packageName = "com.immomo.momo";
- static {
- try {
- launchActivityClass = Class.forName(mainActiviy);
- } catch (ClassNotFoundException e) {
- throw new RuntimeException(e);
- }
- }
- @SuppressWarnings("unchecked")
- public MomoTest() {
- super(launchActivityClass);
- }
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- this.activity = this.getActivity();
- this.solo = new Solo(getInstrumentation(), getActivity());
- }
- public void testLogin() {
- solo.sleep(2000);
- solo.clickOnText("注册");
- solo.sleep(2000);
- }
- @Override
- public void tearDown() throws Exception {
- solo.finishOpenedActivities();
- }
- }
8.最后, run as android junit test,就可以进行测试了
【转载:http://blog.csdn.net/tt75281920/article/details/28087583】