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) 

    功能:获取文本

  • 相关阅读:
    React开发流程及认识
    Python整合AnaConda
    计算机显示器扩展方向调整
    python3 urlencode 和 urldecode 使用
    解决开启Vue项目缺少node_models包问题
    解决开启Vue项目缺少node_models包问题
    python中列表相加
    python炒鸡面试题
    Django中的CBV控制前后端分离模式
    selenuim使用总结
  • 原文地址:https://www.cnblogs.com/xu-jia-li/p/6971840.html
Copyright © 2011-2022 走看看