Appium 测试,实现上下、左右滑动页面【Android,iOS 已验证】
16lz
2021-01-24
Appium 测试,实现上下、左右滑动页面
原文:http://blog.csdn.net/liuy5277/article/details/48543225 作者:liuy5277
特别说明: 本文只适用于Appium 1.6.4及以下 ,请注意!
本人对原文做了部分修改,4个方法改成静态方法,这样使用的时候,不用new
说明: 这个方法是Android、iOS通用的,不过iOS需要修改下 AndroidDriver 为 IOSDriver
设计一个类 SwipeTo,4个静态方法(swipeToUp, swipeToDown, swipeToLeft, swipeToRight)代码如下:
package com.cheersqa;public class SwipeTo { public static void swipeToUp(AndroidDriver driver, int during){ int width = driver.manage().window().getSize().width; int height = driver.manage().window().getSize().height; driver.swipe(width / 2, height * 3/ 4, width /2 , height /4, during); } public static void swipeToDown(AndroidDriver driver, int during){ int width = driver.manage().window().getSize().width; int height = driver.manage().window().getSize().height; System.out.println(width ); System.out.println(height); driver.swipe(width / 2, height / 4, width /2 , height * 3 /4, during); } public static void swipeToLeft(AndroidDriver driver, int during){ int width = driver.manage().window().getSize().width; int height = driver.manage().window().getSize().height; driver.swipe(width * 3 / 4 , height / 2, width / 4, height / 2, during); } public static void swipeToRight(AndroidDriver driver, int during){ int width = driver.manage().window().getSize().width; int height = driver.manage().window().getSize().height; driver.swipe(width/4, height/2, width * 3 / 4, height / 2, during); } }
Appium在测试的时候,使用如下:
上滑 SwipeTo.swipeToUp(driver, 1000)
下滑 SwipeTo.swipeToDown(driver, 1000)
左滑 SwipeTo.swipeToLeft(driver, 1000)
右滑 SwipeTo.swipeToRight(driver, 1000)
左滑、右滑的补充说明:
有时候,上述 左滑、右滑 方法滑动幅度太小,针对有的app不能正确切换到相应的页面,滑动幅度需要调整下,如:
public static void swipeToLeft(AndroidDriver driver, int during){ int width = driver.manage().window().getSize().width; int height = driver.manage().window().getSize().height; driver.swipe(width -10, height / 2, width / 4, height / 2, during); } public static void swipeToRight(AndroidDriver driver, int during){ int width = driver.manage().window().getSize().width; int height = driver.manage().window().getSize().height; driver.swipe(10, height / 2, width* 3/4+10, height / 2, during); }
更多相关文章
- 详解android 接口回调
- Android中TouchEvent触摸事件机制
- Android(安卓)事件分发
- Android(安卓)开发之拦截EditText的输入内容,定制输入内容
- android 识别U盘以及读写文件的方法
- Android仿小米商城底部导航栏(基于BottomNavigationBar)
- Android四大组之ContentProvider
- Android(安卓)Dependencies小差号引起的问题
- [转]Android读写XML(中)——SAX