在时代长按AndroidElement

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在时代长按AndroidElement相关的知识,希望对你有一定的参考价值。

我真的想在Appium上androidElement执行长按动作。我发现的是,我需要执行此元素的TouchAction,但是...只需要作为参数webdriver的,那我真的不使用AndroidDriver。出于这个原因,它不会工作。

    TouchAction action = new TouchAction(AndroidDriver);
    action.longPress(element, 10000);

我一直在寻找一些答案了一段时间。长按(或类似的东西)是在我写,现在一个实验中使用。

答案

尝试这个。

TouchAction action = new TouchAction();
action.longPress(webElement).release().perform();
另一答案

解决方法可能是io.appium.java_client.MultiTouchAction的使用。

MultiTouchAction multiTouch = new MultiTouchAction(AndroidDriver);
multiTouch.add(createTap(element, duration));
multiTouch.perform();
另一答案

下面的代码将执行单一的水龙头,长按为Android应用程序的时间特定的时期

利用它,

package com.prac.com;

import java.net.MalformedURLException;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebElement;

import io.appium.java_client.TouchAction;
import static io.appium.java_client.touch.TapOptions.tapOptions;
import static io.appium.java_client.touch.LongPressOptions.longPressOptions;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import static java.time.Duration.ofSeconds;
import static io.appium.java_client.touch.offset.ElementOption.element;


    public class UdmeyCode extends Demo4TestBase 

        public static void main(String[] args) throws MalformedURLException 
            // TODO Auto-generated method stub
            AndroidDriver<AndroidElement> driver=Capabilities();
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            driver.findElementByXPath("//android.widget.TextView[@text='Views']").click();
            //Tap
            TouchAction t =new TouchAction(driver);
            WebElement expandList=  driver.findElementByXPath("//android.widget.TextView[@text='Expandable Lists']");
            t.tap(tapOptions().withElement(element(expandList))).perform();
            driver.findElementByXPath("//android.widget.TextView[@text='1. Custom Adapter']").click();
        WebElement pn=  driver.findElementByXPath("//android.widget.TextView[@text='People Names']");

            t.longPress(longPressOptions().withElement(element(pn)).withDuration(ofSeconds(2))).release().perform();
            //Thread.sleep(2000);
            System.out.println(driver.findElementById("android:id/title").isDisplayed());







        

    

以上是关于在时代长按AndroidElement的主要内容,如果未能解决你的问题,请参考以下文章

大数据时代,你的隐私如何被泄露?可以说是非常“黑镜”了

大咖讲堂175期 | 马哥金牌讲师为你讲解saltstack自动化运维

COCO图像识别

业余时间做哪些小事可以让自己有巨大改变?

c语言 键盘长按

使用 jQuery 在 Android 上确定长按(长按、按住)