人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述Robotframework + Appium 之常用元素定位方法相关的知识,希望能为你提供帮助。
任何自动化测试,其实手动测试也是一样的,元素定位(目标定位)是首要任务,这是最直接的测试对象呀!
好了,废话不多说,又到了元素定位啦,之前我们已经介绍过selenium及appium常用的定位方法,下面再单独介绍下Robotframework-AppiumLibrary常用元素定位方法,其实它们的思想是一样的,只是格式上有些差异,详情如下:
【Robotframework + Appium 之常用元素定位方法】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 几种比较常用元素定位方法,在实践过程中多多尝试,熟能生巧,便可以事半功倍。
推荐阅读
- App软件的类型
- Android Studio 使用ViewPager + Fragment实现滑动菜单Tab效果 --简易版
- 用Wireshark对Android应用的网络流量进行抓包
- zabbix lld使用trapper方式(zabbix_sender)
- Android性能优化之使用线程池处理异步任务
- 如何玩转WhatsApp,WhatsApp连不上网络解决方法
- 腾讯帮豆如何获得?腾讯帮豆的取得办法
- 新浪微博故事怎样关闭?新浪微博故事关闭图文详细教程_新浪微博
- qq空间宠物猫怎样升级?qq空间宠物猫升级图文详细教程