appium swipe

appium的driver.swipe(…)在新版本中已经Deprecated,官方文档推荐使用TouchAction,实际应用中发现这也是个坑。

1
2
3
action.press(startx, starty).waitAction(Duration.ofMillis(500))
.moveTo(deltax, deltay).waitAction(Duration.ofMillis(500))
.release().perform();

如上code,在iOS上直接报错,去掉waitAction才可以。
在Android上面执行,页面很容易因为滑动惯性而直接滑动到底部(对比iOS去掉waitAction也没有惯性滑动),必须加大等待时间,如2秒。也可以在滑动之后通过点击屏幕阻止惯性滑动,press(startX, StartY).moveTo(deltaX, deltaY).release().press(x,y).release().perform(),但后者在实际执行中有一定几率不能即时停止滑动。