Robotium -- 针对apk包的测试
在使用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】
Robotium -- 针对apk包的测试的更多相关文章
- robotium—只有apk文件的测试
把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re ...
- robotium 测试APK<一> 建立测试工程
1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android ...
- 对当前目录下的所有APK包执行Monkey测试,并自动保存Crash日志
适用平台:Android,代码几个月前写的,有问题请及时回复.本代码会依次安装当前目录下的APK安装包,之后执行Monkey测试,然后卸载掉换下一个,继续重复执行,如出现Cransh,会自动保存在当前 ...
- UE4 减少APK包的大小
本文依据官方文档 Reducing APK Package Size整理而来,不过我会陆续添加自己减少包大小的心得. ETC1 纹理 当使用ETC1打Android包时,注意ETC1是不会压缩带Alp ...
- eclipse 搭建Robotium环境--apk 环境搭建
1.配置好android sdk ,java环境 2.重新签名apk文件 在用户目录下,会有一个.android的目录,把re-sign.jar放在该目录下.执行命令 java -jar re-sig ...
- Unity - Apk包的代码与资源提取
最近在研究如何给Unity游戏进行加密,让别人不能轻易破解你的apk包,不过网上的加密方法都是有对应的破解方法~_~!!结果加密方法没找到好的,逆向工程倒会了不少.今天就来讲解如何提取一个没做任何保护 ...
- 命令行创建Android应用,生成签名,对APK包签名并编译运行
一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...
- 获取安卓应用APK包名的方法
应用商店按照符合Android标准的原则进行设计,使用包名(Package Name)作为应用的唯一标识.即:包名必须唯一,一个包名代表一个应用,不允许两个应用使用同样的包名.包名主要用于系统识别应用 ...
- 搭建ionic3-angular5 开发环境并打包成安卓apk包教程
安装node.js 搭建ionic3-angular5 开发环境,首先查看本地电脑是否安装node环境,打开终端,输入 命令: node -v 没有去安装nodejs 网址:http://nodej ...
随机推荐
- 重新开始学习javase_对象的初始化
一.类加载机制 类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用.卸载7的阶段: 加载.验证.准备.初始化和卸载这5个阶段的顺序是 ...
- C++ Primer 5th 第13章 拷贝控制
当一个对象的引用或者指针离开作用域时,析构函数不会执行. 构造函数有初始化部分(初始化列表)和函数体. 析构函数有析构部分和函数,但析构函数的析构部分是隐式的.
- 常用排序算法总结(C#版)
首先,说说几个排序中的概念. 1.稳定排序和非稳定排序 简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的.反之,就是非稳定的. 比如:一组数 ...
- CentOS 5.6服务器配置YUM安装Apache+php+Mysql+phpmyadmin
1. 更新系统内核到最新. [root@linuxfei ~]#yum -y update 系统更新后,如果yum安装时提示错误信息,请执行以下命令修复. [root@linuxfei ~]#rpm ...
- centos+nginx+uwsgi+virtualenv+flask 多站点环境搭建
环境: centos x64 6.6 nginx 1.6.2 python 2.7.9 uwsgi 2.0.9 virtualenv 12.0.5 flask 0.10.1 正文: 1.安装nginx ...
- js中typeof的用法
一. 经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组. if(document.mylist.length != "undefine ...
- FileUpload 改变控件显示的文字
浏览
- 百度地图LBS云平台读写数据操作类
最近写了个叫<行踪记录仪>的手机软件,用了百度云来记录每个用户的最近位置,以便各用户能在地图上找到附近的人,为此写了个类来读写数据,大致如下: import java.util.Array ...
- 转:cookie和session(二)——php应用
文章来自于:http://blog.csdn.net/half1/article/details/21650211 本文将介绍cookie在session在php中的基本用法. 1.cookie ...
- EPZS搜索过程
EPZS(Enhance Predictive Zonal Search) 增强预测区域搜索,是一种整像素运动估计的搜索算法. EPZS采用的是相关性较高的预测方法.这里的相关性较高是指,更多地根据已 ...