RobotFramework - AppiumLibrary 之元素定位
一、介绍
AppiumLibrary 是 Robot Framework 的App测试库。
它使用Appium 与Android 和 iOS应用程序进行通信,类似于Selenium WebDriver与Web浏览器的对话。
AppiumLibrary是继承和引用appiumandroidlibrary,但重新实现使用appium 1.X技术,它完全支持Python 2.7,但对python 3.3+的支持仍然是实验性的。
二、定位控件
AppiumLibrary需要在应用程序中查找元素的所有关键字都使用参数locator。
当提供locator值时,它将与特定元素类型的键属性进行匹配。支持的定位器(locator)有:
| 定位器 | 格式 | 描述 |
| identifier | Click Element | identifier=my_element | 匹配 @id 或 @name 属性 |
| id | Click Element | id=my_element | 匹配 @id 属性 |
| name | Click Element | name=my_element | 匹配 @name 属性 |
| xpath | Click Element | xpath=//UIATableView/UIATableCell/UIAButton | 匹配 XPath |
| class | Click Element | class=UIAPickerWheel | 匹配 class name |
| accessibility_id | Click Element | accessibility_id=t | 匹配 辅助选项 |
| android | Click Element | android=new UiSelector().description('Apps') | 匹配 Android UI Automator |
| ios | Click Element | ios=.buttons().withName('Apps') | 匹配 iOS UI Automation |
| css | Click Element | css=.green_button | 匹配 css in webview |
三、定位工具



四、定位元素
1. identifier 定位
说明:匹配 @id 或 @name 属性,分别对应 resource-id 和 text 属性。
案例:点击计算器数字“ 9 ”,可以使用id定位,也可以使用name定位。
| Click Element | identifier=com.android.calculator2:id/digit_9 |
| Click Element | identifier=9 |

2. id 定位
说明:匹配 @id 属性,对应 resource-id 属性。
案例:点击计算器输入框,id可以指定也可以不指定,如果不指定策略,默认就是id定位。
| Click Element | id=com.android.calculator2:id/formula |
| Click Element | com.android.calculator2:id/formula |

3. name 定位
说明:匹配 @name 属性,对应 text 属性。
案例:点击计算器数字“ 9 ”。
| Click Element | name=9 |

4. xpath 定位
说明:匹配 Xpath ,这也是功能最强大的一种定位方式,不过通常用于web自动化。
案例:点击计算器数字“ 7 ”。
| Click Element | xpath=//android.widget.Button[contains(@text,'7')] |

附加Xpath定位表达式说明:

5. class 定位
说明:匹配 class name ,对应 class 属性,但通常class属性都不唯一。
案例:点击计算器数字“ 6 ”。
| Click Element | class=android.widget.Button |

6. accessibility_id 定位
说明:匹配 辅助选项,这个方法属于Appium扩展的定位方法,主要就是content-desc属性。
案例:点击计算器加号“ + ”。
| Click Element | accessibility_id=plus |

