Appium基于安卓的各种FindElement的控件定位方法实践和建议
AppiumDriver的各种findElement方法的尝试,尝试的目标应用是SDK自带的Notepad应用。
1. findElementByName
1.1 示例
- el = driver.findElementByName("Add note");
- assertThat(el.getText(),equalTo("Add note"));
1.2 如何获得Name
iOS设备倒可以用Appium Inspector获得(以下图片来自网上)
1.3 建议
2. findElementByAndroidUIAutomator
2.1 示例
- el = driver.findElementByAndroidUIAutomator("new UiSelector().text(\"Add note\")");
- assertThat(el.getText(),equalTo("Add note"));
2.2 如何获得UIAutomator参数
3. findElementByClassName
3.1 示例
- el = driver.findElementByClassName("android.widget.TextView");
- assertThat(el.getText(),equalTo("Add note"));
3.2 如何获得控件的ClassName
3.3 建议
使用ClassName一般获得的view都不止一个,所以应该需要遍历一遍得到的views,然后缩写搜索条件来获得目标控件。示例中因为只有一个textview控件在窗口上面,所以不需要遍历。
4. findElementById
4.1 示例
- el = driver.findElementById("android:id/title");
- assertThat(el.getText(),equalTo("Add note"));
4.2 如何获得Resource Id
4.3 建议
如果目标设备的API Level低于18则UIAutomatorViewer不能获得对应的Resource ID,只有等于大于18的时候才能使用。
5. findElementByAccessibilityId
5.1 示例
- el = driver.findElementByAccessibilityId("menu_add_note_description");
- assertThat(el.getText(),equalTo("node"));
5.2 如何获得AccessibilityId
5.3 注释
6. findElementByCssSelector
7. findElementByLinkText
8. findElementByPartialLinkText
9.findElementByTagName
10.findEelementByXPath
10.1 示例
- el = driver.findElementByXPath("//android.widget.TextView[contains(@text,'Add note')]");
- //el = driver.findElement(By.xpath("//android.widget.TextView"));
- assertThat(el.getText(),equalTo("Add note"));
10.2 XPath格式变化
从老版本的Appium0.18.x升级到现在的Appium1.x后,注意class name和xpath策略的变化:你现在需要使用FQCN来描述你的控件。也就是说原来的:
findElementByXpath(""//TextView[contains(@text,'Add note')]"")
需要改成
findElementByXpath("//android.widget.TextView[contains(@text,'Add note')]")
详细变动请查看《Appium0.18.x迁移到Appium1.x须知事项》
10.3参考
sometimes uiautomator fails to create the dump.xml. A client side retry may help. I don't think there's much we can do about the problem until Google fixes uiautomator.
11. 终极方法:AppiumDriver getPageSource
Item |
Description |
Warning |
Author |
天地会珠海分舵 |
转载请注明出处! 更多精彩文章请查看本人博客! |
Blog Address |
http://blog.csdn.net/zhubaitian |
Appium基于安卓的各种FindElement的控件定位方法实践和建议相关推荐
- app自动化测试——app自动化控制、常见控件定位方法
文章目录 一.app自动化控制 1.清理数据: 2.启动: 3.关闭: 二.常见控件定位方法 1.android知识 2.ios 基础知识 3.元素定位 4.控件基础知识 5.app dom 结构解析 ...
- App控件定位:Android 控件介绍及元素定位方法
本文将分享Android相关基础知识和Android APP控件定位工具的使用方法. 目录 Android基础知识 Android布局 Android四大组件 1.activity 2.Service ...
- appium 控件定位
转自:http://www.2cto.com/kf/201410/340345.html AppiumDriver的各种findElement方法的尝试,尝试的目标应用是SDK自带的Notepad应用 ...
- SAP UI5 应用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件使用方法介绍试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
- html标签手册 360doc,基于AJAX的文件上传控件NetAdvantage for jQuery
NetAdvantage for jQuery 是一款全新的轻量级.高性能的jQuery控件,包含了在线的Video播放控件,基于AJAX的文件上传控件,快速且强大的表格控件,以及创建和编辑Word. ...
- recycleview横向展开_Android开发之基于RecycleView实现的头部悬浮控件
RecyclerView是一种类似于ListView的一个滑动列表,但是RecyclerView和ListView相比,RecyclerView比ListView更好,RecyclerView支持横向 ...
- 基于自动驾驶需求的线控转向设计方法
出品 | 焉知AutoTalk 本期主题为"基于自动驾驶需求的线控转向设计方法",焉知有幸邀请到了清车智行(苏州)电子科技有限公司总经理.清华大学苏州汽车研究院智能底盘所所长高峰先 ...
- 关于安卓接入B站弹幕控件
关于安卓接入B站弹幕控件 环境: as 4.4.2 jdk 1.8 注意!!源码在文末!! 弹幕github官方地址地址 实现场景 通过弹幕与时间关联,实现视频弹幕的播放,滚动进度的时候,弹幕不进行清 ...
- 基于Bootstrap的时分秒选择控件timepicker
基于Bootstrap的时分秒选择控件timepicker 最近项目中要用到时间选择控件,然而研究了半天并没有发现 bootstrap-datetimepicker 控件只选择时分秒的配置方法.自己动 ...
最新文章
- 在线音频“三国争霸”,谁能率先登陆资本市场?
- Struts2中的链接标签
- 【树】判断给定森林中有多少棵树(简单做法)
- php无限次执行函数,php – 防止多次执行JavaScript函数
- 11 wifi6速率_什么是WiFi 6?究竟有多6?
- SSH Backgroup工具汇总
- 无法定位软件包python-pip
- 关于studio 3T
- vue 前端导出xlsx文件
- 加域电脑激活指纹识别
- iOS多控制器-视图切换.
- Linux下dislocate命令用法,dislocate
- 文章-编程需要知道多少数学知识?
- ASP.net 密码加密和使用密码登录
- 中山大学3D游戏设计读书笔记 unity3D Note2
- 泛泛而谈的渲染学习记录(二)—— 高斯模糊卷积的线性分解理解
- Git常用命令及其作用_艾孜尔江撰
- 巡逻机器人(Patrol Roboot,UVa1600)
- 什么是网关?网关的作用?
- 【Python123】 存款买房(B)
热门文章
- 二进制正负数转换和移位的规则详解
- php流量图形化,用php引用cacti中的网络流量图表
- 记录一次wine安装(下列软件包有未满足的依赖关系: winehq-stable : 依赖: wine-stable (= 5.0.0~bionic))
- 计算机科学就是关于计算机的学问,【遇见男神】计算机科学与工程学院国奖获得者颉满刚:做人、做事、做学问...
- FFmpeg - ./configure编译参数全部总结和整理
- 数字信号处理概述(整理《学以致用·深入浅出数字信号处理》)
- PLC通过编码器反馈值计算速度的推荐做法(算法解析+ST代码)
- 禁用计算机f1-f12,Win10系统禁用F1到F12热键 将F1到F12多媒体键转变为功能键的方法...
- BlackBerry 10 BlackBerry OS 7 1 手机通过蓝牙串口读取Arduino 蓝牙传过来的温度
- UE4蓝图切换玩家行走跑步姿势