App自动化的元素定位
一.Appium定位步骤
打开appium,输入本地IP,点击启动服务器
1.点击启动检查器会话
2.配置所需功能,点击启动会话
二.App页面元素
App页面元素分为布局和控件两种
1.布局
FrameLayout(框架布局)
LinearLayout(线性布局)
AbsoluteLayout(绝对布局)
RelativeLayout(相对布局)
TableLayout(表格布局)
2.控件
Button、ImageView、EditText、TextView...
三.元素定位方法
1.id定位
通过resource-id定位,但是一个页面中可能存在不止一个相同的resource-id。
By by=MobileBy.id("com.cntaiping.tpl.tptb:id/tv_switch_account");
2.Text定位
MobileBy.AndroidUIAutomator("new UiSelector().text(\"密码登录\")"
3.Classname定位
通过class属性定位,但是class属性可能不唯一
MobileBy.className("android.widget.LinearLayout")
4.Accessibility id定位:content desc
MobileBy.AccessibilityId(\"题库\")
5.xpath定位
(1)xpath绝对路径
从根目录开始找:html/body...
(2)Xpath相对路径
优点:灵活,轻便,耦合性低
//标签名[@属性名=”属性值”]
//匹配指定节点,不考虑他们的位置;
标签名:可以是具体的标签名,也可以是*通配符,表示任意标签名;
@选取属性
1)元素标签名定位
MobileBy.xpath("//iframe")
2)元素名+索引定位
MobileBy.xpath("//*/android.widget.LinearLayout/android.widget.TextView[1]")
3)属性
MobileBy.xpath("//*[@class='gloable-upload']/i")
4)元素标签+属性
MobileBy.xpath("//input[@placeholder='请输入标题']")
5)包含属性部分值
MobileBy.xpath("//div[contains(@class,'btn-submit')]")
6)元素文本内容
MobileBy.xpath("//span[text()='新建']")
7)包含元素文本部分值
MobileBy.xpath("//div[contains(text(),'登 录')]")
(3)Xpath轴定位
|
轴名称 |
释义 |
|
ancestor |
选取当前节点的所有祖先节点(包括父节点) --找所有的祖先 |
|
parent |
选取当前节点的父节点 -- 找爸爸 |
|
preceding |
选取当前节点之前的所有节点 |
|
preceding-sibling |
选取当前节点之前的所有兄弟节点 --找哥哥 |
|
following |
选取当前节点之后的所有节点 |
|
following-sibling |
选取当前节点之后的所有兄弟节点 --找弟弟 |
/轴名称::节点名称[@属性=值]
By.xpath("//*[text()='资讯平台']//preceding-sibling::div/img")
App自动化的元素定位的更多相关文章
- App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.App 元素定位方式 二.元素操作 三.测试混合应用 四.以代码的方式执行 Pytest 命 ...
- python3+Appium自动化12-H5元素定位环境搭建
前言 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素 ...
- 混合元素app的H5元素定位
问题思考 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 解决思路 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原 ...
- (appium+python)UI自动化_03_元素定位工具
前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorvie ...
- selenium+python自动化之元素定位
自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...
- UI自动化之元素定位(xpath、css)
很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...
- Appium+python自动化12-appium元素定位
前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一.id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性
- Appium移动端自动化测试之元素定位(三)
1.name定位 driver.find_element_by_id(') driver.find_element_by_id(') driver.find_element_by_name('登录') ...
- python3+Appium自动化13-H5元素定位实践案例
测试场景 启动钉钉app进入工作H5页面,点击考勤签到 查看webview上元素 1.电脑上打开chrome浏览器输入:chrome://inspect/#devices 2.Discover USB ...
- Appium+python自动化12-appium元素定位【转载】
前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一.id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性
随机推荐
- Python 潮流周刊#87:媲美 OpenAI-o1 的开源模型(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- C笔记---01基础篇
一.C语言内存分区 1.程序代码区:存放 CPU 执行的机器指令. 2.数据区 2.1常量区:字符串.数字等常量存放在常量区,const修饰的全局变量存放在常量区:常量区的内存是只读的,程序结束后 ...
- CF1326G 题解
题意: 蛛网树是一颗平面树,满足点是该树的凸包的顶点上等价于其是叶子. 给定一个平面树,求有多少种对点集的划分,使得每个划分出来的集合都是蛛网树. Solution 考虑树形 dp.设 \(f_u\) ...
- Dev Express WPF 在当前界面显示进度加载等待信息
执行耗时任务时,为提高用户体验,一般会添加进度状态信息.Dev Express 的 LoadingDecorator 可以实现在当前界面中显示进度信息. 效果图如下: 默认 LoadingDecora ...
- [BZOJ4605] 崂山白花蛇草水 题解
突然想买一瓶,然后喝上几口.(不要命的想法) 动态全局 \(k\) 大想到权值线段树上二分. 由于要存储二维的点,所以得用到我们神通广大的 \(KDT\) 了. 那么想到权值线段树套 \(KDT\) ...
- [JOISC2019] 聚会 题解
随机化好题,但是不会证. 考虑把树看成一条链,链的每个点上缀了一棵树. 那么先随机出两个点 \(x,y\)(实际上随机一个点,另一个点固定似乎更好?),然后对于当前这棵树上的任意点 \(z\),都让他 ...
- 在Unity中玩转表达式树:解锁游戏逻辑的动态魔法
html { overflow-x: initial !important } :root { --bg-color: #ffffff; --text-color: #333333; --select ...
- FolderMove:盘符文件/软件迁移工具,快速给C盘瘦身
前言 很多朋友安装软件的时候总会直接点击下一步,每次都把软件安装到了C盘.时间长了以后系统C盘就会爆满,只能重做系统处理,有了这个软件就可以随时把C盘文件转移到其他分区 介绍 这款是国外软件,界面介绍 ...
- 大数据之路Week10_day07 (JavaAPI 操作Redis 与Hbase建立索引,通过查询redis中的索引查询Hbase数据)
在这里是简单模拟将索引存到redis中,再通过先查询索引再将Hbase中的数据查询出来. 需要考虑的问题: 1.建立redis的连接,建立Hbase的连接 2.如何创建索引,即创建索引的key和val ...
- 机器学习 | 强化学习(7) | 融合学习与规划(Integrating Learning and Planning)
7-融合学习与规划(Integrating Learning and Planning) 1.导论 基于模型的强化学习(Model-Based Reinforcement Learning) 在上一个 ...