网上很多文章都说用swipe来左右滑动,你把代码一贴,结果报错,看半天,原来是java-client中swipe早就被废除了!!!下面介绍一种Java写法来左右上下滑动:
首先,创建一个Swipe类
import org.openqa.selenium.Dimension;
import io.appium.java_client.TouchAction;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.touch.offset.PointOption;
public class Swipe {
// 上滑
public void SwipeUp(AndroidDriver driver) {
Dimension size = driver.manage().window().getSize();
int height = size.height;
int width = size.width;
new TouchAction(driver).longPress(PointOption.point(width / 2, 100))
.moveTo(PointOption.point(width / 2, height - 100)).release()
.perform();
}
// 下滑
public void SwipeDown(AndroidDriver driver) {
Dimension size = driver.manage().window().getSize();
int height = size.height;
int width = size.width;
new TouchAction(driver)
.longPress(PointOption.point(width / 2, height - 100))
.moveTo(PointOption.point(width / 2, 100)).release().perform();
}
// 左滑
public void SwipeLeft(AndroidDriver driver) {
Dimension size = driver.manage().window().getSize();
int height = size.height;
int width = size.width;
new TouchAction(driver)
.longPress(PointOption.point(width - 100, height / 2))
.moveTo(PointOption.point(100, height / 2)).release().perform();
}
// 右滑
public void SwipeRight(AndroidDriver driver) {
Dimension size = driver.manage().window().getSize();
int height = size.height;
int width = size.width;
new TouchAction(driver).longPress(PointOption.point(100, height / 2))
.moveTo(PointOption.point(width - 100, height / 2)).release()
.perform();
}
}
那么,在测试类里就可以进行调用
public static AndroidDriver driver;
Swipe swipe=new Swipe();
swipe.SwipeLeft(driver);
当然,也可以尝试将longpress换成press,前提是你的测试机足够灵敏~~
转自:https://blog.youkuaiyun.com/hualf/article/details/78810294