Appium 中的 waitAction(Duration) 不起作用

Posted

技术标签:

【中文标题】Appium 中的 waitAction(Duration) 不起作用【英文标题】:waitAction(Duration) in Appium is not working 【发布时间】:2017-10-01 14:22:27 【问题描述】:

我正在处理一个动作,我是否必须长按一个网页元素才能获得contextMenu

下面是我的示例代码:

TouchAction t = new TouchAction(driver);t.press(driver.findElementByXPath("//android.widget.TextView[@text='People Names']")).waitAction(3000).release() .perform();

但奇怪的是,waitAction(Duration) 不起作用。

错误提示“TouchAction 类型中的方法waitAction(Duration) 不适用于arguments (int)

【问题讨论】:

【参考方案1】:

尝试使用 t.longPress(driver.findElementByXPath("//android.widget.TextView[@text='People Names']")).release().perform();

我还添加了最新的 Java Appium 客户端库 (selenium-java-3.6.0)

【讨论】:

【参考方案2】:

你可以试试这段代码,Duration 类对 ms、second、min 等有不同的功能。下面的代码使用 3000 ms 等待时间

    TouchAction t =new TouchAction(driver);

    t.press(
       driver.findElementByXPath("//android.widget.TextView[@text='People Names']")
    ).waitAction(Duration.ofMillis(3000)).release().perform();

【讨论】:

【参考方案3】:

试试这个

TouchAction t = new TouchAction(driver);
t.press(driver.findElementByXPath("//android.widget.TextView[@text='People Names']")).waitAction(Duration.ofMillis(3000)).release().perform();

它有效。只需导入持续时间!

【讨论】:

【参考方案4】:

试试这个

action1.press(X1, Y1).waitAction(java.time.Duration.ofMillis(5000)).release()

【讨论】:

他为什么要这么做?请更详细地解释这将如何解决问题。

以上是关于Appium 中的 waitAction(Duration) 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

appium如何打开Genymotion(android)中的UC浏览器

appium 检查器中的无限循环

如何从APPIUM中的脚本滚动列表

枚举 Appium 的 Selenium Python 绑定中的所有元素

使用移动设备滚动日期选择器:appium 中的 selectPickerWheelValue

关于appium中的Multiaction的用法