• 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

    微信公众号

  • 相关阅读:
    404页面应该怎么做?
    网站被百度和google封了,怎么办?
    如何下载没有提供下载按钮的网页视频
    新手学习.net编程计划-1
    windows7旗舰版下载出现蓝屏代码50怎么办?
    微软已于10月底停止销售预装Windows 7/8.1的电脑
    Html代码seo优化最佳布局实例讲解
    下载类网站的SEO优化方面技巧
    命名空间“System.Windows.Forms”中不存在类型或命名空间名称“DataVisualization”。是否缺少程序集引用?
    SQL、LINQ、Lambda 三种用法(转)
  • 原文地址:https://www.cnblogs.com/GoldenSunshinetester/p/4402145.html
Copyright © 2020-2023  润新知