zoukankan      html  css  js  c++  java
  • Android+Robotium

      因为调动到一个新的部门在这个部门做的一直就是移动产品,所以这段时间会一直不断的研究app的自动化,主要是针对android,这里我采用的是Robotium框架,这个框架比较简单,使用eclipse+robotium包ok了,前提是搭建了android的开发环境。

      自己在刚开始学习时在网上找了很多的资料,可是对一个新手来说比较难上手,不过没办法只有自己慢慢的摸索,经过请教同事、网上搜寻答案后终于有了一定的眉目,下面说一下对新手来说大概的一个方向:

      1、android开发环境的搭建(其实在网上看了很多的资料都一步一步的说怎么配置,个人觉得没有那么麻烦,在请教了开发之后大家可以直接在android的官网上去下载他的一个包,在这个包里面所有东西都有了,直接解压用)

      地址:http://developer.android.com/sdk/index.html  怎么下载就不用说了吧!JDK记的配置  是不是顿时觉得明白了,没有网上说的那么繁琐。

      2、环境搭建好之后要创建一个android的开发环境。这个为什么?说实在的我也不是很清楚,因为我在最开始的时候按照网上说的直接创建一个TestProject可是这样直接报错的。再在这基础上创建TestProject就不会出错了。

      (这里有必要说一下,因为我做的基本都没办法拿到源码所以针对的就是apk测试,在创建TestProject要选择This Project就行)

      3、接下来要引入robotium包,这个不用说了吧,最好在你的工程里面只有android sdk的包和robotium的包,不然容易报错,以前就遇见一个让我困惑很久。

      4、万事俱备只欠东风,现在只需要创建一个TestCase就可以了,不过这里有必要说一下Test名子需要命名为:ActivityInstrumentationTestCase2,因为这个是继承过来的,但是你只是将这个名子取成这个是不行的,在打开case后需要引入这个的,import android.test.ActivityInstrumentationTestCase2;

      5、基础设施弄好之后需要将solo包引入,不然没办法用:import com.jayway.android.robotium.solo.Solo;

    使用过程中刚搭建好的环境:

    package com.example.eduutest.test;
    import junit.framework.TestCase;
    //引入包
    import com.jayway.android.robotium.solo.Solo;
    import android.app.Activity;
    import android.test.ActivityInstrumentationTestCase2;
    //测试用例
    public class HomeTest extends ActivityInstrumentationTestCase2 {

    public Solo solo;
    public Activity activity;
    private static Class<?> launchActivityClass;
    //这里是经过签名后的包名子以及签名文件,我们执行case是根据这个来的
    private static String mainActiviy = "com.eduu.bang.app.SplashActivity";
    private static String packageName = "com.eduu.bang";
    //试着启动 
    static {
    try {
    launchActivityClass = Class.forName(mainActiviy);
    } catch (ClassNotFoundException e) {
    throw new RuntimeException(e);
    }
    }
    //这两个都是基础的有什么作用网上很多解释
    public HomeTest() {
    super(packageName, launchActivityClass);
    }
    protected void setUp() throws Exception {
    super.setUp();
    this.activity = this.getActivity();
    this.solo = new Solo(getInstrumentation(), getActivity());
    }
    protected void tearDown() throws Exception {
    super.tearDown();
    }
    //下面这个就是我们的TestCase
    public void testRead(){
    solo.clickOnText("发现");
    }
    }
    压力不是别人比你聪明,而是比你聪明的人还比你努力!
  • 相关阅读:
    【 SSH 配置参考】
    【 SSH 实例】使用ssh开发的简单项目
    【 Hibernate 】Hibernate的session更新和删除失败问题
    【 SSH 整合】Spring、Struts、Hibernate基本整合
    Tower是个不错的项目管理开放平台
    随便写写,四年多了第一次在博客园上发表
    asp.net获取服务器绝对路径和相对路径
    342. 4的幂
    283. 移动零
    268. 缺失数字
  • 原文地址:https://www.cnblogs.com/Mushishi_xu/p/3628378.html
Copyright © 2011-2022 走看看