Skip to content
📔 阅读量:

远程交互式控制

在用例执行过程中控制远程机器执行复杂的 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()