在移动互联网的,安卓应用之间的火拼如火如荼,如何应对安卓应用开发快速的版本迭代,如果仅靠手动不停的回归测试,那有点悲催了。Robotim是一套针对安卓应用的自动化测试框架,其特性和selenium非常相似,Robotium官网对其的功能描述如下:Robotium是基于Android 原生的Instruments,创建一个测试框架,编写强大和稳健的Android应用程序自动黑箱测试用例。通过Robotium支持,可以写功能,系统和验收测试方案,跨越多个Android Activities。

  近刚好在学习Robotium,下面是学习的心得以及使用过程中遇到的问题点记录下作为备忘,顺便大家一起探讨下。

  环境搭建:搭建环境需要以下工具

  1、 下载Android SDK 请点击这里

  2、 下载Eclipse 请点击这里

  3、 下载JDK 请点击这里

  4、 Eclipse中安卓开发插件ADT 即Android Development Toolkit。

  安装ADT插件步骤:

  1、 启动eclipse

  2、 点击菜单Help->Install New SoftWare

  3、 在workWith中输入https://dl-ssl.google.com/android/eclipse/后,回车

  4、 其他步骤同安装其他插件一样

  新建工程:新建一个Android Test Project

  1、 导入被测的安卓APP应用工程

  2、 菜单File->New->Project->Android Test Project

  3、 输入测试工程名称->下一步

  4、 选择要测试的工程,是第一步导入的工程

  5、 在新建的测试工程中新建libs包,将robotium的jar包放进去(注:文件夹名称必须为libs,否则运行时会报找不到class的错)

  编写脚本:在工程搭建完毕后,我们可以开始编写脚本

  1、 新建一个java类文件

  2、 脚本开始部分的写法是固定的:

  public class Login extends ActivityInstrumentationTestCase2{

  //测试类必须继承自ActivityInstrumentationTestCase2,<>中的内容为应用打开时加载的页面名称

  private Solo solo;

  public Login (){

  super(“com.android.app”,WelcomeActivity.class);

  //构造函数第一个参数是被测程序的包名,第二个参数是应用程序加载类型

  }

  @Override

  public void setUp(){

  solo = new Solo(getInstrumentation(),getActivity());

  //Solo对象初始化,固定写法

  }

  @Override

  public void tearDown(){

  solo.finishOpenedActivities();

  //测试结束后,关闭所有页面

  }

  3、编写测试方法(编写需要实现功能的脚本,调用solo的方法)

  4、运行脚本,可以启动模拟器或者连接真机运行

  以上主要是描述了robotium的一些功能,以及正式开始脚本前的一些准备工作和用例脚本的一些固定部分的写法,可以参考robotium的doc文档。