# encoding=utf-8
from six import with_metaclass
[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