Appium java-client库更新到6.x后,滑动 swipe() 已弃用,且TouchAction类中很多方法也有改变。 根据官方文档 https://static.javadoc.io/io.appium/java-client/6.0.0-BETA2/io/appium/java_client/TouchAction.html
总的来看,弃用的是 press() longPress() moveTo() tap() 参数使用 x、y轴和webElement 的这种类型,和用到Duration类型的方法:
取而代之的是参数类型变了,涉及到XY轴定位的方法,参数使用了PointOption.point(X坐标, Y坐标);涉及到Duration的方法waitAction(),参数使用了WaitOptions.waitOptions(Duration.ofNanos(时间间隔))
其实 tap() press() longPress() 用新的定位参数是相似的,我们就看一个滑动的例子就明白了。
java-client 4.x 滑动 swipe() 案例:
driver.swipe(width * 3 / 4, height / 2, width / 4, height / 2, during);
java-client 6.x 滑动案例:
int nanos=(int) (second*1000);
TouchAction action = new TouchAction(driver).press(PointOption.point(width* 3/4,height/2)).waitAction(WaitOptions.waitOptions(Duration.ofNanos(nanos))).moveTo(PointOption.point(width/4, height/2)).release().perform();
另外记录一个Jenkins 在线打开乱码的小问题,修改一下浏览器的编码格式即可。