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.编写测试用例

我们提供了一个示例工程,可以在该工程的基础上进行修改。

1) 引用android-sdk以及robotium-solo-xxx.jar

2) 修改AndroidManifest.xml

a) package=” ${aapt解析出来的被测应用包名}.test”,例如在我们这个例子中,是package=”com.testLogin.test”

b) targetPackage=” ${ aapt解析出来的被测应用包名}” ,例如在我们这个例子中,是targetPackage =”com.testLogin”

3) 修改MyTest.java

a) 修改TARGET_PACKAGE_ID=” ${ aapt解析出来的被测应用包名}”

b) 修改LAUNCHER_ACTIVITY_FULL_CLASSNAME=" ${ aapt解析出来的被测应用的启动Activity}"

c) 修改testFunc1(){}

这里调用robotium的api执行具体的动作,在本例子中,只是点击了一下“进入”按钮

4) 编写完成后,编译项目得到一个apk,在我们的例子中,是TestRobotium.apk

4.安装回放

1) 重签名

由于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

2) 安装source_signed.apk和TestRobotium_signed.apk到一台手机上

在命令行输入:

adb install –r source_signed.apk

adb install –r TestRobotium_signed.apk

3) 执行脚本

在命令行输入:

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.打包

1) Case信息配置

新建一个文件,名叫cases.json,文件内容:

修改caseName和caseShell即可。

2) 把cases.json和TestRobotium.apk打成zip包:

这个zip包就是最终可以上传到云端的测试用例。

注:

1) 支持多个case执行

2) robotium.solo的语法入门:http://blog.csdn.net/shandong_chu/article/details/7861271

3) robotium项目地址:https://github.com/RobotiumTech/robotium