0

如何使用AndroidViewClient模拟长按视图(例如按钮) ?touch 方法ViewClient总是对其输入执行简单的按下(即使我将type参数设置为adbClient.DOWN

编辑: 中的 touch 方法adbclient.py有一个类型参数,但它没有在方法体中使用。中MonkeyRunner,当类型为DOWN时,执行长按。

def touch(self, x, y, eventType=DOWN_AND_UP):
    self.shell('input tap %d %d' % (x, y))
4

2 回答 2

2

我现在找到了我的问题的答案。我们可以使用拖动方法来模拟长按视图。示例代码如下:

buttonText = 'ClMe'
button = vc.findViewWithText(buttonText )
(x,y) = button.getXY()
button.device.drag((x,y), (x,y), 2000, 1)
于 2014-06-14T07:28:00.827 回答
1

来自adbclient.py

    version = self.getSdkVersion()
    if version >= 19:
        cmd = 'input keyevent --longpress %s' % name
        if DEBUG:
            print >> sys.stderr, "longPress(%s)" % cmd
        self.shell(cmd)
    else:
        raise RuntimeError("longpress: not supported for API < 19 (version=%d)" % version)

API >= 19 支持 Longpress。

于 2014-06-10T21:09:20.480 回答