0

我有一个非常基本的脚本,我打算让应用程序拖动 3 次,然后触摸一个按钮。该应用程序完美地拖动了三遍,但是当我添加触摸代码时出现错误。

代码:

device, serialno = ViewClient.connectToDeviceOrExit())
device.drag((120, 220), (300, 220), 1, 20)
MonkeyRunner.sleep(5)
device.drag((120, 220), (300, 220), 1, 20)
MonkeyRunner.sleep(3)
device.drag((120, 220), (300, 220), 1, 20)
temp = device.findViewWithText('Lesson 1')
temp.touch()

错误:

line 34, in <module>
    device, serialno = ViewClient(*ViewClient.connectToDeviceOrExit())
TypeError: 'instance' object is not iterable

新代码:

device, serialno = ViewClient.connectToDeviceOrExit()
temp = device.findViewWithText('Lesson')

新错误:

    temp = device.findViewWithText('Audiobooks')
AttributeError: 'com.android.monkeyrunner.MonkeyDevice' object has no attribute 'findViewWithText'
4

1 回答 1

0

最后有一个额外的')':

device, serialno = ViewClient.connectToDeviceOrExit()) 

我猜你的意思是

device, serialno = ViewClient.connectToDeviceOrExit()

新代码

新代码的问题

temp = device.findViewWithText('Lesson')

是不是错误告诉您的类中findViewWithText()的方法:ViewClientMokeyDevice

AttributeError: 'com.android.monkeyrunner.MonkeyDevice' object has no attribute 'findViewWithText'

所以正确的代码是:

vc = ViewClient(device, serialno)
temp = vc.findViewWithText('Lesson')

看看这些例子,你的所有问题都会得到解答。

于 2013-05-01T00:38:21.100 回答