前面学习了instrumentation框架,现在来学习robotium了解怎么使用不就是一个晚上的事吗,robotium也是基于Instrumentation框架的。一般用于app的功能性测试,不能跨app一次只能运行一个app。
好了下面就开始新建robotium工程。首先我们要去官网下载robotium jar包,下载最新的就好了。这里是下载地址:https://code.google.com/p/robotium/wiki/Downloads?tm=2,下载完了后就该导入到测试工程里了。
1.跟之前的instrumentation一样的建立个测试工程,继承ActivityInstrumentationTestCase2.工程建立好后,右键点击测试工程,选择build path——>configure build path 如图
在弹出的对话框里的libraries里选择add external jars里添加我们之前下载的robotium jar包,这就导入好了robotium jar包了。
我们在点击order and export选项,在这里面勾选robotium jar包。
然后点击ok,这样我们就可以开始写代码了。
2.这里还是用之前的那个app,这是一个很简单的app,由于之前的那个instrumentation工程大家都不知道app是什么样的,这里就贴个图,主界面是这样的点击左边的button上面的Hello World!会变成Beautiful Girl
点击右边的跳转会跳转到另一个界面,如图
就是这么一个app。同样我们要在manifest.xml文件里加上instrumentation这个标签,因为robotium也是继承的这个类。跟上一个工程一样,
然后就开始写代码了,robotium的调用很简单,用solo这个类去调用,我们这里同时加入了上一篇文章instrumentation的方法,首先是声明我们会用到的控件和activity,这里我要用到instrumentation里面assertEquals这个方法去断言textview,所以要定义textview1、activity这两个变量。
然后是在默认的setUp()这个方法里去获取我们的控件和avitivity这些获取的方法必须写在setUp()这个方法里,因为setUp()这个方法是在执行每个case前都会执行的重置app把app还原的方法,tearDown()这个方法是在执行完每个case后都会执行的清空app数据的方法。所以这些获取控件的方法必须要定义在setUp()这个方法里让执行每个case前重新去获取。
下面就可以开始写我们想要测试的case了,用robotium里面的solo这个方法去调用这些方法,这些方法可以去看robotium的源码,了解了robotium里的这些方法就随便调用就是了,我现在也一直在看,下面我会发出一个我在github上看到的一位大神对robotium源码全部注释了的链接,大家可以去下载看看。
好了,这就是一个简单的用robotium工具实现的测试case,这里只是告诉了大家怎么去用robotium工具,没有去讲解robotium的源码是怎么实现这些操作的,大家可以去深入的了解robotium源码,这样对robotium里定义的方法都熟悉了调用起来也就方便了。Robotium的源码注释链接:https://github.com/bobotiger2/robotium

转载于:https://blog.51cto.com/8197359/1417812

创建 Robotium 测试工程相关推荐

  1. Maven 创建、测试工程

    创建工程 Maven 使用原型(archetype)插件创建工程. cd d: cd eclipse-workspace mvn archetype:generate -DgroupId=com.wj ...

  2. RadASM的测试工程!

    RadASM已经安装完毕了,是否可以正常工作了呢?我们通过创建一个工程来测试一下,下面就是创建这个测试工程的过程: 1, 2, 3, 4, 5, 6, 7, 8, 9, 至此,我们通过RadASM的模 ...

  3. PCL——1.介绍及工程创建与测试

    目录 pcl介绍 工程创建与测试 CMakeLists.txt内容解释 pcl介绍 对于3D点云处理来说,PCL完全是一个模块化的现代C++模板库.其基于以下第三方库:Boost.Eigen.FLAN ...

  4. maven 主工程 java_Maven创建Java Application工程(既jar包)

    Maven在创建工程时使用的是archetype(原型)插件,而如果要创建具体的工程,比如Application这些,那么可以使用maven-archetype-quickstart(相当于一个子类型 ...

  5. App开发流程之创建项目和工程基本配置

    我的开发环境为:Mac OS X EI Capitan(10.11.6),Xcode 7.3.1 首先说明一下这个项目的初衷,我并非要创建一个完整的上架应用,旨在创建一个可运行的,通用配置.架构,提供 ...

  6. idea的几个好用快捷键、常用配置(包括git)、jdk和javaSE和javaEE、创建一个SE工程、debug、创建一个Web工程、打war包

    几个好用的快捷键(持续更新) Ctrl+Shift+f12 ,相当于myeclipse的ctrl+m 最大化窗口的 alt+shift+↑或↓,将当前行上移或下移 shift+enter ,当前行下一 ...

  7. Eclipse创建java web工程

    Eclipse创建java web工程 eclipse版本:eclipse-jee-4.5-win32-x64 tomcat版本:apache-tomcat-7.0.63-windows-x64 jd ...

  8. SoapUI——创建一个SOAP工程

    本章简单介绍SOAP工程包括创建工程,介绍面板区域功能. 目录 前言 1 创建工程 1.1 SOAP 工程 1.2 REST 工程 2 引入工程 前言 SoapUI工程在导航树的根节点下,Soap工程 ...

  9. Vue-cli创建Vue项目工程步骤详解

    Vue-cli 即:Vue脚手架.官方网址:vue-cli官网 本篇文章以我经常创建Vue项目工程的步骤为例,带着大家一步一步创建一个全新的vue项目工程.文章会详细讲解Vue脚手架创建项目的每一个步 ...

最新文章

  1. uboot中添加hi35xx的GPIO设置
  2. Python初学者必学的20个重要技巧
  3. 用户画像技术及方法论
  4. BZOJ3709: [PA2014]Bohater
  5. 飞桨第三课2020.4.2
  6. 跳一跳python源码下载_python 微信跳一跳和源码解读
  7. 电机的入门之路系列4--PWM控制直流电机
  8. 使用Mongo Shell和Java驱动程序删除MongoDB的示例
  9. MacOSX 下.app支持同时运行多个实例
  10. linux中/etc/fstab文件删除或修改了,导致系统无法启动
  11. 什么软件能打开Android,哪位晓得apk文件用什么软件打开
  12. IDEA GIT 单文件回退到指定版本
  13. 【每周一爬】爬取盗版小说网的小说
  14. Linux如何固定ip地址,及ifcfg-ens33文件参数
  15. 【Tensorflow教程笔记】TensorFlow Datasets 数据集载入
  16. 模电——运放输入/输出接小电阻
  17. js中无区别分割中英文逗号的字符串成为数组
  18. 测试工程师面试题mysql_测试工程师sql笔试题都在这里了!
  19. 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)
  20. 利用node.js搭建服务器并访问静态网页

热门文章

  1. Vue—上手实践—快速入门
  2. Linux Ubuntu安装sogou中文输入法
  3. UI渲染回顾简单笔记
  4. PHP的面向对象 — 封装、继承、多态
  5. 几种主要的Linux版本之间的比较
  6. AMF(Action Message Format)其它语言对象转ActionScript对象[转]
  7. 【PL/SQL】学习笔记 (9)例外之 no_data_found
  8. Shell-8--数值运算及处理
  9. JQuery validate表單驗證
  10. C 冒泡排序及其非常非常非常简单的优化