今天使用appium 6.1.0 java客户端,发现长按longpress(element),无法使用。如下代码在5.0.4 版本是可以正常运行的,
WebElement noteDelete = driver.findElementByXPath("//android.widget.ListView[@resource-id='android:id/list']/android.widget.RelativeLayout[1]"); int x = noteDelete.getLocation().getX(); int y = noteDelete.getLocation().getY(); TouchAction action = new TouchAction(driver); Duration duration = Duration.ofMillis(2000); //按压1秒 action.press(x,y).waitAction(duration).moveTo(x,y).release().perform(); //方式一 长按和滑动都适用 action.longPress(noteDelete).release().perform(); //方式二 长按
这段代码再6.1.0是无法使用的,最后安装api提示,修改代码如下,longpress 和press 都可以,实际使用选中一种方法就可以了
WebElement noteDelete = driver.findElementByXPath("//android.widget.ListView[@resource-id='android:id/list']/android.widget.RelativeLayout[1]"); int x = noteDelete.getLocation().getX(); int y = noteDelete.getLocation().getY(); Duration duration = Duration.ofMillis(2000); TouchAction action = new TouchAction(driver); action.longPress(PointOption.point(x,y)).release().perform(); //长按 action.press(PointOption.point(x,y)) //长按和滑动都适用 .waitAction(WaitOptions.waitOptions(duration)) .moveTo(PointOption.point(x,y)) .release() .perform();