swipe()滑动屏幕

Posted suanmiaoup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swipe()滑动屏幕相关的知识,希望对你有一定的参考价值。

屏幕页面滑动在APP自动化测试中属于一个比较常见也比较特殊的操作。

 

通过查看swipe()方法的源码可以知道它一共有5个参数,分别为:

  • start_x:起点横坐标
  • start_y:起点纵坐标
  • end_x:终点横坐标
  • end_y:终点纵坐标
  • duration:滑动时间,单位毫秒

并且可以发现,它的本质其实是一个链式调用,从起点位置滑到终点位置,滑动时间为duration。

既然我们要使用,那肯定要给它传递坐标的参数, 那么起点坐标和终点坐标的位置怎么获得呢?

我们可以通过屏幕尺寸计算得到合适的坐标位置,

先获取屏幕的宽和高:

width = driver.get_window_size()[width] #
height = driver.get_window_size()[height] #

然后设计一个比较合适的起点和终点坐标,假设从屏幕一半高度的位置,距离屏幕右侧1/8处滑到距离屏幕左侧1/8处,滑动的整个过程耗时0.5秒,接下来计算出坐标:

start_x = width * 7 / 8
start_y = width / 2
end_x = width / 8
end_y = width / 2
duration = 500

最后就可以调用swipe()方法滑动屏幕了:

在做这一步之前,需要明白的是,屏幕滑动操作并不针对于某一个具体的元素,而是通过驱动调用的,所以代码如下:

driver.swipe(start_x, start_y, end_x, end_y, duration)

 

以上是关于swipe()滑动屏幕的主要内容,如果未能解决你的问题,请参考以下文章

ARITEST自动化笔记四:图像识别API-SWIPE滑动的使用

Appium滑动函数:Swipe

使用片段状态寻呼机适配器和 SQLite 数据库中的数据实现 swipe 接口时崩溃

Python+Appium自动化之swipe()滑动页面

autojs怎么上滑屏幕

Appium里面怎么实现 左右滑动屏幕