之前robotium的测试都是基于有源码的情况下。当我们无法获得android源码时,可以采用另一种方式进行测试。关于这种方式,robotium wiki 有相关资料提供参考 RobotiumForAPKFiles:Use Robotium when only having apk
http://code.google.com/p/robotium/wiki/RobotiumForAPKFiles
在实现整个测试过程前,先简单了解下Android应用程序签名:
Android 应用程序为什么要签名?签名的作用是什么?
签名的作用:
(1) 发送者身份的认证
(2) 保证输入信息的完整性
(3) 防止交易中的抵赖发生
Robotium 开始测试过程:
一、更换APK签名
根据robotimu wiki介绍:需要利用一个叫 re-sign.jar 的工具,它可以帮助我们重新签名某个APK.
下载:http://down.51cto.com/data/443499
1.双击 re-sign.jar 或 cmd 下 java -jar re-sign.jar
2.将应用程序拖入re-sign中,这里以“有道词典 3.1.0.apk”举例
3.生成新签名和新APK。
有道词典 3.1.0_dubug.apk
Package name:com.youdao.dict
Main activity:com.youdao.dict.activity.DictSplashActivity
二、将有“有道词典 3.1.0_dubug.apk”安装至android虚拟机中
1.进入android-sdk-windows\platform 执行命令:
adb install 有道词典 3.1.0_dubug.apk
2.安装成功后,虚拟机将会看到此应用.
三、修改 AndroidMainfest.xml 文件
创建Android测试项目:http://luwenjie.blog.51cto.com/925779/908886
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.luwenjie.helloworld.test"
- android:versionCode="1"
- android:versionName="1.0" >
- //添加supports-screens
- <supports-screens android:anyDensity="true"/>
- <uses-sdk android:minSdkVersion="10" />
- //修改targetPackage为之前所生产的Package Name
- <instrumentation
- android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="com.youdao.dict" />
- <application
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name" >
- <uses-library android:name="android.test.runner" />
- </application>
- </manifest>
四、修改测试框架:
测试框架 Robotium Wiki已经提供:
//TARGET_PACKAGE_ID 和 LAUNCHER_ACTIVITY_FULL_CLASSNAME 使用工具所生成的
private static final String TARGET_PACKAGE_ID = "com.youdao.dict"
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.youdao.dict.activity.DictSplashActivity"
//测试脚本,我们可以修改脚本,利用java特性,创建多个脚本文件进行调用
public void testCanOpenSettings(){
solo.enterText(0, "test");
}
五、运行脚本进行测试
本文出自 “小毛子” 博客,请务必保留此出处http://xiaomaozi.blog.51cto.com/925779/922261
相关推荐
在Android自动化测试中,ADB(Android Debug Bridge)是一个强大的工具,用于与Android设备进行通信,包括模拟器和物理设备。`adb shell`是ADB的一个子命令,它允许开发者在设备上执行shell命令,从而实现对设备的...
Robotium是一款专为Android应用程序设计的自动化测试框架,...通过实践“雾山的Robotium学习笔记”,开发者可以掌握apk包的测试流程,从准备测试环境、编写测试用例到分析测试结果,全面了解Android应用的自动化测试。
总之,Android APK自动化测试涉及了源码理解和测试工具的使用,尤其是Robotium框架,它为开发者提供了高效且灵活的测试手段,确保了Android应用的质量和稳定性。在实际工作中,结合源码理解和工具应用,可以实现更...
1、Robotium在APK(米聊)文件下进行java junit Test。 三、测试工具 1、米聊.apk (Package name: com.xiaomi.channel) 2、Eclipse。 3、插件:ADT (Android Development Tools) 4、SDK (Android SDK) 5、JDK 6.、...
【Robotium自动化测试Android程序】 Robotium是一款专为Android应用程序设计的自动化测试工具,它主要用于进行黑盒测试,即在不考虑内部实现细节的情况下验证应用的功能。Robotium可以在两种情况下工作:一是拥有源...
Robotium是一款针对Android应用程序的强大自动化测试框架,其主要特色在于能够模拟真实用户的交互行为,从而帮助开发者及测试人员快速构建出稳定可靠的自动化测试用例。Robotium不仅支持多Activity之间的自动流转,...
本文将深入探讨“Android自动化测试工具及方法”,并以“Robotium”为例,介绍如何对APK进行自动化测试。 一、Android自动化测试的重要性 在Android应用开发过程中,自动化测试可以实现快速回归测试,检查代码更改...
针对现有的自动化测试工具存在的局限性,研究者认为有必要提出一种更完善的测试框架,优化Android自动化测试工具。而提出的UI自适应的Android软件自动化测试框架,能够在识别被测软件的UI控件和布局后,自动生成适应...
结合Android自动化测试,这种做法可以显著提高开发效率,减少错误,并确保代码质量。本文主要探讨了如何基于持续集成来实现Android应用的自动化测试。 首先,Android测试是一个重要的环节,特别是在快速迭代的开发...
### 基于Android平台应用程序的关键字驱动自动化测试-理论,工具 #### 理论基础 ##### 关键字驱动测试概述 关键字驱动测试是一种自动化测试方法,它将测试用例设计成表格形式,其中包含了特定的关键字和数据。这种...
Robotium是一款专为Android平台设计的自动化测试框架,它主要用于进行黑盒测试,也就是从最终用户的角度出发,对应用程序的功能进行全面验证。Robotium提供了丰富的API,可以模拟各种用户交互,如点击、长按、滑动等...
"自动化测试Demo"是一个专门针对Android平台的实例,它演示了如何利用Robotium5这一强大的自动化测试框架,对Android应用进行自动化的创建、编辑和删除操作。Robotium5是Android开发者们常用的一种UI测试工具,它...
在Android应用开发中,Robotium是一款自动化测试框架,它使得开发者可以轻松地为Android应用程序创建功能测试。然而,有时候我们可能需要对已经签名的应用程序进行重新签名,这通常发生在我们需要在不同的签名证书下...
Instrumentation是Android自动化测试框架的基础,它允许在Java虚拟机加载类时改变类的字节码或类classpath。利用Instrumentation可以在方法执行前后加入代码来测量执行时间,这样就可以对Java代码进行度量。这种能力...
sign.jar的 debug.keystore在下C盘/用户/.android/debug.keystore,而Android SDK更新后就 debug.keystore存在SDK目录/.android/debug.keystore本程序强化了 re-sign.jar,并加入了设置路径和生成测试代码的功能。...
Robotium的这些特性使其成为Android自动化测试的有力工具,特别适合用于功能测试、黑盒测试和系统测试。它的简单易用和强大的功能,使得Android应用开发人员和测试人员能够快速地构建和运行自动化测试用例,提高测试...