我想扩展monkeyrunner API的MonkeyDevice类。
我的派生类如下所示。
from com.android.monkeyrunner import MonkeyDevice, MonkeyRunner
class TestDevice(MonkeyDevice):
def __init__(self, serial=None):
MonkeyDevice.__init__(self)
self = MonkeyRunner.waitForConnection(deviceId=serial)
self.serial = serial
当我从另一个模块调用
test_dev = TestDevice(serial)
时,出现以下错误: test_dev = TestDevice(serial)
TypeError: _new_impl(): 1st arg can't be coerced to com.android.monkeyrunner.core.IMonkeyDevice
我究竟做错了什么?
提前致谢!
最佳答案
似乎您无法在不调用工厂函数MonkeyDevice
的情况下直接初始化waitForConnection
实例。因此,相反,您需要在self
函数中分配__new__()
,以便MonkeyDevice
在将该实例称为IMonkeyDevice
之前将其识别为是从__init__
继承的实例
例子:
class TestDevice(MonkeyDevice):
def __new__(self, serial=None):
return MonkeyRunner.waitForConnection(deviceId=serial)
def __init__(self):
MonkeyDevice.__init__(self)
关于android - 如何从MonkeyDevice继承?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7433433/