Appium 按压元素进行滑动
一、介绍
手机APP中会有一些控件需要进行长按才能进行操作,例如:长按一些按钮进行拖动,从而完成控件的排序。Appium对这些操作进行了封装,我们在进行操作时,只需要使用TouchAction类即可进行相关的操作。
二、使用方法
首先,我们需要查找到进行操作的元素,调用TouchAction类的构造方法构造出一个此类对象,再调用此对象的longPress方法进行长按操作,然后根据我们的需求进行其他的操作,这里是滑动操作,因此再调用moveTo方法进行滑动,此处需要输入移动的终点坐标,这个需要根据具体业务需求来,然后释放,执行。具体代码如下所示:
//获取待操作元素
WebElement element = driver.findElementsByClassName("android.widget.LinearLayout").get(0);
WebElement dragElement = element.findElement(By.id("com.freshideas.airindex:id/drag_handle"));
//构造触摸对象
TouchAction touchAction = new TouchAction(driver);
//计算移动后的位置坐标
int pointX = dragElement.getLocation().getX();
int pointY = dragElement.getLocation().getY()+dragElement.getSize().getHeight() * 2;
//进行移动
touchAction.longPress(dragElement).moveTo(pointX,pointY).release().perform();
三、操作按钮图示
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL4lFRNBTV65EMJpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwATM4ETO1kTM3ATMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)