我有一个非常基本的脚本,我打算让应用程序拖动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'
答案 0 :(得分:0)
最后还有一个额外的')'
device, serialno = ViewClient.connectToDeviceOrExit())
我猜你的意思是
device, serialno = ViewClient.connectToDeviceOrExit()
新代码的问题
temp = device.findViewWithText('Lesson')
findViewWithText()
中的ViewClient
类不是MokeyDevice
中的方法,因为错误告诉您:
AttributeError: 'com.android.monkeyrunner.MonkeyDevice' object has no attribute 'findViewWithText'
所以正确的代码是:
vc = ViewClient(device, serialno)
temp = vc.findViewWithText('Lesson')
查看examples,您将回答所有问题。