因为调动到一个新的部门在这个部门做的一直就是移动产品,所以这段时间会一直不断的研究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("发现");
}
}

Android+Robotium的更多相关文章

  1. 命令行运行Android Robotium自动化用例或单元测试用例

    本文目录 1.运行所有的测试用例 2.运行单个测试类或某个TestSuite 3.运行某个测试类里面的某个测试方法 4.运行两个不同的测试类或类中的方法 命令行运行Android Robotium自动 ...

  2. [Android] Robotium手机自动化测试(仅需apk安装包版)——环境搭建 【转】

    Robotium的手机自动化测试,很多都是利用app源代码里的Id定义来开发自动化脚本.而在我开始要为项目中的app写自动化测试脚本的时 候,开发的环境还很不稳定,app也还处于开发的状态中,而且,在 ...

  3. [转]Android Studio 里搭建自动化测试框架Robotium

    Android的自动化测试框架可选择的不多,后来选了Robotium(https://code.google.com/p/robotium/),它的语法及易用性挺像我们用在iOS里的KIF. 官方文档 ...

  4. 使用robotium对android应用进行自动化测试

    所需要的环境: 1.eclipse 2.android development tools(ADT) 3.software develoment kit(SDK) 4.JDK 5.robotium 1 ...

  5. Android Instrumention.sendPointerSync发送Event失败分析

    问题场景 Android4.3,进入被测app某个Activity后,测试案例ClickOnScreen出现异常(Click can not be completed!). Android4.4正常. ...

  6. 安卓自动化测试(2)Robotium环境搭建与新手入门教程

    Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...

  7. 5 Best Automation Tools for Testing Android Applications

    Posted In | Automation Testing, Mobile Testing, Software Testing Tools   Nowadays automated tests ar ...

  8. Robotium学习笔记一

    一. 重签名问题 1.从手机Pull所需的apk通过压缩工具删除META-INF目录 2.通过以下命令行进行签名 >jarsigner -keystore "C:\Documents ...

  9. Android 测试工具集02

    User scenario testing for Android(功能性测试框架) Robotium is an Android test automation framework that has ...

随机推荐

  1. LeetCode题解——4Sum

    题目: 给定一个数组,找出其中和为0的所有4个数组合,每个组合内的4个数非递降. 解法: ①先排序,然后利用4个指针,前两个遍历,后两个在第二个指针之后的部分里夹逼,时间O(N3). ②或者利用一个哈 ...

  2. EasyUI样式在IE下无法显示原因总结

    1.js css顺序错误 <script type="text/javascript" charset="utf-8" src="js/jque ...

  3. HDU 5724 Chess (sg函数)

    Chess 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5724 Description Alice and Bob are playing a s ...

  4. labview多个并行循环同时退出

    labview中停止并行的循环 问题: 在labview中我如何停止两个并行的循环?我使用一个局部变量,但是当我停止程序执行后,第二次不能运行程序.我该如何解决这个问题呢? 解答:  你使用局部变量来 ...

  5. HDU 1312 http://acm.hdu.edu.cn/showproblem.php?pid=1312

    #include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> #de ...

  6. 转载JQuery 中empty, remove 和 detach的区别

    转载 http://www.cnblogs.com/lisongy/p/4109420.html .empty()  描述: 从DOM中移除集合中匹配元素的所有子节点. 这个方法不接受任何参数. 这个 ...

  7. JQuery中的AJAX参数详细介绍

    Jquery中AJAX参数详细介绍 参数名 类型 描述 url String    (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方 ...

  8. UVaLive 7374 Racing Gems (DP,LIS)

    题意:以辆赛车可以从x轴上任意点出发,他的水平速度允许他向每向上移动v个单位,就能向左或向右移动v/r个单位(也就是它的辐射范围是个等腰三角形) 现在赛车从x轴出发,问它在到达终点前能吃到的最多钻石. ...

  9. 学习php 韩顺平

    1.动态语言的发展史 最早使用cgi 学习 apache  全世界最流行的web服务器 php运行流程 → apache→php文件→数据库→php文件→浏览器 php底层语言是c语言 jsp底层语言 ...

  10. ags注册

    在电脑里找到2个 ESRIRegAsm.exe C:\Program Files (x86)\Common Files\ArcGIS\bin C:\Program Files\Common Files ...