首页 技术 正文
技术 2022年11月21日
0 收藏 502 点赞 3,458 浏览 906 个字

 

一、前言

在做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()
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,910
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,435
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,250
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,061
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,693
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,731