Robotium的环境搭建

因为要在命令行下运行一些android工具,所以配置一些环境变量会比较方便:

遇到问题:java-jar re-sign.jar 出现提示android路径没有配置好:

 需要配置如下:

配置ANDROID_HOME为android sdk的安卓目录,例如:D:/android-sdk

  在path下添加这两个:

%ANDROID_HOME%/tools;%ANDROID_HOME%/platform-tools;

重新开关一次命令窗口

在真机中安装APK(以腾讯微信作为测试的apk)

因为robotium要求被测应用和测试代码要有一致的key,所以我们需要把下载到的apk,通过re-sign.jar来产生debug key的apk,这个重新生成的apk就会跟测试项目签名一致了

re-sign.jar可以从这里下载到:

http://www.troido.de/re-sign.jar

下载完后,在命令行下 通过 java -jar re-sign.jar就会出现一个节目,然后将apk拖到这个节目,就会自动生成一个debug key的apk

产生新apk的过程中会弹出一个信息框,记得截下图,因为里面有两个信息我们等会的代码中需要用到

然后打开模拟器(模拟器器一定要打开才能安装成功),然后打开命令行

adb install mitalk_debug.apk(新生成apk的名称)

安装成功就可以再模拟器里看到该应用的图标了

  注意:

  一、删除之前 APK 文件的签名

1、解压apk 文件

2、删除解压出来文件夹中的 META-INF 目录:META-INF 存放签名后的CERT 和MANIFEST 文件,用于识别软件的

签名及版权。

3、删除文件夹后重新把解压出来的其它文件夹压缩为zip 文件,然后直接把文件后缀改为apk

  二、为 APK 重新生成签名

1、将证书复制到与需要重新签名的apk 文件相同的目录下

2、jarsigner -keystore debug.keystore -storepass android -keypass android D:/Robotium/robotium/robotium/weixin_delet_rsa_sf.apk androiddebugkey

创建自动化测试项目

打开Eclipse,点击File->New一个AndroidTestProject,然后点击下一步的时候选择This project(因为我们没有米聊应用的源码),然后选择要在哪个android版本上测试

在该项目下创建一个包,com.tencent.test,在该包下创建LoginTest类,如下

package com.mitalk.test;

import android.app.Activity;

import android.test.ActivityInstrumentationTestCase2;

import com.jayway.android.robotium.solo.Solo;

@SuppressWarnings("rawtypes")

public class LoginTest extends ActivityInstrumentationTestCase2 {

public Solo solo;

public Activity activity;

private static Class<?> launchActivityClass;

// 对应re-sign.jar生成出来的信息框里的两个值

private static String mainActiviy = "com.tencent.mm.ui.LauncherUI";

private static String packageName = "com.tencent.mm";

static {

try {

launchActivityClass = Class.forName(mainActiviy);

} catch (ClassNotFoundException e) {

throw new RuntimeException(e);

}

}

@SuppressWarnings("unchecked")

public LoginTest() {

super(packageName, launchActivityClass);

}

@Override

protected void setUp() throws Exception {

super.setUp();

this.activity = this.getActivity();

// this.solo = new Solo(getInstrumentation(), getActivity());

}

public void testLoginWithIncorrentUsernameAndPassword() throws Exception {

wait(5000);

//待完成

}

@Override

public void tearDown() throws Exception {

try {

this.solo.finishOpenedActivities();

} catch (Throwable e) {

e.printStackTrace();

}

this.activity.finish();

super.tearDown();

}

}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值