android appium中不支持滑动方法

android appium中不支持滑动方法,android,selenium,appium,Android,Selenium,Appium,我在android中尝试了滑动方法,但不起作用 代码:- public void swipe() { JavascriptExecutor js = (JavascriptExecutor) driver; HashMap < String, Double > swipeObject = new HashMap < String, Double > (); swipeObject.put("startX", 0.95); swipeObje

我在android中尝试了滑动方法,但不起作用

代码:-

public void swipe() {
    JavascriptExecutor js = (JavascriptExecutor) driver;
    HashMap < String, Double > swipeObject = new HashMap < String, Double > ();
    swipeObject.put("startX", 0.95);
    swipeObject.put("startY", 0.5);
    swipeObject.put("endX", 0.05);
    swipeObject.put("endY", 0.5);
    swipeObject.put("duration", 1.0);
    js.executeScript("emulator: swipe", swipeObject);
}

任何帮助都是很好的提示。

检查一次您的坐标,如果您可以访问mac,请从appium inspector获取坐标


要使滑动正常工作,最短时间值应为500,您可以发布完整的日志吗?

在web视图上未实现/支持滑动,请在执行滑动之前检查上下文并将其更改为本机,您可以在滑动后恢复到web视图。

将上下文更改为
本机应用程序
对我有效:

String originalContext = driver.getContext();
driver.context("NATIVE_APP");
driver.swipe(startx, starty, endx, endy, duration);
driver.context(originalContext );

您是否尝试了驱动程序。滑动(startx、starty、endx、endy、duration)?是的,尝试过,但出现了相同的问题。对我来说,滑动方法正在工作…你能分享你的屏幕绑定值的屏幕截图吗?因为我过去也面临同样的问题,因为传递的坐标不正确。还要确保您已将java.client最新JAR导入到您的项目中。我已使用上述坐标调用了swipe(),但仍然存在问题。您是否将客户端JAR文件集成到您的项目中?对我来说,它可以工作-正如您所说,我们需要在滑动之前切换到本机上下文,但硬编码x,y不是最佳方式。我已尝试获取要交换的元素的坐标:int startx=msg.getLocation().getX();int starty=msg.getLocation().getY();但它返回的坐标不是绝对坐标,而是相对于浏览器视图的坐标
String originalContext = driver.getContext();
driver.context("NATIVE_APP");
driver.swipe(startx, starty, endx, endy, duration);
driver.context(originalContext );