Skip to content
📔 阅读量:

Wayland 适配

Wayland 下自动化主要问题是 X11 下的键鼠操作方法无法使用,比如 XdotoolPyAutoGUIXwininfo 等等;

YouQu 在 Wayland 下兼容适配,env.shWayland 下执行时会安装自研的键鼠操作服务(可能存在一些依赖报错,按照注释解决即可),框架核心库也针对性的做了适配,上层用例完全不用关心机器是Wayland 还是 X11,框架会根据执行时状态自动判断走不同的逻辑;

简单讲就是,应用库只需要维护一套用例脚本即可。

【用例兼容】

因为 Wayland 下有些应用的界面显示和功能本身存在一些差异,用例层可能需要对这部分用例做逻辑判断,使用全局配置里面的常量进行逻辑编写即可:

python
from setting import conf

# GlobalConfig.IS_WAYLAND 获取到当前的显示服务器(bool)
# 应用库 Config 继承 GlobalConfig
if conf.IS_WAYLAND:
    pass
if conf.IS_X11:
    pass

比如用例里面如果断言的图片不同:

python
if conf.IS_WAYLAND:
    self.assert_image_exist("wayland_XXX")
else:
    self.assert_image_exist("x11_XXX")

这样这条用例脚本在 WaylandX11 下都可以跑,so easy 是不是?完全没必要专门拉新分支进行 Wayland 适配。