Java 如何使用坐标和appium滚动

Java 如何使用坐标和appium滚动,java,android,selenium,automation,appium,Java,Android,Selenium,Automation,Appium,我正在尝试使用下面的方法在本地android应用程序中滚动 Dimension size = driver.manage().window().getSize(); int starty = (int) (size.height * 0.80); int endy = (int) (size.height * 0.20); int startx = size.width / 2; driver.swipe(startx, starty, startx, endy, 3000); Thread.

我正在尝试使用下面的方法在本地android应用程序中滚动

Dimension size = driver.manage().window().getSize();
int starty = (int) (size.height * 0.80);
int endy = (int) (size.height * 0.20);
int startx = size.width / 2;

driver.swipe(startx, starty, startx, endy, 3000);
Thread.sleep(2000);
但是在
driver.swipe
时,它会给我一个错误

类型AndroidDriver的方法swipe(int,int,int,int,int,int)未定义


有人能帮我修一下吗?我一直在寻找解决方案,但运气不佳。

您可以使用
触摸操作
。轻扫

TouchAction action = new TouchAction(driver);
action.press(x, y).moveTo(x, y).release().perform();
您还可以使用
PointOption
实现
xy
,如下所示:

  • 。按(new PointOption()。带坐标(x,y))

  • 。按(点选项。点(x,y))

  • 以下内容:

    import io.appium.java_client.TouchAction;
    


    尝试这种方法,而不是appium方法

    JavascriptExecutor js = (JavascriptExecutor) driver;
    HashMap<String, String> scrollObject = new HashMap<>();
    scrollObject.put("direction", "down");
    js.executeScript("mobile: swipe", scrollObject);
    
    JavascriptExecutor js=(JavascriptExecutor)驱动程序;
    HashMap scrollObject=新建HashMap();
    滚动对象。放置(“方向”,“向下”);
    js.executeScript(“移动:滑动”,scrollObject);
    
    hey bro它说类型TouchAction中的方法press(PointOption)不适用于参数(int,int)
    press(PointOption)
    尝试使用此值插入:
    press(new PointOption().withCoordinates(value,value))
    。谢谢bro,这是可行的,但是你知道有没有办法让它滚动得更慢一些吗?它的滚动速度非常快,如下所示:
    。按(…)。等待操作(持续时间为秒(2))。移动到(…)
    。您需要导入:
    import java.time.Duration