问题
在使用TouchAction类时提示请求的资源未找到或请求方法不支持。
代码:
TouchAction touchAction = new TouchAction(driver);
touchAction.tap(PointOption.point(seekBarCenterX, seekBarCenterY)).perform();
产生原因
新版本的java-client已经取消swipe方法,很多TouchAction类中的很多老方法也都已经弃用,如tap()
解决办法
查询官方文档得知appium 2.0后操作动作使用W3C,查询相关方法得到新的操作写法。
代码:
// 点击【滑动条】中间位置
PointerInput finger = new PointerInput(PointerInput.Kind.TOUCH, "finger");
Sequence sequence = new Sequence(finger, 1)
.addAction(finger.createPointerMove(Duration.ZERO, PointerInput.Origin.viewport(), seekBarCenterX, seekBarCenterY))
.addAction(finger.createPointerDown(PointerInput.MouseButton.LEFT.asArg()))
.addAction(finger.createPointerUp(PointerInput.MouseButton.LEFT.asArg()));
driver.perform(Collections.singletonList(sequence));
参考链接:
https://www.javadoc.io/doc/io.appium/java-client/latest/io/appium/java_client/TouchAction.html