远程交互式控制
在用例执行过程中控制远程机器执行复杂的 UI 操作或命令行操作。
在远程测试机上部署一个完整的 YouQu3 环境以提供 UI 交互的基础能力,然后将这些基础能力通过 RPC 服务的方式提供出来,在服务端通过调用 RPC 接口从而控制远程机器执行用例步骤。
slaves对象提供远程机器信息
slaves
是 YouQu 提供的一个全局对象,它保存了远程测试机的信息列表;
机器信息有 2 种方式传入:
命令行
bash
youqu3 run --slaves root@192.168.1.1:password1
多个机器信息用 /
分割:
bash
... --slaves root@192.168.1.1:password1/root@192.168.1.2:password2
UI操作远程对象
RpcGui
用于属性定位相关操作;
python
# remote_widget.py
from pylinuxauto.gui import RpcGui
from pylinuxauto.config import config
class RemoteMethod:
def __init__(self, user, ip, password, auto_restart=False):
self.rgui = RpcGui(
user=user,
ip=ip,
password=password,
project_abspath=config.ROOTDIR,
auto_restart = auto_restart
).rgui
def click_dde_file_manager_by_attr(self):
self.rgui.click_element_by_attr_path("/dde-dock/Btn_文件管理器")
if __name__ == '__main__':
RemoteMethod(
user="uos",
ip="10.8.7.55",
password="1",
).click_dde_file_manager_by_attr()