任何自动化测试,其实手动测试也是一样的,元素定位(目标定位)是首要任务,这是最直接的测试对象呀!

好了,废话不多说,又到了元素定位啦,之前我们已经介绍过selenium及appium常用的定位方法,下面再单独介绍下Robotframework-AppiumLibrary常用元素定位方法,其实它们的思想是一样的,只是格式上有些差异,详情如下:

AppiumLibrary需要在应用程序中查找元素的所有关键字都使用参数locator。当提供locator值时,它将与特定元素类型的键属性进行匹配。

常用支持的定位(locator)方法有:
  注:robotframework-appiumlibrary    1.4.6    (本文基于此版本)

  Android应用可以通过 uiautomatorviewer.bat工具来查看控件元素的属性,该工具位于Android SDK的Tools目录下。

1、id 定位   (本篇还是以之前的Calculator为例)

  说明:匹配 @id 属性,对应 resource-id 属性。

  案例:点击计算器数字“ 9 ”,id可以指定也可以不指定,如果不指定策略,默认就是id定位。

  数字“ 9元素属性如下:

  

  Click Element    id=com.android.calculator2:id/digit_9

  Click Element    com.android.calculator2:id/digit_9

2、xpath 定位

  说明:匹配 Xpath ,这也是功能最强大的一种定位方式。

  案例:点击计算器数字“ 9 ”。又有下面几种方式:

  1)、如果元素text是唯一的,可直接通过text文本定位

  Click Element     xpath=//*[@text='9']

  2)、通过resource-id来定位

  Click Element     xpath=//*[@resource-id='com.android.calculator2:id/digit_9']

  3)、通过class来定位,如果唯一的,不然还需要搭配其它的属性

  Click Element     xpath=//android.widget.Button[@text='9']        因为class不是唯一的,所以这里加上text

  4)、通过content-desc来定位,如点击计算器“+”号,其中元素属性如下:

  

  Click Element     xpath=//*[@content-desc='plus']

  5)、通过contains匹配来定位

  Click Element    xpath=//*[contains(@text,'9')]        匹配text

  Click Element     xpath=//*[contains(@content-desc,'plus')]     匹配content-desc

  Click Element     xpath=//*[contains(@resource-id,'id/op_add')]  模糊匹配resource-id

  6)、组合定位

  Click Element     xpath=//*[@text='+'][@content-desc='plus']  组合text和id

3、uiautomator定位

  说明:通过uiautomator方式 ,这也是功能强大的一种定位方式。

  案例:点击计算器数字“ 9 ”。与xpath一样,也有下面几种方式:

  1)、通过text定位

  Click Element    android=new UiSelector().text("9")

  2)、通过resource-id来定位

  Click Element    android=new UiSelector().resourceId("com.android.calculator2:id/digit_9")

  3)、通过content-desc来定位,如点击计算器“+”号

  Click Element    android=new UiSelector().description("plus")

  4)、组合定位

  Click Element    android=.resourceId("com.android.calculator2:id/digit_9").text("9")      resource-id与text组合

  Click Element    android=.className("android.widget.Button").text("9")  class与text组合

4、accessibility_id定位

  说明:这属于Appium扩展定位方法,主要是用content-desc属性。

  案例:如点击计算器“+”号

  Click Element    accessibility_id=plus

综上,是Robotframework-AppiumLibrary 几种比较常用元素定位方法,在实践过程中多多尝试,熟能生巧,便可以事半功倍。

  

  

  

  

  

最新文章

  1. Simulink Memory vs Unit Delay
  2. 关于[super dealloc]
  3. 跟我一起云计算(3)——hbase
  4. Python-json 和 pickle
  5. Tomcat_修改代码后tomcat是否需要重启
  6. 【ubuntu】首选项和应用程序命令(preference & application)
  7. C语言内存四区
  8. Notice : Soft open files now is 1024, We recommend greater than 10000
  9. DOS批处理命令判断操作系统版本、执行各版本对应语句
  10. 关于CKEditor.NET的安全性错误
  11. memcache和memcached之间的区别和联系
  12. linux系统时间同步
  13. 【USACO】 奶牛会展
  14. 在IE浏览器进行编辑操作再展示出现乱码问题
  15. 小程序-camera
  16. 3-4 8精彩算法集合。struct(C,ruby) Ruyb类对象和结构体, 3-5
  17. CListCtrl获取列数
  18. FrameWork数据权限浅析3之基于角色的配置表实现行级数据安全
  19. C++Array类模板编写笔记
  20. 异常:Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.

热门文章

  1. C++之继承与多态
  2. sql server 2000能否得到一个表的最后更新日期?
  3. c# 结构体 集合 复习
  4. sar命令详细信息
  5. Genetics in geographically structured populations: defining, estimating and interpreting FST
  6. 部分PR回写的数量带有小数,分别是2023工厂的纸箱104007000389,2021工厂的纸盒404002005930;
  7. django提交post请求
  8. .net使用httpHandler添加图片防盗链
  9. Django的模板语言介绍
  10. swift textfield 和 textview 实时获取 输入内容