在使用Robotium测试的时候,有时候,测试人员并没有代码权限,而Robotium也可以在只有apk文件进行测试,下面就介绍一下这个过程。

1.设置环境变量

安装jdk环境和sdk环境

2.安装签名文件

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

点我下载re-sign.jar

打开运行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测试类

代码如下

  1. package com.tangbc.test;
  2. import android.app.Activity;
  3. import android.test.ActivityInstrumentationTestCase2;
  4. import com.robotium.solo.Solo;
  5. @SuppressWarnings("rawtypes")
  6. public class MomoTest extends ActivityInstrumentationTestCase2 {
  7. // 定义变量
  8. public Solo solo;
  9. public Activity activity;
  10. private static Class<?> launchActivityClass;
  11. // 对应re-sign.jar生成出来的信息框里的两个值
  12. private static String mainActiviy = "com.immomo.momo.android.activity.WelcomeActivity";
  13. private static String packageName = "com.immomo.momo";
  14. static {
  15. try {
  16. launchActivityClass = Class.forName(mainActiviy);
  17. } catch (ClassNotFoundException e) {
  18. throw new RuntimeException(e);
  19. }
  20. }
  21. @SuppressWarnings("unchecked")
  22. public MomoTest() {
  23. super(launchActivityClass);
  24. }
  25. @Override
  26. protected void setUp() throws Exception {
  27. super.setUp();
  28. this.activity = this.getActivity();
  29. this.solo = new Solo(getInstrumentation(), getActivity());
  30. }
  31. public void testLogin() {
  32. solo.sleep(2000);
  33. solo.clickOnText("注册");
  34. solo.sleep(2000);
  35. }
  36. @Override
  37. public void tearDown() throws Exception {
  38. solo.finishOpenedActivities();
  39. }
  40. }

8.最后, run as android junit test,就可以进行测试了

【转载:http://blog.csdn.net/tt75281920/article/details/28087583】

Robotium -- 针对apk包的测试的更多相关文章

  1. robotium—只有apk文件的测试

    把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re ...

  2. robotium 测试APK<一> 建立测试工程

    1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android ...

  3. 对当前目录下的所有APK包执行Monkey测试,并自动保存Crash日志

    适用平台:Android,代码几个月前写的,有问题请及时回复.本代码会依次安装当前目录下的APK安装包,之后执行Monkey测试,然后卸载掉换下一个,继续重复执行,如出现Cransh,会自动保存在当前 ...

  4. UE4 减少APK包的大小

    本文依据官方文档 Reducing APK Package Size整理而来,不过我会陆续添加自己减少包大小的心得. ETC1 纹理 当使用ETC1打Android包时,注意ETC1是不会压缩带Alp ...

  5. eclipse 搭建Robotium环境--apk 环境搭建

    1.配置好android sdk ,java环境 2.重新签名apk文件 在用户目录下,会有一个.android的目录,把re-sign.jar放在该目录下.执行命令 java -jar re-sig ...

  6. Unity - Apk包的代码与资源提取

    最近在研究如何给Unity游戏进行加密,让别人不能轻易破解你的apk包,不过网上的加密方法都是有对应的破解方法~_~!!结果加密方法没找到好的,逆向工程倒会了不少.今天就来讲解如何提取一个没做任何保护 ...

  7. 命令行创建Android应用,生成签名,对APK包签名并编译运行

    一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...

  8. 获取安卓应用APK包名的方法

    应用商店按照符合Android标准的原则进行设计,使用包名(Package Name)作为应用的唯一标识.即:包名必须唯一,一个包名代表一个应用,不允许两个应用使用同样的包名.包名主要用于系统识别应用 ...

  9. 搭建ionic3-angular5 开发环境并打包成安卓apk包教程

    安装node.js 搭建ionic3-angular5 开发环境,首先查看本地电脑是否安装node环境,打开终端,输入 命令: node -v 没有去安装nodejs  网址:http://nodej ...

随机推荐

  1. List、Set、Map的使用

    1.List(接口) List接口的特点: a.List接口可以存放任意数据,且在接口中,数据可以重复. b.List中提供了高效的插入和移除多个元素的方法. List常用的子类 a.ArrayLis ...

  2. cocos2d-x 获取当前播放第几帧最高效的方法

    前言 把互联网翻了个遍, 所有的方法都千篇一律. 用循环去判断! 很神奇的是, 几乎所有博文举的例子, 连数字都是一样的. 这么一个效率烂成渣的方法, 居然被普遍赞同. 以下是广为流传的方法. ; i ...

  3. 基于GBT28181:SIP协议组件开发-----------第二篇SIP组件开发原理

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3937590.html,qq:1269122125. 上一节中讲的S ...

  4. C++对象数组操作误区

    由于语义上的需要导致语法的上缺陷,所以导致对象数组在C++中存在陷阱. C++语境:一个基类指针或引用是可以指向派生类对象的,以此可来表现C++对运行时多态的需求: 创建一个对象数组将返回首元素的首地 ...

  5. 利用js加载本地图片预览功能

    直接上代码: 经测试,除safari6包括6以下不支持,其他均可正常显示. 原因:safari6不支持filereader,同时不能使用IE滤镜导致失效. fix: 可以利用canvas,解决safa ...

  6. Tomcat安装阿里云免费证书

    安装证书 Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任选其一.下载包中包含PFX格式证书和密码文件. 1.PFX证书安装 找到安装 Tomcat 目录下该文 ...

  7. The formatter threw an exception while trying to deserialize the message in WCF

    有一个WCF应用, 主要功能是存储doc, txt等类型文件到database,当文件的大小在16kb之内,调用WCF service能正常工作:但如果文件大小超出16KB之外, 它将抛出这样一个错误 ...

  8. Docker - 通过swarm 管理 docker service

    创建一个 Docker service $ docker service create --replicas 1 --name myhelloworld alpine ping docker.com ...

  9. Java文件末尾追加字符串

    Java进行文件输出时,有时候想直接向已有文件末尾追加字符,而不是从头开始写,可以采用以下三种方式实现: package test; import java.io.File; import java. ...

  10. 用c语言程序对显存进行操作

    一.基础研究 我们之前研究过变量.数组.函数和指针,他们都可以看作是内存中存储的一段数据,当程序需要用到它们时,会通过它们的地址找到它们并进行调用,只是调用的用途不同而已:变量和数组元素是作为常量来处 ...