金阳光测试吧 关注:511贴子:1,320
  • 2回复贴,共1

Appium 的控件滑动操作如何用

只看楼主收藏回复

WebElement slider=driver.findElement(By.name("4008033555"));
//获取控件起始X 坐标
int xAxisStartPoint = slider.getLocation().getX();
System.out.println("起始坐标为"+xAxisStartPoint);
// 获取控件最大宽度
int xAxisEndPoint = xAxisStartPoint + slider.getSize().getWidth();
System.out.println("结束坐标为"+xAxisEndPoint);
//获取控件的高度
int yAxis = slider.getLocation().getY();
System.out.println("高度为"+yAxis);
TouchAction act=new TouchAction(driver);
//执行拖动操作从控件的起始x 坐标滑动到控件的最大宽度的位置
act.press(xAxisEndPoint-20,yAxis+20).moveTo(xAxisStartPoint+10,yAxis+20).release().perform();
我用这种方式,画面并没有滑动,而是执行了个长按操作
但是我将上面那个滑动操作改成这样
driver.swipe(xAxisEndPoint-20,yAxis+20, xAxisStartPoint+10,yAxis+20, 1000);
能看到滑动效果
金老师能提点下是什么原因吗,看起来 TouchAction 中的 release() 方法没起到作用


IP属地:上海1楼2015-11-05 17:38回复
    你这个问题在其他自动化框架我也遇到过,就是长按down,不去up。
    我觉得是:遇到这种情况就是工具和你目前Android操作系统指令定义不符合。肯定是工具本身兼容性不好了。这个时候你就得用其他方法代替,比如用drag操作。


    IP属地:北京2楼2015-11-05 17:50
    回复
      实现了吗 我现在也遇到这个问题了


      5楼2016-12-12 19:49
      回复