之前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