gpt4 book ai didi

java - Android for Java-Client-5.0.3 中的滑动功能不起作用

转载 作者:行者123 更新时间:2023-11-30 06:15:46 26 4
gpt4 key购买 nike

我在Android移动自动化测试中使用以下代码进行页面滑动,不支持滑动功能。它给出了错误:

The method swipe(int, int, int, int, int) is undefined for the type AppiumDriver

下面是代码

public static void Swipe(String Direction) throws Exception,IOException{
if(Direction.equalsIgnoreCase("Right to Left")){
AgenceGS_Framwork.driver.context("NATIVE_APP");
Dimension size = AgenceGS_Framwork.driver.manage().window().getSize();
int startx = (int) (size.height * 0.8);
int endx = (int) (size.height * 0.20);
int starty = size.width / 2;
//Mobile_Framwork.driver.swipe(startx, starty, endx, starty, 1000);
AgenceGS_Framwork.driver.swipe(endx, starty, startx, starty, 2000);
AgenceGS_Framwork.switchWebview("android.webkit.WebView");
}
if(Direction.equalsIgnoreCase("Left to Right")){
AgenceGS_Framwork.driver.context("NATIVE_APP");
Dimension size = AgenceGS_Framwork.driver.manage().window().getSize();
int endx = (int) (size.width * 0.8);
System.out.println("start width");
int startx = (int) (size.width * 0.20);
System.out.println("start width");
int starty = size.height / 2;
AgenceGS_Framwork.driver.swipe(startx, starty, endx, starty, 1000);
AgenceGS_Framwork.switchWebview("android.webkit.WebView");
}
if(Direction.equalsIgnoreCase("Coordinate Scroll")){
AgenceGS_Framwork.driver.context("NATIVE_APP");
TouchAction touch=new TouchAction(AgenceGS_Framwork.driver);
touch.longPress(664,600).moveTo(664, 100).release().perform();
AgenceGS_Framwork.switchWebview("android.webkit.WebView");
}
}

最佳答案

检查一下,它将帮助您进行页面滑动(适用于 Java 客户端 5.0.3),它对我来说非常有效。

public static void swipeHorizontal(AppiumDriver driver, double startPercentage, double finalPercentage, double anchorPercentage, int duration) throws Exception {
Dimension size = driver.manage().window().getSize();
int anchor = (int) (size.height * anchorPercentage);
int startPoint = (int) (size.width * startPercentage);
int endPoint = (int) (size.width * finalPercentage);
new TouchAction(driver).press(startPoint, anchor).waitAction(Duration.ofMillis(duration)).moveTo(endPoint, anchor).release().perform();
}


public static void swipeVertical(AppiumDriver driver, double startPercentage, double finalPercentage, double anchorPercentage, int duration) throws Exception {
Dimension size = driver.manage().window().getSize();
int anchor = (int) (size.width * anchorPercentage);
int startPoint = (int) (size.height * startPercentage);
int endPoint = (int) (size.height * finalPercentage);
new TouchAction(driver).press(anchor, startPoint).waitAction(Duration.ofMillis(duration)).moveTo(anchor, endPoint).release().perform();
}

通过以下方式调用他们:

向上滚动:swipeVertical((AppiumDriver)driver,0.9,0.1,0.5,3000);

向下滚动:swipeVertical((AppiumDriver)driver,0.1,0.9,0.5,3000);

从右到左:swipeHorizo​​ntal((AppiumDriver) driver,0.9,0.01,0.5,3000);

从左到右:swipeHorizo​​ntal((AppiumDriver) driver,0.01,0.9,0.5,3000);

关于java - Android for Java-Client-5.0.3 中的滑动功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49233444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com