手机自动化之robotium第三章 robotium solo api简介_第1页
手机自动化之robotium第三章 robotium solo api简介_第2页
手机自动化之robotium第三章 robotium solo api简介_第3页
手机自动化之robotium第三章 robotium solo api简介_第4页
手机自动化之robotium第三章 robotium solo api简介_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章 Robotium Solo API 简介 宋现锋 2015-4-14 Robotium 是一个通用的测试 Android App 的框架,所以官方提供 了一套通用的 PKI 文档。我们在下载 Solo 包的时候同时可以下载一 个 javadoc 包,解压后就能看到官方文档了,不过官方文档是英文版 本的,如果通读一遍的话也是挺有难度的。还好网上也有对应的翻译, 所以我们不打算讲述所有的 API,只讲解一些儿常用的。3.1 点击类操作 在手机 App 操作中,点击操作是非常常用的,下面几个 API 是基本的 点击操作:(1)clickOnText(String text)clickOnTe

2、xt(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(ja

3、va.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)clickOnImageButto

4、n(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(fl

5、oat 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

6、, 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 ent

7、erText(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)voi

8、d clearEditText(int index)功能:清除符合序号index 的文本框中的内容。 (6)void clearLog()功能:清除日志文件(7)void clearTextInWebElement(By by)功能:清除页面元素文本框内的信息。这些儿是常用的输入操作,为了不影响操作效果,建议在对文本 框进行输入之前,先清空一下。当然像菜单选择,单选框,多选框也 能输入的,这些儿操作在上一节已经讲过。 3.3 Get 相关操作 在对 App 元素进行操作之前,首先要获取这个元素的句柄,然后 再去执行相关的操作。所以获取到要操作的元素是第一步的,这也是 自动化操作最基本的。 (1

9、)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

10、()功能:返回日期选择器的list。 (6) getCurrentEditTexts()功能:返回当前文本框的list(7)getCurrentGridViews()功能:获取当前网格视图 List。(8) getCurrentImageButtons()getImageButton(int index)功能:获取当前图片按钮list;根据序号获取图片按钮。 (9)getCurrentImageViews()功能:获取当前 ImageView 列表。(10)getCurrentListViews()功能:获取当前 ListView 列表。(11)getCurrentProgressBars()

11、功能:获取当前进度条信息。 (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 ind

12、ex)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)功能:获取文本3.4 Search 相关操作 在要操作的 App 中查找到相关的元素或是文本,这个是判读执行 结果的时候很重要的一步作,下面我们将常用的查找

13、元素的方法介绍 一下:(1)boolean searchButton (String text , intminimumNumberOfMatches, boolean onlyVisible)功能:判断当前的屏幕中是否能找到指定的 button参数:text-查找的 button 的文字 minimumNumberOfMatches-最小指定多少才算是通过,0表示 1 个或 者多个onlyVisible-只记录可见的返回:true-如果找到了该控件false-如果没有找到该控件(2)boolean searchText (String text , int minimumNumberOfMa

14、tches,boolean scroll, boolean onlyVisible)功能:判断当前的屏幕中是否能找到指定的 text,即文本。参数:text-查找的 Text 的文字 minimumNumberOfMatches-最小指定多少才算是通过,0表示 1 个或 者多个scroll-是否允许滚动搜索,true 表示支持,false 表示只能在当前屏幕 内查找onlyVisible-只记录可见的返回:true-如果找到了该文本false-如果没有找到该文本(3)boolean searchToggleButton (String text , intminimumNumberOfMatc

15、hes)功能:判断当前的屏幕中是否能找到指定的 ToggleButton参数:text-查找的 ToggleButton 的文字。 minimumNumberOfMatches-最小指定多少才算是通过,0表示 1 个或 者多个。返回:true-如果找到了该控件false-如果没有找到该控件(4)boolean searchEditText (String text)判断当前的屏幕中是否能找到指定的EditText参数:text-查找的 Text 的文字 返回:true-如果找到了该文本false-如果没有找到该文本3.5 Assert 断言相关操作 断言是自动化测试的关键,任何测试操作都是由断

16、言来检测用例 执行的是否正确。好的断言设置是体现自动化测试人员水平的关键, 我们还是先了解一下 robotium 的断言函数吧!( 1 ) void assertCurrentActivity (String message, Class activityClass,boolean isNewInstance)功能:断言当前的 activity 是否是预期的参数:message-如果运行失败打印的消息。 activityClass-预期的 activity。isNewInstance-可选项,实际 activity 是否是预期 activity 的继承,如果 为 true 则只要是继承关系就通

17、过,false 则必须是当前 activity返回:无(2)void assertCurrentActivity (String message, String name ,booleanisNewInstance)功能:断言当前的 activity 是否是预期的参数:message-如果运行失败打印的消息 name-预期 activity 的名字isNewInstance-可选项,实际 activity 是否是预期 activity 的继承,如果 为 true 则只要是继承关系就通过,false 则必须是当前 activity返回:无(3)void assertMemoryNotLow()功

18、能:断言目前系统可用内存是否过低,内存空间足够则通过 返回:无is 方法,虽然不是断言,但可以当断言来用。(4)boolean isCheckBoxChecked (int index | String text)功能:判断 checkBox 是否处于被选中的状态,可以通过 index 和 text两种方法定位参数:index-检查的 checkBox 的索引值,如果只有一个可用则为 0text-检查的 checkBox 的文字,可使用正则表达式 返回:true-如果被选中false-如果没有被选中(5)boolean isRadioButtonChecked (int index | String text)功能:判断 RadioButton 是否处于被选中的状态,可以通过 index 和text 两种方法定位参数:index-检查的 RadioButton 的索引值,如果只有一个可用则为 0text-检查的 RadioButton 的文字,可使用正则表达式返回:true-如果被选中false-如果没有被选中(6)boolean isRadioButtonChecked (int index | String text)和功能:判断 RadioButton 是否处于被选中的状态,可以通过 indextext 两种方法定位参数:inde

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论