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);
}