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 ...
随机推荐
- WCH沁恒 CH37系列芯片选型以及常见问题的处理(CH376/CH378)
选型 型号 接口 功能 备注 电源 CH372 并口 USB_Device 全速 USB 设备接口,兼容 USB V2.0 3.1-3.6 4.2-5.4 CH374 SPI/并口 Host/Devi ...
- C/C++语言 MD5例子
之前研究了一下在C中进行MD5加密,由于找了很久没有找到现成的库文件,所以所幸自己去写了一下.个人感觉C的便捷性没有Python好的原因就是这里. 下面是我写的一个例子. mian.cpp: 点击查看 ...
- java中String类型的相关知识的简单总结
java中String类型的相关知识总结 一.常用方法: 1.构造方法: byte数组 可指定offset和length 可指定charset char数组 可指定offset和count 字符序列 ...
- vue多界面开发
1. 安装 vue-cli,已有的请跳过这一步 npm install -g @vue/cli 若已安装旧版 vue-cli 则需要先卸载 vue-cli npm uninstall -g vue-c ...
- 深入探究Java中的对象类型变量声明操作——在声明对象时,系统究竟做了什么?
深入探究Java中的对象类型变量声明操作--在声明对象时,系统究竟做了什么? 摘要:本文主要对Java中的对象类型变量的声明的底层原理做了探究. 目录 深入探究Java中的对象类型变量声明操作--在声 ...
- Flutter踩坑日记,自己挖的坑,哭着也要走出来。
1. 系统运行缓慢,疯狂点击右上角小X,再次启动后Emulator启动黑屏,关机重启也不好使,其他 Emulator也无法使用. 执行以下步骤: 第一检查内存是否够用 啊 不够用了 那么 [解决方法 ...
- php上传微信素材
private function HttpsUpdateFileServerRequest($url,$path_img){ $curl = curl_init (); if (class_exist ...
- spring in action day07 RabbitMq
一:安装RabbitMq 记录下本人在win10环境下安装RabbitMQ的步骤,以作备忘. 第一步:下载并安装erlang erlang和rabbitmq对应版本说明:https://www.rab ...
- flutter系列之:在flutter中使用导航Navigator
目录 简介 flutter中的Navigator Navigator的使用 总结 简介 一个APP如果没有页面跳转那么是没有灵魂的,页面跳转的一个常用说法就是Navigator,flutter作为一个 ...
- 接口自动化库-apist
前言 目前很多公司用jmeter或者RF框架来实现接口自动化,确实是可以实现,但不利于CI/CD. 为了方便后续的可拓展性.可维护性.可复用性,项目leader在技术选型的时候应当以趋势.主流的为主, ...