【问题标题】:Swipe for specific duration with Appium Java client 6.0.0使用 Appium Java 客户端 6.0.0 滑动特定持续时间
【发布时间】:2018-04-02 02:31:48
【问题描述】:

Appium Java 客户端版本 6.0.0 删除了 driver.swipe(fromX, toX, fromY, toY, duration) API。据我所知,我们现在应该使用 TouchAction 类来实现相同的目的,使用以下代码:

(new TouchAction(driver))
    .press(PointOption.point(fromX, fromY))
    .waitAction(WaitOptions.waitOptions(Duration.ofMillis(1000)))
    .moveTo(PointOption.point(offsetX, offsetY))
    .release()
    .perform();

我认为我们有一个差距,因为滑动的持续时间听起来像是应该在 moveTo() 调用中传递的东西,并且没有方法重载来实现这一点。

我在上面粘贴的代码执行以下操作:按下、等待、移动、释放。我想做的是:按下,然后立即开始移动并确保滑动手势正好跨越 1 秒,然后松开。实现这一目标的正确方法是什么?

【问题讨论】:

    标签: appium


    【解决方案1】:

    您需要在 moveTo() 之后而不是在 press() 之后链接 waitAction()。只要您在 waitAction() 中定义,这将控制 moveTo() 手势:

    (new TouchAction(driver))
        .press(PointOption.point(fromX, fromY))
        .moveTo(PointOption.point(offsetX, offsetY))
        .waitAction(WaitOptions.waitOptions(Duration.ofMillis(1000)))
        .release()
        .perform();
    

    【讨论】:

    • 我刚刚在 Android 上测试了您的建议,但不幸的是,它的行为与预期不符。它执行一个轻弹手势,然后我立即被带到页面的末尾。有点道理,因为我们正在执行press,然后立即移动到滑动的终点,这是轻弹手势的定义。所以,就目前而言,我回到第一方。
    • 添加更多持续时间 + 尝试在发布后添加另一个 waitAction?您使用的持续时间越长,手势就越放松。
    猜你喜欢
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2013-07-19
    • 2019-01-09
    • 2018-10-07
    • 1970-01-01
    相关资源
    最近更新 更多