如何使用AndroidViewClient模拟长按视图(例如按钮)? ViewClient
的触摸方法总是对其输入执行简单的操作(即使我将类型参数设置为 adbClient.DOWN )
修改
adbclient.py
中的触摸方法具有类型参数,但它未在方法体中使用。在MonkeyRunner
中,当类型为 DOWN 时,它会执行longpress。
def touch(self, x, y, eventType=DOWN_AND_UP):
self.shell('input tap %d %d' % (x, y))
答案 0 :(得分:2)
我现在找到了我的问题的答案。我们可以使用拖动方法来模拟长按视图。示例代码如下:
buttonText = 'ClMe'
button = vc.findViewWithText(buttonText )
(x,y) = button.getXY()
button.device.drag((x,y), (x,y), 2000, 1)
答案 1 :(得分: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&gt; = 19支持Longpress。