阿里云移动App测试平台Robotium脚本编写

手动编写robotium测试用例

操作步骤

1.编写环境准备

机器上预装adb、aapt、android-sdk

一款自己喜欢的ide

一个被测apk

2.获取被测apk的信息

在命令行中输入aapt d badging source.apk,结果

把package_name和launchable activity name记下来。在我们的例子中,分别是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”

  1. 修改MyTest.java

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

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

c)修改testFunc1(){}

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

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

4.安装回放

  1. 重签名

由于robotium是基于instrument机制的,需要保证source.apk和TestRobotium.apk的签名一致才能正常执行。完整的目录是下面这样的:

a)重签名source.apk,具体做法:

用解压缩工具直接打开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

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

在命令行输入:

adb install –r source_signed.apk

adb install –r TestRobotium_signed.apk

  1. 执行脚本

在命令行输入:

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#testFunc1com.testLogin.test/android.test.InstrumentationTestRunner

5.打包

  1. Case信息配置

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

修改caseName和caseShell即可。

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

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