Robotium脚本编写
手动编写robotium测试用例
操作步骤
1.编写环境准备
机器上预装adb、aapt、android-sdk
一款自己喜欢的ide(intellij、eclipse……)
一个被测apk(假设叫source.apk)
2.获取被测apk的信息
在命令行中输入aapt d badging source.apk,结果如下图:
把package_name(应用包名)和launchable activity name(启动activity)记下来。在我们的例子中,分别是com.testLogin和com.testLogin.Init。
3.编写测试用例
我们提供了一个示例工程,可以在该工程的基础上进行修改。
- 引用android-sdk以及robotium-solo-xxx.jar
- 修改AndroidManifest.xml
a) package=” ${aapt解析出来的被测应用包名}.test”,例如在我们这个例子中,是package=”com.testLogin.test”
b) targetPackage=” ${ aapt解析出来的被测应用包名}” ,例如在我们这个例子中,是targetPackage =”com.testLogin”
- 修改MyTest.java
a) 修改TARGET_PACKAGE_ID=” ${ aapt解析出来的被测应用包名}”
b) 修改LAUNCHER_ACTIVITY_FULL_CLASSNAME=" ${ aapt解析出来的被测应用的启动Activity}"
c) 修改testFunc1(){}
这里调用robotium的api执行具体的动作,在本例子中,只是点击了一下“进入”按钮
- 编写完成后,编译项目得到一个apk,在我们的例子中,是TestRobotium.apk
4.安装回放
- 重签名
由于robotium是基于instrument机制的,需要保证source.apk和TestRobotium.apk的签名一致才能正常执行。完整的目录是下面这样的:
a) 重签名source.apk,具体做法:
用解压缩工具(例如winrar)直接打开source.apk;结构如下图:
把META-INF文件夹删掉,变成这样:
然后在命令行输入:
java -jar signapk.jar testkey.x509.pem testkey.pk8 source.apk
得到一个签名后的apk——source_signed.apk
b) 重签名TestRobotium.apk,做法和上面类似,得到TestRobotium_signed.apk
- 安装source_signed.apk和TestRobotium_signed.apk到一台手机上
在命令行输入:
adb install –r source_signed.apk
adb install –r TestRobotium_signed.apk
- 执行脚本
在命令行输入:
adb shell am instrument -w -e class ${TestPackage}.${TestClass}#${TestFunction} ${TestPackage}/android.test.InstrumentationTestRunner
例如,在我们的例子中:
adb shell am instrument -w -e class com.testLogin.test.MyTest#testFunc1 com.testLogin.test/android.test.InstrumentationTestRunner
5.打包
- Case信息配置
新建一个文件,名叫cases.json,文件内容:
修改caseName和caseShell即可。
- 把cases.json和TestRobotium.apk打成zip包:
这个zip包就是最终可以上传到云端的测试用例。
注:
- 支持多个case执行
- robotium.solo的语法入门:http://blog.csdn.net/shandong_chu/article/details/7861271
- robotium项目地址:https://github.com/RobotiumTech/robotium