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;
使用过程中刚搭建好的环境:
import android.app.Activity;
import
android.test.ActivityInstrumentationTestCase2;
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);
}
Exception {
super.setUp();
this.activity =
this.getActivity();
this.solo = new Solo(getInstrumentation(),
getActivity());
}
Exception {
super.tearDown();
}
//下面这个就是我们的TestCase
public void
testRead(){
solo.clickOnText("发现");
}
Android+Robotium的更多相关文章
- 命令行运行Android Robotium自动化用例或单元测试用例
本文目录 1.运行所有的测试用例 2.运行单个测试类或某个TestSuite 3.运行某个测试类里面的某个测试方法 4.运行两个不同的测试类或类中的方法 命令行运行Android Robotium自动 ...
- [Android] Robotium手机自动化测试(仅需apk安装包版)——环境搭建 【转】
Robotium的手机自动化测试,很多都是利用app源代码里的Id定义来开发自动化脚本.而在我开始要为项目中的app写自动化测试脚本的时 候,开发的环境还很不稳定,app也还处于开发的状态中,而且,在 ...
- [转]Android Studio 里搭建自动化测试框架Robotium
Android的自动化测试框架可选择的不多,后来选了Robotium(https://code.google.com/p/robotium/),它的语法及易用性挺像我们用在iOS里的KIF. 官方文档 ...
- 使用robotium对android应用进行自动化测试
所需要的环境: 1.eclipse 2.android development tools(ADT) 3.software develoment kit(SDK) 4.JDK 5.robotium 1 ...
- Android Instrumention.sendPointerSync发送Event失败分析
问题场景 Android4.3,进入被测app某个Activity后,测试案例ClickOnScreen出现异常(Click can not be completed!). Android4.4正常. ...
- 安卓自动化测试(2)Robotium环境搭建与新手入门教程
Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...
- 5 Best Automation Tools for Testing Android Applications
Posted In | Automation Testing, Mobile Testing, Software Testing Tools Nowadays automated tests ar ...
- Robotium学习笔记一
一. 重签名问题 1.从手机Pull所需的apk通过压缩工具删除META-INF目录 2.通过以下命令行进行签名 >jarsigner -keystore "C:\Documents ...
- Android 测试工具集02
User scenario testing for Android(功能性测试框架) Robotium is an Android test automation framework that has ...
随机推荐
- MVC中的ActionResult
ActionResult是控制器方法执行后返回的结果类型,控制器方法可以返回一个直接或间接从ActionResult抽象类继承的类型,如果返回的是非ActionResult类型,控制器将会将结果转换为 ...
- bzoj 2751 [HAOI2012]容易题(easy)(数学)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2751 [题意] m个位置,已知每个位置的可能取值,问所有可能情况的每个位置的乘积的和. ...
- 树形DP+树状数组 HDU 5877 Weak Pair
//树形DP+树状数组 HDU 5877 Weak Pair // 思路:用树状数组每次加k/a[i],每个节点ans+=Sum(a[i]) 表示每次加大于等于a[i]的值 // 这道题要离散化 #i ...
- bfs CCF2016第七次 游戏
// bfs CCF2016第七次 游戏 // 思路: // O(300*100*100) // 直接暴搜 // 注意,同一格同一时间不能经过两次!!! #include <bits/stdc+ ...
- 最短路+线段交 POJ 1556 好题
// 最短路+线段交 POJ 1556 好题 // 题意:从(0,5)到(10,5)的最短距离,中间有n堵墙,每堵上有两扇门可以通过 // 思路:先存图.直接n^2来暴力,不好写.分成三部分,起点 终 ...
- web.py处理文件上传
#coding=utf8 import web urls = ('/','Home', '/upload', 'Upload') app = web.application(urls, globals ...
- BestCoder Round #85
sum Accepts: 640 Submissions: 1744 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/13107 ...
- Apache Spark Streaming的适用场景
使用场景: Spark Streaming 适合需要历史数据和实时数据结合进行分析的应用场景,对于实时性要求不是特别高的场景也能够胜任.
- linux系统日常管理
笔者在前面介绍的内容都为linux系统基础类的,如果你现在把前面的内容全部很好的掌握了,那最好了.不过笔者要说的是,即使你完全掌握了,你现在还是不能作为一名合格的linux系统管理员的,毕竟系统管理员 ...
- 在 Web 层应用程序中使用Spring
前面已经配置成功后,就可以在Web 层的Servlet或Jsp中调用访问Spring了,如果你 编制的是一个Servlet/Jsp 程序,那么在你的Servlet/Jsp 使用下面的代码通过Sprin ...