fix: 优化远程控制方案;

Description:

Log:
This commit is contained in:
mikigo 2024-04-07 18:22:27 +08:00
parent 685cce8914
commit 728866dba7
3 changed files with 13 additions and 4 deletions

View File

@ -151,7 +151,7 @@ OPENCV_MAX_MATCH_NUMBER = 100
; └─ slave ${user}@${ip}
;如果${password}和前面配置项PASSWORD一样可以不传${user}@${ip}
;多个机器之间用斜线分割:${user}@${ip}:${password}/${user}@${ip}
SLAVES =
SLAVES = autotest@10.8.11.12:123
;=============================== Web UI CONFIG ===================================
;为Web UI自动化测试提供一个fixture对象page它默认使用系统自带的浏览器进行测试。

View File

@ -20,16 +20,18 @@ class Remote(ShortCut, CmdCtl):
self.ip = ip
self.password = password
self.transfer_appname = transfer_appname
self.tmp_obj = None
def __getattribute__(self, item):
if not item.startswith("__") and not item.endswith("__"):
for cls_obj in [ShortCut, CmdCtl]:
if hasattr(cls_obj, item):
self.tmp_obj = {"cls_obj": cls_obj, "item_obj": getattr(cls_obj, item)}
delattr(cls_obj, item)
return super().__getattribute__(item)
def __getattr__(self, item):
def impl(*args, **kwargs):
def func(*args, **kwargs):
ar = ""
if args:
for arg in args:
@ -40,9 +42,14 @@ class Remote(ShortCut, CmdCtl):
logger.debug(
f"Remote(user='{self.user}', ip='{self.ip}', password='{self.password}').rctl.{item}({ar.rstrip(', ')})"
)
getattr(self.rctl, item)(*args, **kwargs)
return impl
self.remote_method_has_arguments = True
if self.tmp_obj:
setattr(self.tmp_obj["cls_obj"], item, self.tmp_obj["item_obj"])
return func
@property
def rdog(self) -> DogtailUtils:
@ -67,4 +74,5 @@ class Remote(ShortCut, CmdCtl):
if __name__ == '__main__':
Remote(ip="10.8.11.12", user="autotest", password="123").ctrl_alt_t()
r = Remote(ip="10.8.11.12", user="autotest", password="123")
r.ctrl_alt_t()

View File

@ -76,6 +76,7 @@ class Args(Enum):
user = "user"
password = "password"
depth = "depth"
slaves = "slaves"
def transform_app_name(app_name):