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属性
随机推荐
- oracle goldengate for downstreams 配置--for 数据库参数配置和ogg进程参数配置
1.整体数据库配置三个源端和一个downstream下游抽取数据库配置:alter system set enable_goldengate_replication=TRUE;Alter databa ...
- 使用 SOUI 开发高 DPI 桌面应用程序[转载]
原文:使用 SOUI 开发高 DPI 桌面应用程序_吹泡泡的小猫的博客-CSDN博客 补充说明:soui3以后版本对dpi的支持更完善了,用起来也更简单了. 1 应用程序感知 DPI 变化 在 Win ...
- OI 博弈论若干模型总结(Genshing)
OI博弈论的若干模型 OI 不是知识竞赛. 平等博弈是完全信息的(知道双方目标及操作收益),交替行动的,知道当前局面和转移的,平等(决策和当前状态操作者无关)的. 不平等博弈和上面一致,但是有一方更加 ...
- Hive2升hive3报错
一.网上总结的报错 1.coalesce报错 FAILED: SemanticException [Error 10014]: Line 197:4 Wrong arguments ''10'': U ...
- 洛谷P2789 直线交点数 题解
解题思路 考虑将直线分组,每组内直线互相平行,任意两组直线间交点数量等于两组内直线数量乘积. 分组操作使用dfs,求出交点数量后加入set去重,输出set大小. 时间复杂度O(2NN2)有点鬼畜但是可 ...
- [SDOI2009] 晨跑 题解
每个点拆成入点和出点. 发现每个点.每条边都只能经过一次,所以所有边的容量都是 \(1\). #include<bits/stdc++.h> #define ll long long us ...
- N-gram基本原理
N-gram模型是一种语言模型(Language Model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint pro ...
- Typecho 引入 DPlayer
想在文章中插入视频,尝试 iframe 和 video 标签后发现 m3u8 流会触发下载无法播放,用 hls 该问题后,碰到了 403 forbbiden.联想到前些天新浪图床加 referrer ...
- RedHat8密码复杂度策略配置
1.密码复杂度策略概念 在Linux系统中,确保用户密码的复杂度是提高系统安全性的重要措施之一.通过配置密码策略,可以强制用户使用强密码,从而降低被破解的风险.本文将详细介绍如何在 Linux 系统中 ...
- thinkphp或laravel连接sql server 2014数据库
问题描述:平时使用最多为mysql数据库,目前有项目数据库为sql server 2014,列出连接全过程 首先下载安装SQLserver的odbc开放数据库链连接,下载地址:https://lear ...