java appium客户端 6.1.0android长按及滑动变更

Posted testway

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java appium客户端 6.1.0android长按及滑动变更相关的知识,希望对你有一定的参考价值。

今天使用appium 6.1.0 java客户端,发现长按longpress(element),无法使用。如下代码在5.0.4 版本是可以正常运行的,

        WebElement noteDelete = driver.findElementByXPath("//android.widget.ListView[@resource-id=‘android:id/list‘]/android.widget.RelativeLayout[1]");
        int x  = noteDelete.getLocation().getX();
        int y  = noteDelete.getLocation().getY();
        TouchAction action = new TouchAction(driver);
        Duration duration = Duration.ofMillis(2000);    //按压1秒
        action.press(x,y).waitAction(duration).moveTo(x,y).release().perform();   //方式一 长按和滑动都适用
        action.longPress(noteDelete).release().perform();   //方式二 长按

这段代码再6.1.0是无法使用的,最后安装api提示,修改代码如下,实际适用选中一种方法就可以了

        WebElement noteDelete = driver.findElementByXPath("//android.widget.ListView[@resource-id=‘android:id/list‘]/android.widget.RelativeLayout[1]");
        int x = noteDelete.getLocation().getX();
        int y = noteDelete.getLocation().getY();
        Duration duration =  Duration.ofMillis(2000);
        TouchAction action = new TouchAction(driver); 
        action.longPress(PointOption.point(x,y)).release().perform();  //长按

        action.press(PointOption.point(x,y))   //长按和滑动都适用
                .waitAction(WaitOptions.waitOptions(duration))  
                .moveTo(PointOption.point(x,y))
                .release()
                .perform();

 

以上是关于java appium客户端 6.1.0android长按及滑动变更的主要内容,如果未能解决你的问题,请参考以下文章

Mac + Appium + Java1.8学习之Android自动化环境安装配置以及IDEA配置(附录扩展Selenium+Java自动化)

Appium 服务器初始化参数

我想在 Android、java 客户端 v-5.0.4 和 appium v​​-1.7.1 中使用 appium 向下滚动到特定元素

使用 appium 访问 Android 设置中的切换按钮,而客户端是用 groovy 和 java 编写的

Android测试第十四节Appium——简述

基于appium快速实现H5自动化测试