Appium处理滑动方法是swipe

滑动API:Swipe(int start x,int start y,int end x,int y,duration) 
解释: 
int start x-开始滑动的x坐标;
int start y -开始滑动的y坐标 ;
int end x -结束点x坐标;
int end y -结束点y坐标; 
duration 滑动时间(默认5毫秒)。

屏幕左上角为起点,坐标为(0,0),起点往右为Y轴,起点以下为X轴

微信来说,登录按钮起点和终点坐标分别为(63,1716)和(432,1860)

让apppium 更好的兼容不同分辨率的设备,在执行滑动前先获取屏幕的分辨率

1.屏幕分辨率

按照屏幕分辨率为终点坐标,比如你手机分辨率1080*1920,那么该手机坐标系的终点  是(1080*1920)

2.根据代码得到

int width = driver.manage().window().getSize().width;
int height = driver.manage().window().getSize().height;

现在介绍下自定义方法内的参数

driver(就是把appiumdriver对象传进来)

during(这里是填写毫秒数,这里的 毫秒数越小 滑动的速度越快~ 一般设定在500~1000,如果你想快速滑动 那就可以设置的更加小)

num(是只滑动的次数,如相册多张图片翻页测试什么的滑动或者滑动到列表底部。就直接输入次数就行了)

gosleep()是自己的封装了Thread.sleep方法,不懂的见以下链接 http://www.cnblogs.com/bamu/archive/2013/03/14/2959663.html

上滑 swipeToUp

public static void swipeToUp(AppiumDriver<WebElement> driver,int during, int num) {
int width = driver.manage().window().getSize().width;
int height = driver.manage().window().getSize().height;
for (int i = 0; i < num; i++) {
driver.swipe(width / 2, height * 3 / 4, width / 2, height / 4, duri
goSleep(3);
}
}

swipeToDown下拉

public static void swipeToDown(AppiumDriver<WebElement> driver,int during, int num) {
int width = driver.manage().window().getSize().width;
int height = driver.manage().window().getSize().height;
System.out.println(width);
System.out.println(height);
for (int i = 0; i < num; i++) {
driver.swipe(width / 2, height / 4, width / 2, height * 3 / 4, during);
goSleep(3);
}
}

swipeToLeft向左滑动

public static void swipeToLeft(AppiumDriver<WebElement> driver,int during, int num) {
int width = driver.manage().window().getSize().width;
int height = driver.manage().window().getSize().height;
for (int i = 0; i < num; i++) {
driver.swipe(width * 3 / 4, height / 2, width / 4, height / 2, during);
goSleep(3);
}
}

swipeToLeft向左滑动

public static void swipeToRight(AppiumDriver<WebElement> driver,int during, int num) {
int width = driver.manage().window().getSize().width;
int height = driver.manage().window().getSize().height;
for (int i = 0; i < num; i++) {
driver.swipe(width / 4, height / 2, width * 3 / 4, height / 2, during);
goSleep(3);
}
}

 

Appium滑动函数:Swipe()的更多相关文章

  1. Appium 滑动界面swipe用法

    Appium 滑动API:Swipe(int start x,int start y,int end x,int y,duration) 解释:int start x-开始滑动的x坐标, int st ...

  2. Python+Appium自动化测试(8)-swipe()滑动页面

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

  3. appium滑动操作(向上、向下、向左、向右)

    appium滑动操作(向上滑动.向下滑动.向左滑动.向右滑动) 测试app:今日头条apk 测试设备:夜游神模拟器 代码如下: 先用x.y获取当前的width和height def getSize() ...

  4. Python Appium 滑动、点击等操作

    Python Appium 滑动.点击等操作 1.手机滑动-swipe # FileName : Tmall_App.py # Author : Adil # DateTime : 2018/3/25 ...

  5. Appium python自动化测试系列之滑动函数封装实战(八)

    8.1 什么是函数的封装 教科书上函数的封装太官方,我们这里暂且将函数的封装就是为了偷懒把一些有共性的功能或者一些经常用的功能以及模块放在一起,方便我们以后再其他地方调用.这个只是个人的理解所以大家懂 ...

  6. python+Appium自动化:app滑动操作swipe

    swipe Appium使用滑动操作用到了swipe方法,定义如下: swipe(self, start_x, start_y, end_x, end_y, duration=None) 从一个点滑动 ...

  7. appium java 滑动(js滑动和swipe滑动)

    最近有一个页面的内容很多,有的元素需要滑动到底部才能看到,所以就研究一下滑动,下面是我学习到的两种滑动方式 一:用js滑动 用js滑动的思路是很简单,首先是先定位到这个元素,定位到之后不做任何操作,然 ...

  8. appium 滑动

    前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:htt ...

  9. HTML5滑动(swipe)事件

    移动H5开发中经常用到滑动效果(页面上移.下移.向左滑动.向右滑动等),浏览器并没有内置swipe事件,可以通过touch事件(touchstart.touchmove和touchend)模拟swip ...

随机推荐

  1. maven配置本地和远程仓库

    maven项目中我们不用挨个导入jar包,那这些Jar包从哪里来呢?当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库 ...

  2. いくnotepad++

    再见!Notepad++,好走不送! 1No zuo No Die 上周就发现Notepad++开发者在作妖,新版本放了个啥恶心的标注上来,本来想直接发文说一说,后来想想是不是这样又给它做了宣传,就决 ...

  3. Java实战|Tomcat+Servlet+Sql开发简单网站,从配置环境开始

    课题描述: Java实验五 Servlet (继续使用实验四中创建的students数据库和其中的scores表) 使用Tomcat作为Web服务器和Servlet容器,使用SQL Server/My ...

  4. bzoj1812 [IOI2005]riv河流

    题目链接 problem 给出一棵树,每个点有点权,每条边有边权.0号点为根,每个点的代价是这个点的点权\(\times\)该点到根路径上的边权和. 现在可以选择最多K个点.使得每个点的代价变为:这个 ...

  5. 洛谷 P5690 [CSP-SJX2019]日期

    传送门 思路 大水题一道,判断一下即可 输入直接用快读读两个数就行了,不需要读一个\(char\)类型的字符 年月不能为\(0\),月份不能超过\(12\),天数不能超过\(31\) 另外在二月天数的 ...

  6. nui-app 笔记

    https://uniapp.dcloud.io

  7. Mixin Messenger 源码解读 1 — — WCDB Swift

    Mixin Messenger 早期采用 FMDB 后来切换至 WCDB 沿用至今,一直比较可靠稳定,这里分享一下使用心得和功能扩展. 关于 Mixin Messenger Mixin Messeng ...

  8. 【Sublime Text】sublime修改默认浏览器及使用不同浏览器打开网页的快捷键设置

    #第一步:安装SideBarEnhancements插件 下载插件,需要“翻墙”,故提供一下该插件的github地址:https://github.com/titoBouzout/SideBarEnh ...

  9. P3376 网络最大流模板(Dinic + dfs多路增广优化 + 炸点优化 + 当前弧优化)

    ### P3376 题目链接 ### 这里讲一下三种优化的实现以及正确性. 1.dfs多路增广优化 一般的Dinic算法中是这样的,bfs() 用于标记多条增广路,以至于能一次 bfs() 出多次 d ...

  10. Oracle数据 查询操作日志

    SELECT t.SQL_TEXT, t.FIRST_LOAD_TIME,t.PARSING_SCHEMA_NAME FROM v$sqlarea t WHERE t.SQL_TEXT LIKE 'D ...