Robotium -- 针对apk包的测试

在使用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测试类

代码如下

[java] view plaincopy

  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】

时间: 2024-11-09 19:55:30

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

robotium—只有apk文件的测试

把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re-sign.jar进行签名 注意事项: (1)官网直接搜就行: (2)对Android 4.4.2(API19)的好像签名有问题,从表象看能够签名成功,去程序里run as android junit test的时候就会提示类似这样的Error: Test run failed: Permissio

【转载】robotium—只有apk文件的测试

把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re-sign.jar进行签名 注意事项: (1)官网直接搜就行: (2)对Android 4.4.2(API19)的好像签名有问题,从表象看能够签名成功,去程序里run as android junit test的时候就会提示类似这样的Error: Test run failed: Permissio

robotium 测试APK&lt;一&gt; 建立测试工程

1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android Test Project ApkTest,然后点击下一步的时候选择This project,以下是新建的空工程 2.建立一个lib文件夹与conf文件夹lib放置依赖包,将robotium依赖包放进lib中,再由buildpath导入 conf放置需要的配置文件 3.将被测APK重新签名 因为roboti

Robotium进行apk模拟操作用到的工具

本来想利用Robotium实现自动登录的,后来发现效率实在太低,不过还是记录一下中间用到的几个工具或文件吧. Robotium操作对象的apk需要跟测试包使用相同的签名.为了调试方便,准备把操作对象的APK打上debug签名.网上找到的方式一个是脚本签名,一个是re-sign.jar,脚本签名方式,我跑起来一直出错,re-sign.jar也总是提示CreateProcess出错,不太想去深究原因了.另外走了一条路:把debug.keystore转成debug.pk8,debug.x509.pem

如何用同一份代码生成不同包名的APK包

有时候,我们需要用同一份生成几个不同的APK包在手机上测试,如果不修改配置,安装新APK时,会覆盖之前的APK.解决方法: 1.修改AndroidManifest中的包名: package="com.mini.app.abcd",将包名更改,重新clean一下,对应的gen文件下面的包名也会自动更新 2.修改APP名字(便于区分): android:label="@string/mcc_app_name" >,在Strings里找到对应的APP名字,修改为新A

centos反编译APK包

centos反编译APK包 实验目的 线上linux上传游戏包,PHP调用反编译命令解包 实验环境 centos6.4 Linux localhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 2212:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux nginix1.8.0 php5.4 mysql5.5 操作步骤 1.rqm -ql | grep java 2.yum -y install ja

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

最近在研究如何给Unity游戏进行加密,让别人不能轻易破解你的apk包,不过网上的加密方法都是有对应的破解方法~_~!!结果加密方法没找到好的,逆向工程倒会了不少.今天就来讲解如何提取一个没做任何保护的apk包中的资源和代码. (1)打开apk包 首先,将你的apk包重命名为zip或者rar类型的文件,然后进行解压缩,如下: 重命名为,然后进行解压缩,得到如下的目录内容: 各个部分的说明如下表: assets Unity游戏里面的资源和代码 lib arm和x86需要的so文件 META-INF

Android 4.4(KitKat)中apk包的安装过程

原文地址:http://blog.csdn.net/jinzhuojun/article/details/25542011 其实对于apk包的安装,4.4和之前版本没大的差别.Android中app安装主要有以下几种情况:系统启动时安装,adb命令安装,Google Play上下载安装和通过PackageInstaller安装.安装的最核心方法是scanPackageLI(),以上几个安装方式最后都是调用这个函数完成主要工作的,区别在于在此之前的处理过程不同.本文以前两种为主,简要介绍这四种安装

tomcat+Gradle全自动打Android apk包方案

最近看到公司IOS的同事做了一个app打包工具给QA使用,极大的方便了QA的工作,也给开发节省了不少精力,不需要频繁的接收QA的要求给QA打包新app做测试,防止编程思路被打包这些琐事给打断. 为了编写方便和跨平台应用,我使用了网页版的交互方式,使用tomcat 8做服务器,这样可以让任意一台手机和电脑通过浏览器就可以轻松的打包然后收到相应的.app文件,界面大概是这个样子 主要的功能是这样的 1.可以自由切换分支,分支号通过下拉列表的形式显示在网页上 2.可以自由切换服务器环境,比如测试服,开