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)

原文地址:https://www.cnblogs.com/suanmiaoup/p/12363789.html

时间: 2024-10-03 03:51:56

swipe()滑动屏幕的相关文章

RobotFramework:App滑动屏幕

转自:http://blog.csdn.net/jgw2008/article/details/77993399 在使用Robot Framework测试Android机器过程中, 经常要用到滚屏操作, 改如何实现这个效果呢? 其中一个方法, 就是使用关键字"Swipe", 这个关键字的效果类似模拟操作人员滑动屏幕的效果, 它有5个参数 ----start_x: 滑动开始的X坐标; ----start_y: 滑动开始的Y坐标; ----end_x: 滑动结束的X坐标; ----end_

javascript判断移动应用手势滑动屏幕方向

方案思路: 1.滑动屏幕事件使用HTML5 的 touchstart 滑动开始事件和 touchend 滑动结束事件. 2.方向的判断,以起点做平面坐标系,与终点连线做直线,直线与x正半轴计算角度:我们以45度角为方向分割线,如:只要滑动角度大于等于45度且小于135度,则判断它方向为向上滑. 3.使用Math.atan2()来计算起点与终点形成的直线角度. 4.仔细对比标准坐标系与屏幕坐标系,我们发现,标准坐标系,上半轴为负值,要实现转换,只需要调换Y坐标起点与终于位置即可. 代码实现: [网

Android监测手指上下左右滑动屏幕

在开发android程序时,有时会需要监测手指滑动屏幕,当手指朝上下左右不同方向滑动时做出不同的响应,那怎么去实现呢? 利用Android提供的手势监测器就可以很方便的实现,直接上代码(已测试通过) public class CbMainActivity extends Activity implements android.view.GestureDetector.OnGestureListener { //定义手势检测器实例 GestureDetector detector; @Overri

Android 播放电影时滑动屏幕调整屏幕亮度(转)

(转自:http://blog.csdn.net/piaozhiye/article/details/6544450) 发现有一些主流的播放器播放电影时可以通过滑动屏幕调整屏幕亮度,其实实现起来也很容易. 主要根据滑动的方向来设置屏幕亮度,以下这个demo实现向上滑动屏幕变亮,向下滑动则屏幕变暗.当的屏幕达到最亮或最暗(20%)的时候,设备会震动,代码简单,不多说. 同时设备震动需要有权限 <uses-permission android:name="android.permission.

实现滑动屏幕与底层滑动指标适配

首先是封装好的滑动指标类,具体首先创建一个画图类:SliderIndicator类,该类代码如下: //SliderIndicator.h #include "cocos2d.h" #include "ui/CocosGUI.h" USING_NS_CC; class SliderIndicator:public ui::Layout { public: CREATE_FUNC(SliderIndicator); virtual bool init(); CC_SY

手指滑动屏幕原理

//手指按下屏幕的点,抬起手指的点,按下的时间,抬起的时间 var startPoint=0; endPoint=0; startTime=0;   endTime=0; //touchstart事件 $(".xx").on("touchstart",function(event){ //每次重新滑动要清除上一次手指抬起的位置和时间 endPoint=0; endtime=0; startPoint=event.touches[0].clientY; startTi

移动应用滑动屏幕方向判断解决方案,JS判断手势方向

问题分类 滑动屏幕打开相应功能操作. 问题描述 1.用户手动滑动屏幕,根据滑动的方向,打开相应的功能(如:向上滑摇钱树经验明细,向下滑打开任务明细,向左滑打开聚宝盆物品查看等功能),滑动事件捕获问题. 2.大家都知道,划动都有角度问题,如:向330度方向滑动手机,要计算出它的方向问题. 3.HTML5提供的滑动事件,只能读取到起点和终点坐标,计算角度问题. 4.手机屏幕坐标与标准坐标系转换问题. 解决方案 1.滑动屏幕事件使用HTML5 的touchstart滑动开始事件和touchend滑动结

web自动化 -- js操作(滑动屏幕、修改页面)

一.selenium对  js  的操作方法 1.先定义  js 操作   或者  定义  目标元素 2.执行  js  操作:  driver.execute_script(js操作)    或者  driver.execute_script("js操作的固定写法", 目标元素) 二.  js 操作 可以在浏览器F12的  console 进行演示 三.移动屏幕至目标元素 from selenium import webdriver driver = webdriver.Chrome

swipe滑动操作

1.swipe() 滑动用法 Swipe(x1,y1,x2,y2,duration) x1-开始滑动的x坐标,y1-开始滑动的Y坐标 x2-结束点x坐标,y2-结束点y坐标 duration滑动事件(默认5毫秒) #coding=utf-8 from appium import webdriver import time # 定义启动设备需要的参数 desired_caps = { "platformName": "Android", #手机系统 "dev