UI自动化测试:App的Webview页面元素左滑
一、前言
在做App自动化测试时,我们会遇到如上图所示的列表数据页面左滑删除场景,一般可以通过location、rect方法获取对应列表的元素坐标,然后使用TouchAction或者swipe滑动需要的元素,这种通过坐标滑动的方式只能适用于原生App环境,webview环境获取的坐标与屏幕像素点不一致,具体介绍可以看我博客的上一篇文章。
Webview环境处理这种问题,可以使用TouchActions里面的flick_element()方法。
二、用到的方法
TouchActions里面的flick_element()方法是先找到元素,然后以元素中心为原点沿着X、Y轴移动像素点,不需要获取元素的坐标。
1、 flick_element(on_element, xoffset, yoffset, speed)
从 on_element 开始轻弹,然后以指定的速度移动 xoffset 和 yoffset。
参数:
- on_element: Flick 将从元素的中心开始。
- xoffset: X 轴偏移量
- yoffset: Y 轴偏移量
- speed: 每秒偏移的像素
上面的参数中on_element为定位到的元素对象。
xoffset、yoffset为偏移的像素点,原点是元素的中心,向右和向下偏移为正数、向左和向上偏移为负数。如下图:
Speed为每秒偏移的像素,也就是移动的速度,可以根据手机的性能来设置。
三、 示例
执行的代码:
from selenium.webdriver.common.touch_actions import TouchActions # 获取屏幕的宽度
width = driver.get_window_size()['width']
# 拖拽的元素
ele_str = driver.find_element(By.XPATH, "//span[text()='张三']/../following-sibling::div[@class='edit']")
# X负方向左滑宽度的40%,以每秒1000个像素点的速度移动
TouchActions(driver).flick_element(ele_str, -width * 0.4, 0, 1000).perform()
UI自动化测试:App的Webview页面元素左滑的更多相关文章
- UI自动化测试:App的WebView页面中,当搜索栏无搜索按钮时处理方法
一.遇到的问题 在做移动端的UI自动化测试时,经常会遇到上图所示的搜索框,这里有个麻烦就是搜索框没有"搜索"按钮,UI自动化测试时不能确认搜索. 要解决这个问题,我们可以通过 dr ...
- appium 无法通过工具定位webview页面元素的问题
app里面页面有原生和webview的,或者H5的 1.手机百度搜索结果页面 手机百度,点击搜索输入框,输入关键字点击搜索,出来的搜索结果页面,无法通过UI automator viewer来定位元素 ...
- web自动化测试---xpath方式定位页面元素
在实际应用中,如果存在多个相同元素,包括属性相同时,一般会选用这种方式,当然如果定位属性唯一的话,也是可以使用的,不过这种方式没有像id,tag,name等容易理解,下面讲下xpath定位元素的方法 ...
- web自动化测试---css方式定位页面元素
css方式定位的方法也有很多,相较于xpath更灵活一点,下面就介绍下使用方法(以百度输入框为例) 1.通过tag来定位,可以写成如下: driver.find_element_by_css_sele ...
- UI自动化测试(三)对页面中定位到的元素对象做相应操作
前两天分别讲述了UI自动化测试基础以及对页面元素该如何进行定位,这一篇自然就是对定位到的页面元素对象进行相应操作啦. 阅读目录 1.常用操作元素对象的方法 2.鼠标事件操作 3.键盘事件操作 4.We ...
- 如何找到Android app启动activity和页面元素信息
在实施app自动化的时候,我们需要知道app 的启动activity和页面元素信息,以此启动app和定位页面元素,那么如何在没有源码的情况下找打他们呢?当然是有好的工具啦,有Android sdk自带 ...
- UI自动化测试框架:关键字驱动+数据驱动
1. 关键字驱动框架简介 2. 工程结构说明 3. 工程代码实现 action 包 page_action.py business_process 包 case_process.py data_so ...
- Appium 基于控件左滑操作
def swipe_ele_left(self, ele, dur=800): """ 基于控件元素左滑操作 :param ele: 控件元素 :param dur: 在 ...
- uiautomator2+python自动化测试2-查看app页面元素利器weditor
前言 android sdk里面自带的uiautomatorviewer.bat可以查看手机app上的元素,但是不太好用,网上找了个大牛写的weditor,试用了下还是蛮不错的 python环境:3. ...
随机推荐
- 一个工业级、跨平台、轻量级的 tcp 网络服务框架:gevent
前言 作为公司的公共产品,经常有这样的需求:就是新建一个本地服务,产品线作为客户端通过 tcp 接入本地服务,来获取想要的业务能力.与印象中动辄处理成千上万连接的 tcp 网络服务不同,这个本地服务是 ...
- 解决微信官方SDK给出1.4.0等版本没有预览文件(previewFile)等接口
使用苹果手机测试 调用微信的js-sdk在系统中实现上传.预览附件的功能.在自己的手机测试通过后,直接丢给QA测试了 本以为相安无事了,没想到QA用安卓手机测的时候居然不得,使用的是下载下来的jwei ...
- 见微知著 带你透过内存看 Slice 和 Array的异同
hi, 大家好,我是 hhf. 有这么一个 Go 面试题:请说出 slice 和 array 的区别? 这简直就是送分题.现在思考一下,你咋样回答才能让面试官满意呢? 我这里就不贴这道题的答案了.但是 ...
- HTML基本语法(慕课网学习笔记)
标题 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...
- JAVA垃圾回收分代处理思想
原文链接:http://www.cnblogs.com/laoyangHJ/archive/2011/08/17/JVM.html JVM分代垃圾回收策略的基础概念 JVM分代垃圾回收策略的基础概念 ...
- C++笔记(11) 智能指针
1. 设计思想 智能指针是行为类似于指针的类对象,但这种对象还有其他功能.首先,看下面的函数: void remodel(std::string & str) { std::string * ...
- 深入Pulsar Consumer的使用方式&源码分析
原文链接 1.使用前准备 引入依赖: <dependency> <groupId>org.apache.pulsar</groupId> <artifactI ...
- linux centos 网卡有关调试
本文章出至于设置固定IP不起作用,名称也无法修改 1.设置网卡配置文件 打开文件 vi /etc/sysconfig/network-scripts/ifcfg-enp8s0 把NAME.DEVICE ...
- Jmeter HTML 报告、Jenkins 配置
目录 Jmeter 生成 HTML 测试报告 Jenkins 配置 Jmeter 生成 HTML 测试报告 JMeter 支持生成 HTML 测试报告, 以便从测试计划中获得图表和统计信息. 以上定义 ...
- golang中的三个点 ‘...‘ 的用法
'-' 其实是go的一种语法糖. 它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数. 第二个用法是slice可以被打散进行传递. 下面直接上例子: func test1( ...