Source code for airtest.core.device

# encoding=utf-8
from six import with_metaclass


[docs]class MetaDevice(type): REGISTRY = {} def __new__(meta, name, bases, class_dict): cls = type.__new__(meta, name, bases, class_dict) meta.REGISTRY[name] = cls return cls
[docs]class Device(with_metaclass(MetaDevice, object)): """base class for test device""" def __init__(self): super(Device, self).__init__()
[docs] def to_json(self): try: uuid = repr(self.uuid) except: uuid = None return f"<{self.__class__.__name__} {uuid}>"
@property def uuid(self): self._raise_not_implemented_error()
[docs] def shell(self, *args, **kwargs): self._raise_not_implemented_error()
[docs] def snapshot(self, *args, **kwargs): self._raise_not_implemented_error()
[docs] def touch(self, target, **kwargs): self._raise_not_implemented_error()
[docs] def double_click(self, target): raise NotImplementedError
[docs] def swipe(self, t1, t2, **kwargs): self._raise_not_implemented_error()
[docs] def keyevent(self, key, **kwargs): self._raise_not_implemented_error()
[docs] def text(self, text, enter=True): self._raise_not_implemented_error()
[docs] def start_app(self, package, **kwargs): self._raise_not_implemented_error()
[docs] def stop_app(self, package): self._raise_not_implemented_error()
[docs] def clear_app(self, package): self._raise_not_implemented_error()
[docs] def list_app(self, **kwargs): self._raise_not_implemented_error()
[docs] def install_app(self, uri, **kwargs): self._raise_not_implemented_error()
[docs] def uninstall_app(self, package): self._raise_not_implemented_error()
[docs] def get_current_resolution(self): self._raise_not_implemented_error()
[docs] def get_render_resolution(self): self._raise_not_implemented_error()
[docs] def get_ip_address(self): self._raise_not_implemented_error()
[docs] def set_clipboard(self, text): self._raise_not_implemented_error()
[docs] def get_clipboard(self): self._raise_not_implemented_error()
[docs] def paste(self): self.text(self.get_clipboard())
def _raise_not_implemented_error(self): platform = self.__class__.__name__ raise NotImplementedError("Method not implemented on %s" % platform)
[docs] def disconnect(self): pass