Appium 【已解决】想使用 swipe 实现滑动效果,实际结果是先点击,然后滑动,但 app 界面却没有滑动

strayeagle · 2014年10月24日 · 最后由 mike 回复于 2014年10月27日 · 3084 次阅读

目前想实现从左向右滑动效果,使用了 swipe 方法,可实际观察的效果是先点击,然后滑动,但是却没有滑动的效果

def testSwipeToRightOfMission(self):
    ''' 安卓 --> 任务 --> 向右滑动,进入任务列表测试  '''
    import time
    driver = self.driver
    driver.implicitly_wait(10)

    time.sleep(3)
    driver.swipe(200, 900, 900, 900, 1)

    time.sleep(5)

搜索了群里的几个帖子,也看了这个帖子(http://testerhome.com/topics/1132js.executeScript("mobile:),官网不是说已经废弃了 swipe", swipeObject);类似这样的方式,而是直接使用 swipe、flick 吗?

请问大家是如何解决这个问题的?

共收到 7 条回复 时间 点赞

1、android-开发人员选项 - 勾选指针位置,可以看到实际轨迹。
2、swipe 最后一个参数是毫秒,设长些。
3、可以先用命令测试 adb shell input swipe duration(ms)

#1 楼 @sanlengjingvv 非常的感谢,指针轨迹是开了的,是持续时间太短了,导致没效果,感谢啊!

driver.swipe(200, 900, 900, 900, 0) 这里最后一个参数设置为 0, 就不会先点击了

另外,如果想模拟滑动轨迹,如手势解锁,可以这样

final TouchAction gesture = new TouchAction(driver).press(startX, stratY)
     .moveTo(startX, stratY + height)
     .moveTo(startX, stratY + height + height)
     .moveTo(startX + width, stratY + height + height).release();
 gesture.perform();

#4 楼 @xiang2743 哇,感谢感谢!

#2 楼 @strayeagle 这命名我怎么用了 出错?

#5 楼 @strayeagle adb shell input swipe duration(ms)

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册