zoukankan      html  css  js  c++  java
  • robotium学习(三)

    Robotium是一个通用的测试Android App的框架,所以官方提供了一套通用的PKI文档。我们在下载Solo包的时候同时可以下载一个javadoc包,解压后就能看到官方文档了,不过官方文档是英文版本的,如果通读一遍的话也是挺有难度的。还好网上也有对应的翻译,所以我们不打算讲述所有的API,只讲解一些儿常用的。

    3.1 点击类操作

    在手机App操作中,点击操作是非常常用的,下面几个API是基本的点击操作:

    (1)clickOnText(String text)

    clickOnText(java.lang.String text, int match)  clickOnText(java.lang.String text, int match, boolean scroll) 

    功能:点击包含该文字的地方,其中text可以用正则表达式表示。如:(?i)----忽略大小写。默认情况是大小写敏感的,正则表达式与java保持一致。Scroll:true如果可滚动Match:匹配

    (2)clickLongOnText(String text)

    clickLongOnText(java.lang.String text, int match) clickLongOnText(java.lang.String text, int match, boolean scroll) clickLongOnText(java.lang.String text, int match, int time) 

    功能:长按一个包含该文字的地方。

    参数:

    Scroll:true如果可滚动 ,Time:长按的时间 Match:匹配

    (3) clickOnButton(int index) 

    clickOnButton(java.lang.String name) 

    功能:以序号或是名称单击各种按钮,index代表这个按钮在view中的序号,name是属性值。

    (4)clickOnImageButton(int index)  

    功能:以序号的方式单击一个图片按钮。

    (5)clickOnCheckBox(int index)

    功能:以序号的方式单击一个复选按钮。

    (6)clickOnRadioButton(int index) 

    功能:以序号来单击一个单选按钮。

    (7)clickOnToggleButton(java.lang.String name)

    功能:点击一个切换按钮

    (8) clickOnEditText(int index)

    功能:以序号来单击文本框,使其获得焦点,然后执行后序的操作。

    (9)clickOnScreen(float x, float y)

    clickLongOnScreen(float x, float y)

        clickLongOnScreen(float x, float y, int time) 

    功能:单击屏幕的某一坐标。参数x,y标识出坐标的位置,time 代表长按的时间。

    (10)clickLongOnTextAndPress(java.lang.String text, int index) 

    功能:长按后从list中选择一个项目 

    (11)clickOnView(android.view.View view) clickLongOnView(android.view.View view) clickLongOnView(android.view.View view, int time) 

    功能:单击一个View,或是长按一个View,参数time代码长按的时间。

    (12)clickOnImage(int index)  

    功能:以序号来执行单击图片操作。

    (13)clickOnMenuItem(java.lang.String text) clickOnMenuItem(java.lang.String text, boolean subMenu) 

    功能:以菜单项来单击选择菜单,参数subMenu:子菜单,如果可以设置在子菜单中 

    3.2 输入类操作

      对要操作的App进行输入操作,这也是常见的操作,Robotium输入操作有如下几种:

    (1)void enterText(android.widget.EditText editText, String text)

      功能:向一个符合条件的EditText输入特定的文本。

    (2)void enterText(int index, String text)

      功能:对特定的符合序号index的文本框输入文本。

    (3)void enterTextInWebElement(By by, String text)

       功能:通过By定位,对页面元素输入文本。

    (4)void clearEditText(android.widget.EditText editText)

      功能:清除特定的文本框中的内容。

    (5)void clearEditText(int index)

      功能:清除符合序号index的文本框中的内容。

    (6)void clearLog()

      功能:清除日志文件

    (7)void clearTextInWebElement(By by)

      功能:清除页面元素文本框内的信息。

    这些儿是常用的输入操作,为了不影响操作效果,建议在对文本框进行输入之前,先清空一下。当然像菜单选择,单选框,多选框也能输入的,这些儿操作在上一节已经讲过。

    3.3 Get相关操作

    在对App元素进行操作之前,首先要获取这个元素的句柄,然后再去执行相关的操作。所以获取到要操作的元素是第一步的,这也是自动化操作最基本的。

    (1)getButton(int index) 

    getButton(java.lang.String text) 

    getButton(java.lang.String text, boolean onlyVisible) 

    功能:通过序号,文本获取按钮,参数onlyVisible为true时只获取可见的按钮。

    (2)getCurrentActivity() 

    功能:返回当前activity。

    (3)getCurrentButtons() 

    功能:返回button的list。

    (4)getCurrentCheckBoxes() 

    功能:返回复选框的list。

    (5)getCurrentDatePickers() 

    功能:返回日期选择器的list。

    (6) getCurrentEditTexts() 

    功能:返回当前文本框的list

    (7)getCurrentGridViews()  

    功能:获取当前网格视图List。

    (8) getCurrentImageButtons()

    getImageButton(int index)

    功能:获取当前图片按钮list;根据序号获取图片按钮。

    (9)getCurrentImageViews() 

    功能:获取当前ImageView列表。

    (10)getCurrentListViews()

    功能:获取当前ListView列表。

    (11)getCurrentProgressBars() 

    功能:获取当前进度条信息。

    (12)getCurrentRadioButtons() 

    功能:获取当前单选按钮列表。

    (13)getCurrentScrollViews() 

    功能:获取当前滚动条列表。

    (14)getCurrentTextViews(android.view.View parent) 

    功能:获取当前TextView的列表。

    (15)getCurrentViews()

    getView(int id)  getViews() 

    getViews(android.view.View parent)  

    功能:获取当前View,或是所有View的列表。 

    (16)getEditText(int index) 

    getEditText(java.lang.String text) 

    getEditText(java.lang.String text, boolean onlyVisible)  

    功能:根据序号,文本获取EditText的句柄。

    (17)getText(int index) 

    getText(java.lang.String text) 

    getText(java.lang.String text, boolean onlyVisible) 

    功能:获取文本

  • 相关阅读:
    HDU 5486 Difference of Clustering 图论
    HDU 5481 Desiderium 动态规划
    hdu 5480 Conturbatio 线段树 单点更新,区间查询最小值
    HDU 5478 Can you find it 随机化 数学
    HDU 5477 A Sweet Journey 水题
    HDU 5476 Explore Track of Point 数学平几
    HDU 5475 An easy problem 线段树
    ZOJ 3829 Known Notation 贪心
    ZOJ 3827 Information Entropy 水题
    zoj 3823 Excavator Contest 构造
  • 原文地址:https://www.cnblogs.com/xu-jia-li/p/6971840.html
Copyright © 2011-2022 走看看