Appium元素选择 滑动 通知栏
一、根据ID 包名可省略
1、元素的resource id属性
2、唯一标志该元素的值
3、一般最优先根据它来定位
driver.find_element_by_id('io.manong.developerdaily:id/btn_email')
driver.find_elements_by_id('btn_email') 包名可以省略
4、有时候并非唯一指定
二、根据class name 包名可省略
1、class属性决定了界面元素的类型
2、如果
我们要查找的是某种类型的界面元素
而且这种类型的界面元素在当前界面只有一个
driver.find_element_by_class_name('android.widget.ImageView')
3、唯一性少见,一般用于局部查找。利用上层元素找目标元素
三、根据ACCESSIBILITY ID 包名可省略
1、content-desc属性是用来描述该元素的作用
2、如果
要查询的界面元素的content-desc属性 在当前界面中唯一
driver.find_element_by_accessibility_id('heheh')
3、一般开发者不愿意写
四、根据Xpath
1、定位比较复杂的元素
2、相对不成熟,很多时候正确的语法也无法定位到元素
五、tap 方法 坐标精准定位元素,一般不使用
1、click方法类似,都是点击界面
2、tap针对坐标
3、难以用通常的方法定位元素时使用
tap([(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5)],duration)列表中最多可以放5个元祖,duration长按屏幕的时间,单位为毫秒
六、swipe 滑动
1、driver.swipe(x1,y1,x2,y2,duration) duration长按屏幕的时间,单位为毫秒,时间太短,滑动时会有惯性
2、直接查看,估算操作坐标
3、先获取元素坐标,在分析操作坐标(更健壮)
location = ele.location 左上角坐标(dict:有x,y)
size1 = ele.size 宽、高(dict:有width、height)
七、操作不可见元素:
1、先滑动到其可见
2、再操作该元素
3、获取全屏幕尺寸
screenSize = driver.get_window_size()
screenW = screenSize ['width']
screenH = screenSize ['height']
八、通知栏
1、点开通知栏
driver.open_notifications()
2、查看通知
3、关闭通知栏、返回应用
A、通过活动屏幕实现
B、通过按下返回键
driver.keyEvent(4) 返回键的keycode是4
Appium元素选择 滑动 通知栏的更多相关文章
- Python+Appium自动化测试(10)-TouchAction类与MultiAction类(控件元素的滑动、拖动,九宫格解锁,手势操作等)
滑动屏幕方法swipe一般用于对页面进行上下左右滑动操作,但自动化过程中还会遇到其他情况,如对控件元素进行滑动.拖拽操作,九宫格解锁,手势操作,地图的放大与缩小等.这些需要针对控件元素的滑动操作,或者 ...
- Appium之选择/操作元素
Appium是如何选择.操作元素的呢? appium自动化 ------ 选择界面 元素 操作元素 ------- ① 点击 ② 输入字符 ③ 拖拽 ④ 获取页面元素的各种属性 根据appium ...
- Appium(九):Appium API(三) 滑动和拖拽、高级手势、手机操作
1. 滑动和拖拽 我们在做自动化测试的时候,有些按钮是需要滑动几次屏幕后才会出现,此时,我们需要使用代码来模拟手指的滑动,也就是接下来要学的滑动和拖拽了. 1.1 swipe滑动事件 从一个坐标位置滑 ...
- appium元素定位总结
appium元素定位方法总结 使用uiautomator定位 driver.find_element_by_android_uiautomator(uia_string) 根据resourceId属性 ...
- appium元素识别方式实战
github代码:: https://github.com/w550856163/App_Demo.git tag: V1.1 Appium Inspector定位工具界面介绍: Selecte ...
- OpenLayers元素选择工具
OpenLayers的selector工具相信挺多人都没有用过,其实这个工具用处还是不少的.比如完成元素查询时,需要实现图属性联动,使用这个工具很方便.最近做项目时也使用到这个工具,使用起来确实挺方便 ...
- Dotfuscator自定义规则中的元素选择
Dotfuscator是专业的.NET程序代码保护软件.是支持规则自定义的,你可以对重命名.程序控制流.字符串加密等等功能自定义规则.在进行规则自定义过程中,可以通过元素的不同选择,满足自己的程序需要 ...
- Python Appium 元素定位方法简单介绍
Python Appium 元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...
- 4、通过uiautomatorviewer实现appium元素定位
熟悉selenium自动化的小伙伴应该知道WebDriver 提供了八种元素定位方法: idnameclass nametag namelink textpartial link textxpathc ...
- appium元素定位工具
appium元素定位工具介绍 使用uiautomatorviewer定位工具 使用Appium Inspector定位工具 使用uiautomatorviewer定位工具 谷歌在Android S ...
随机推荐
- 使用Git提交代码
目录 1.提交前准备工作 2.代码提交步骤 3.从git上面拉代码 4.Git变更集 5.参考资料 1.提交前准备工作 首先去git官网下载git工具(Git GUI Here.Git Bash He ...
- Blazor Pdf Reader PDF阅读器 组件 更新
Blazor Pdf Reader PDF阅读器 组件 https://www.nuget.org/packages/BootstrapBlazor.PdfReader#readme-body-tab ...
- angular Ionic CLI环境搭建安装以及栅格响应式布局
- java入门与进阶-P1.1+P1.2
计算机与编程语言 计算机如何解决问题 !-- 首先计算机他是不知道自己需要去做什么的,它需要按照你所说的步骤一步一步进行直到结束 "请给我一杯水" 1.转身走到厨房; 2.找到一个 ...
- Java 进阶P-3.5+P-3.6
对象数组的for-each循环 for-each是用于遍历数组的另一种形式的for循环.for-each循环显着减少了代码,并且循环中没有使用索引或计数器. 句法: For(<数组/列表的数据类 ...
- 创建型模式 - 建造者模式Builder
学习而来,代码是自己敲的.也有些自己的理解在里边,有问题希望大家指出. 最近这个脑T---瘫----CSDN有毛病吧?我写这个都是涉及到广告了?谁家的广告? 谁给我钱了?审核策略设计者是什么NTR? ...
- 怎么把Java,PHP,Vue等项目上传到GitHub,码云等
一.到github或者码云上建立一个私有或公开仓库(这里以github为例) 创建成功后我们得到了一个仓库地址,github上的操作完成,现在去项目内捣鼓 二.提交本地文件并推送 1.我是用命令的格式 ...
- 四、流程控制和break、continue、range函数的讲解
目录 一.流程控制理论和必备基础知识 理论: 必备基础知识: break.continue的用法: 二.流程控制之分支结构 if if...else if...elif...else if的嵌套使用 ...
- BST 插入节点传新版本(原痛恨JavaScript每一天 __ 没有指针)
2023年2月2日更新 perform代码上传到GitHub了,新方法比老方法慢,不建议在生产环境使用 GitHub地址:https://github.com/Dou-fugan/webDemo/tr ...
- [DuckDB] 多核算子并行的源码解析
DuckDB 是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称.笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文< ...