我想扩展 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
我做错了什么?
提前致谢!
最佳答案
看来您不能在不调用工厂函数 waitForConnection
的情况下直接初始化 MonkeyDevice
实例。因此,您需要在 __new__()
函数中分配 self
,以便 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/