Robotium原理初步--Android自动化测试学习历程

章节:自动化基础篇——Robotium原理初步(第四讲)

主要讲解内容与笔记:

一、基于控件

1、spinner——下拉菜单

2、TabHost——左右滑动选择菜单,类似电话本

3、Gallery——图形

4、Progressbar——进度条

5、DatePicker——日期与时间选择控件

6、CheckBox——单选框;RadioButton——互斥单选框;Button——一般按钮

7、ToggleButton——双状态按钮控件:选择和未选择两种状态,并且针对不同状态显示不同文本
8、EditText——编辑框

二、Robotium原理

1、Robotium是what?

Robotium是国外的一款android自动化测试框架,主要提供黑盒测试的功能,能够对控件进行操作(与monkey与monkeyrunner相比),提供了模拟用户操作、查找、断言的API。另,Robotium 4.0版本提供了对WebView的支持。Robitum提供对Activity、Dialog、Toast、Menu的支持。2014年1月,已开发出基于eclipse的录制器

2、Rotium的开发文档:

就直接搜Robotium官网,下载其javadoc文档,解压出来就是这样的目录:

打开index.html,就能看到class下面的solo类的介绍。

最重要的类是solo类,其中包含方法如下:

从上面截图可以看到提供的类包括:

1)、assertCurrentActivity方法,判断符合特定name的Activity是否是当前活动的这个,有多个重载类,具体调用根据实际情况来实现

2)、clickInList方法:点击list,获取结果;clickLongInList:长按List,获取结果

3)、...还有其他各种,长按屏幕、长按符合特定需求的Text的View的、点击Button等,各种很轻易从名字就可以理解功能的方法

3、代码分析(重点)

1)、Clicker类

以clickOnScreen(float x, float y)函数为例,调用android的apk方法:MotionEvent.obtain()方法,参数包括按下时间、事件事件、以及事件类型、x和y坐标等

2)、Solo类(为核心搜索控件:Robotium跟Monkey原理无关,Robotium是调用instrumentation框架查找控件,用injectevent事件驱动控件运行)

该类中的assertCurrentActivity方法,调用了searchFor方法:获取到所有的activity里面的View,然后根据所要获取的内容调用相应方法,这样就能获取到符合要求的我要找的东西

3)、search类:

该类的处理逻辑?

getview——>获取到所有的activity里面的View——>丢入arraylist里,一个个拿出来进行比对判断是哪种类型

4)、WebView、RobotiumWEbView和WebChromeClient

js脚本注入

三、RobotiumRecord录制器

这个要自己去试用一下,也没什么可多说的

网易云课堂:

http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=876095&courseId=712011


金阳光测试


新浪微博:金阳光woody


         

          网站地址


1、百度搜:金阳光测试

2、官网:www.goldensunshine.cc


微信公众号


时间: 2024-11-06 09:25:25

Robotium原理初步--Android自动化测试学习历程的相关文章

Selenium原理初步--Android自动化测试学习历程

章节:自动化基础篇——Selenium原理初步(第五讲) 注:其实所有的东西都是应该先去用,但是工具基本都一样,底层都是用的最基础的内容实现的,测试应该做的是: (1)熟练使用工具,了解各个工具的利弊,达到工具优选.因时因地制宜的目的 (2)读源码,理解原理,能够对开源的源码进行二次再创造,改编成适合自身产品的工具:或者自己直接编写适合测试的工具 (3)能够对测试过程中发生的异常进行分析和定位,对测试结果进行详细和系统的综合评定(需要能够分析定位问题,必须对自身产品了解,但更需要的是对底层代码和

AndroidDriver原理初步--Android自动化测试学习历程

主要讲解内容及笔记: 一.AndroidDriver核心原理 对上图的解析: PC端的端口通过adb,将android版的Remote Server的apk push到手机上,然后跟手机端的Remote Server进行通信,手机端的Remote Server与浏览器进行通信,通过WebDriver注入js脚本到浏览器,完成想要完成的功能 基于控件的所有的自动化框架都调用了Instrumentation,或者封装了它,比如之前的Robotium等 二.AndroidDriver源码分析 1.io

Monkey原理初步和改良优化--Android自动化测试学习历程

章节:自动化基础篇——Monkey原理初步和改良优化(第三讲) 主要讲解内容与笔记: 一.理论知识: 直接看文档,来了解monkey的概念.基本原理,以及如何使用. First,what is Android Monkey? The Monkey is a program that runs on your emulator or device and generates pseudo-random streams of user events such as clicks, touches,

截图原理(一)——Android自动化测试学习历程

把两节的内容汇总起来,第一节讲的是如何在apk中直接进行截屏,用到了Robotium的Solo类的takeScreenShot方法,有一个小的demo,以及从方法一直往里钻,知道它具体是怎么进行截屏的. 第二节讲的是脱离apk,直接在PC端截图,通过的是adb桥接的方式,调用ddmlib.jar包中的AndroidDebugBridge和IDevice的类,对其进行截屏,并保存到我想要的位置,是可以写成一个小工具的. 视频地址:http://study.163.com/course/course

截图原理(二)——android自动化测试学习历程

接上一篇(截图原理) 视频地址:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877121&courseId=712011 四.非APK的操作,通过PC端实现截屏操作,及原理 通过adb桥接的方式,调用ddmlib.jar中的IDevice和AndroidDebugBridge类对通过adb连接的设备进行截图,截图之后保存在PC端,可在短时间内截取多张图 五.adb桥接方式实现截

Instrumentation类——Android自动化测试学习历程

这里需要把Instrumentation类的视频的上.中.下三集一起看,把内容总结一下... 视频地址: http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=881433&courseId=712011 http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878104&

Android-Junit-Report测试报告生成——Android自动化测试学习历程

视频地址: http://www.chuanke.com/v1983382-135467-384869.html 这个内容其实已经在用了,我在上一篇文章robotium—只有apk文件的测试中已经讲过这个内容了,并且自己也用Python+wxpython写了界面程序,来实现跑case+获取xml运行结果+xml转html+发送邮件的功能 主要内容: 一.测试需求 1.统计每个case的执行时间 2.哪些case成功.失败 3.失败的case给出log 4.产生网页html报告结果 二.环境部署

跨进程(同一app不同进程之间通信)——Android自动化测试学习历程

视频地址:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877122&courseId=712011 一.问题: 1.如何做到一个app不同进程通信? 2.多个app通信(不同app) 3.注入事件运行脚本和调用隐藏api 二.一个app不同进程通信: 知识点: 1.Intent.binder 2.Service.Activity 3.Handler.view 4.Messeng

【金阳光测试】Android自动化 -- 学习历程:MonkeyRunner原理初步

章节:自动化基础篇——MonkeyRunner原理初步 网易云课堂: http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877115&courseId=712011 主要讲解内容及笔记: 一.理论知识和脚本演示 最佳方式是上官网文档去查看monkeyrunner的介绍,官网上不去,就找了一个本地的android 4.2 的查看,基本内容没啥变化 First,什么是MonkeyRunn