简介

我们在做移动端自动化测试的时候,有些按钮在当前屏幕不显示,需要滑动几次屏幕后才会出现或者有些操作需要滑动屏幕,这时候,我们需要使用代码来模拟手指的滑动,本次我们先讲解Appium 里面滑动swipe方法使用

手机上坐标说明

手机从左上角开始为0,横着的是x轴,竖着的是y轴

swipe介绍

说明

从一个坐标位置滑动到另一个坐标位置,只能是两个点之间的滑动。

方法详情

    def swipe(self: T, start_x: int, start_y: int, end_x: int, end_y: int, duration: int = 0) -> T:"""Swipe from one point to another point, for an optional duration.Args:start_x: x-coordinate at which to startstart_y: y-coordinate at which to startend_x: x-coordinate at which to stopend_y: y-coordinate at which to stopduration: time to take the swipe, in ms.Usage:driver.swipe(100, 100, 100, 400)Returns:Union['WebDriver', 'ActionHelpers']: Self instance"""actions = ActionChains(self)actions.w3c_actions = ActionBuilder(self, mouse=PointerInput(interaction.POINTER_TOUCH, "touch"))actions.w3c_actions.pointer_action.move_to_location(start_x, start_y)actions.w3c_actions.pointer_action.pointer_down()actions.w3c_actions.pointer_action.pause(duration / 1000)actions.w3c_actions.pointer_action.move_to_location(end_x, end_y)actions.w3c_actions.pointer_action.release()actions.perform()return self

核心参数说明:
:Args:
- start_x - 开始滑动的x坐标
- start_y - 开始滑动的y坐标
- end_x - 结束点x坐标
- end_y - 结束点y坐标
- duration - 持续时间,单位毫秒,默认为 0 ms

实战

  • 从坐标点(400, 700)滑动到坐标点(400,200),duration=0

    driver.swipe(start_x=400, start_y=700, end_x=400, end_y=200)

  • 从坐标点(400, 700)滑动到坐标点(400,200),duration=500

    driver.swipe(start_x=400, start_y=700, end_x=400, end_y=200,duration=500)

  • 从坐标点(400, 700)滑动到坐标点(400,200),duration=2000

    driver.swipe(start_x=400, start_y=700, end_x=400, end_y=200,duration=2000)

  • 从坐标点(400, 700)滑动到坐标点(400,600),duration=500

    driver.swipe(start_x=400, start_y=700, end_x=400, end_y=200,duration=500)

  • 从坐标点(400, 700)滑动到坐标点(400,400),duration=500

    driver.swipe(start_x=400, start_y=700, end_x=400, end_y=200,duration=500)

  • 从坐标点(400, 700)滑动到坐标点(400,200),duration=500

    driver.swipe(start_x=400, start_y=700, end_x=400, end_y=200,duration=500)

结论

  • 距离相同时,持续时间越长,惯性越小
  • 持续时间相同时,手指滑动的距离越大,实际滑动的距离也就越大

以上为内容纯属个人理解,如有不足,欢迎各位大神指正!

如果觉得文章不错,欢迎关注微信公众号,微信公众号定期推送相关测试技术文章

Appium 自动化测试 滑动 Swipe 详解相关推荐

  1. python客户端自动化测试滚轮移到最上面_Python+Appium自动化测试(8)-swipe()滑动页面...

    app自动化测试过程中,经常会遇到滑动屏幕操作,appium框架的话我们可以使用webdriver提供的swipe()方法来对屏幕页面进行上滑.下滑.左滑.右滑操作. 一,swipe方法介绍 swip ...

  2. Android自动化测试框架uiautomator2详解

    1 uiautomator2 简介 uiautomator2 是 一种 Android 自动化测试框架,提供了点击.长按.输入文本.滑动.拖拽.截屏等方法,能够模拟用户的各种动作.用户可以通过控件的 ...

  3. python+requests接口自动化测试框架实例详解教程(米兔888)

    来源:https://my.oschina.net/u/3041656/blog/820023 源码:https://pan.baidu.com/s/1lgIEToiczTvvjy--p-N20g 提 ...

  4. python3接口自动化测试_【python3+request】python3+requests接口自动化测试框架实例详解教程...

    前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...

  5. python+requests接口自动化测试框架实例详解教程(米兔888)【适合半年或一年以上天天做自动化经验的大神下载使用】

    来源:https://my.oschina.net/u/3041656/blog/820023 源码地址,需要的回复评论留下邮箱 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测 ...

  6. android自动化测试案例全过程详解,Robot Framework+adb实现Android设备自动化测试案例①——项目介绍...

    一.项目背景 本项目主要是分享Android设备实现自动化测试,该Android设备是一台行程记录仪,因无法定位到元素(开发也没有定义元素),所以流行的Uiautomator.Appium等框架是不能 ...

  7. python+requests接口自动化测试框架实例详解教程

    前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...

  8. 全网独一份python+requests接口自动化测试框架实例详解教程

    前言 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接 ...

  9. tcp欢动窗口机制_TCP协议中的窗口机制------滑动窗口详解

    一.窗口机制的分类 在TCP协议当中窗口机制分为两种: 1.固定的窗口大小 2.滑动窗口 二.固定窗口存在的问题 如下图所示: 我们假设这个固定窗口的大小为1,也就是每次只能发送一个数据,只有接收方对 ...

  10. tcp 协议中发送窗口的大小应该是_面试必备--TCP协议中的窗口机制滑动窗口详解...

    窗口机制分类 在TCP协议当中窗口机制分为两种: 1.固定的窗口大小 2.滑动窗口 固定窗口存在的问题 我们假设这个固定窗口的大小为1,也就是每次只能发送一个数据,只有接收方对这个数据进行了确认后才能 ...

最新文章

  1. oracle元数据存储在表空间,[Oracle] dbms_metadata.get_ddl 的使用方法总结
  2. OpenCV中IplImage/CvMat/Mat转化关系
  3. 最简单的语言来说JAVA中的NEW到底怎么搞
  4. TCC分布式实现原理及分布式应用如何保证高可用
  5. Frida Android hook
  6. 【英语学习】【English L06】U04 Adventure L6 My favorite tourist destination
  7. 快速通过软件设计师考试方法
  8. python api接口10060_Python web抓取[错误10060]
  9. 软件需求规格说明书范例
  10. Fiddler中文乱码解决方法
  11. novatel计算odom--GPS坐标与UTM坐标转换
  12. lpc1788的地址空间分配
  13. excel 姓名汉字转拼音
  14. React项目实战(一)
  15. java线上培训班学费一般多少,成长路线图
  16. 安装油猴(Tampermonkey)插件,让你的浏览器更强大
  17. redis存短信验证码,取短信验证码
  18. oracle中的INTERVAL函数用法
  19. Linux服务器间传文件SCP命令使用方法
  20. 隧道放样方法+超欠挖计算方法+程序

热门文章

  1. XMLConstants.FEATURE_SECURE_PROCESSING错误
  2. python判断英文字母_python判断字符串中是否含有英文 | 张先生博客
  3. 3d游戏建模学习心得,自学maya,zbrush,substance一个月的感想
  4. used in key specification without a key length
  5. 网站移动端和pc端服务器是分开的,PC端和移动端选择哪种URL路径比较好
  6. 钢琴作品常用体裁名称及曲式
  7. 新手怎样安装win10系统?win10系统安装教程解读
  8. web服务器软件有哪些?带你快速了解
  9. ChemDraw中如何旋转结构
  10. python大数据之缺省值处理