请问在浏览相册的时候相片的左右滑动如何实现?
swipe 方法
swipe 现在效果有待改善啊,移动的目标跟设定的坐标有比较大的出入
如果要是低于 1.0 的,可以使用 js 注入方式实现,下面是具体的代码实现:
那 slide() 方法里的 startX 、stertY 、endX 、endY、 time、 repStr 如何传参了?
问题已经解决了,谢谢。
swipe 方法会报这个错误,不知道为什么?
An unknown server-side error occurred while processing the command
貌似跟手机有关系 我同一个代码在别人的机器上可以的 在我这里就是报错:An unknown server-side error occurred while processing the command
我在系统设置界面用 adb shell input swipe 200 400 200 800 也看不到滑动效果,但是 adb shell input keyevent POWER 是有用的
楼上 @seveniruby 正解,最后一个参数大于 60 可以保证不抛异常,但不能保证效果。我的一个场景里有一个 4 个图像对象的 HORIZONTALSCROLL 对象,我本来计划从第 4 个对象的位置滑动到第一个对象的位置。结果跑 10 次 10 个滑动效果。最后决定一次只滑动一个对象间距。效果还可以。以下是代码:
WebElement e0 = getElementsByClassAndIndex(AndroidClassName.HORIZONTALSCROLL, 1).get(0);
List e1 = e0.findElements(By.className(AndroidClassName.IMAGEVIEW));
TouchAction act = new TouchAction(driver);
Point p0 = getCenterPoint(e1.get(3));// 自己写的获取元素中心点的方法。
Point p1 = getCenterPoint(e1.get(2));
driver.swipe(p0.x, p0.y, p1.x, p1.y, 200);
做个标记
我的 appium 版本是 1.2.3, duration 我也设置了 200 甚至 2000 我都试过
但是为什么还是报错:An unknown server-side error occurred while processing the command
有大神解答一下吗?
#6 楼 @cl51cl 把最后一个参数设置的大点就可以了. @lihuazhang
driver.swipe(100, 500, 100, 100, 200);