因为要在命令行下运行一些 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一个Android  Test Project,然后点击下一步的时候选择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(); } }


最新内容请见作者的GitHub页:http://qaseven.github.io/

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. 读取android手机流量信息
  4. android 使用html5作布局文件: webview跟javascript交互
  5. Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner Proces
  6. android“设置”里的版本号
  7. Android开发环境搭建
  8. Android(安卓)Resource介绍和使用
  9. 2014.01.21 ——— android 关联android-support源码

随机推荐

  1. Android隐藏程序及调用
  2. Android之开源中国客户端源码分析(二)
  3. Android快速上手
  4. Layout1.3
  5. android 骁龙相机预览宽度方向全屏
  6. Android(安卓)抽屉导航
  7. Android(安卓)5.1 SDK下载与配置
  8. Android(安卓)系统级应用守护进程
  9. 最新Android(安卓)ADT, SDK, SDK_tool等
  10. Android(安卓)全退出