7. android 定位
说明:匹配 Android UI Automator。
案例:点击计算器加号“ + ”。
| Click Element | android=new UiSelector().description(\"plus\") |

8. css 定位
说明:匹配 css in webview,只适用于webview的html页面,继承自webdriver。
9. ios 定位
说明:匹配 iOS UI Automation,很显然只适用于ios系统。
以上就是笔者对RF框架Appium引用控件定位总结,个人感受比较好用的定位器是id、name、xpath、accessibility_id,
其他几个相对比较局限,用的不多,其中css、ios定位笔者还未使用过,读者有兴趣可以自己去发掘一下。
RobotFramework - AppiumLibrary 之元素定位的更多相关文章
- RobotFramework自动化测试之元素定位
前言:最近在做基于RF框架的Web自动化测试,其中涉及到元素的定位,主要用到id.name.xpath.css四中定位方法,尤其后面的两种方法特别有效,可以解决大部分的定位问题. id和name定位 ...
- robotframework使用之元素定位动态ID方法
转自: http://blog.csdn.net/u011757108/article/details/53418671 一个弹出框所有元素ID竟然的动态的,关闭后再打开,里面的ID又变! 如下图: ...
- Robotframework + Appium 之常用元素定位方法
任何自动化测试,其实手动测试也是一样的,元素定位(目标定位)是首要任务,这是最直接的测试对象呀! 好了,废话不多说,又到了元素定位啦,之前我们已经介绍过selenium及appium常用的定位方法,下 ...
- RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第七篇【元素定位介绍】
http://blog.csdn.net/deadgrape/article/details/50628113 我想大家在玩自动化的时候最关心的一定是如何定位元素,因为元素定位不到后面的什么方法都实现 ...
- webview元素定位
genymotion 模拟器:android 5.0.0 python 2.7 appium 1.4.16.1 1.app原生元素定位(常用) driver.find_element_by_id(“ ...
- RobotFramework AppiumLibrary 用户关键字
RobotFramework AppiumLibrary 用户关键字 最近在用robotframework搞安卓app 的自动化,其中用到了 AppiumLlibrary 的关键字,我都映射成了用户关 ...
- [转]RF+Selenium2Library元素定位不到的问题
原文地址:http://m.blog.csdn.net/m0_37553368/article/details/78016729 在基于RobotFramework框架使用Selenium2Libra ...
- robot_framewok自动化测试--(8)SeleniumLibrary 库(selenium、元素定位、关键字和分层设计)
SeleniumLibrary 库 一.selenium 1.1.Selenium 介绍 Selenium 自动化测试工具,它主要是用于 Web 应用程序的自动化测试,但并不只局限于此,同时支持所有基 ...
- selenium元素定位篇
Selenium webdriver是完全模拟用户在对浏览器进行操作,所有用户都是在页面进行的单击.双击.输入.滚动等操作,而webdriver也是一样,所以需要我们指定元素让webdriver进行单 ...
随机推荐
- app性能测试指标
性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样.中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试.应用在网络上性能的测试和应用在服务器端性能的测试.通常情况下,三方 ...
- jQuery键盘敲击事件,换键的话换键码就可以
$("body").keyup(function () { if (event.which == 13){ $("#Btn_login").trigger(&q ...
- [ZJOI2007]最大半联通子图
这个题,翻译一下题面,就是一个连通图,找他的最长链的数量... 所以说方法就比较明显了:tarjan缩点+拓扑+DP 注意也是本题唯一坑点,拓扑DP的时候要考虑重复边的情况... 呆码: #inclu ...
- 读入一个字符串str,输出字符串str中连续最长的数字串
要求: 读入一个长度不超过256的字符串,例如“abc123defg123456789hjfs123456”.要求输出“123456789” 思路: 遍历字符串,如果是数字串则计算往后一共有多少个数字 ...
- Android开发 ---基本UI组件5:监听下拉选项,动态绑定下拉选项、全选/反选,取多选按钮的值,长按事件,长按删除,适配器的使用,提示查询数据,activity控制多按钮
效果图: 效果描述: 1.当点击 1 按钮后,进入选择城市的页面,会监听到你选中的城市名称:动态为Spinner绑定数据 2.当点击 2 按钮后,进入自动查询数据页面,只要输入首字母,就会动态查找以该 ...
- java类的高级概念
- 1.6 selenium3+firefox环境搭建
1.6 selenium3+firefox环境搭建 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的.(备注:这里 ...
- C高级第二次作业
PTA作业第一部分 6-7 删除字符串中数字字符(10 分) 删除一个字符串中的所有数字字符. 函数接口定义: void delnum(char *s); 其中 s是用户传入的参数. 函数的功能是删除 ...
- Linux系统-禁ping
1) Add the following line to your /etc/sysctl.conf net.ipv4.icmp_echo_ignore_all=1 Then : sysctl -p ...
- # 20175120 2018.3.10 《Java程序设计》第2周学习总结
## 教材学习内容总结第二章内容1.标识符第一个字符不能是数字字符不能是关键字和true\false\null2.8个基本数据类型boolean int byte short long float d ...