屏幕页面滑动在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)
原文地址:https://www.cnblogs.com/suanmiaoup/p/12363789.html
时间: 2024-10-03 03:51:56