Wayland 适配
Wayland 下自动化主要问题是 X11 下的键鼠操作方法无法使用,比如 Xdotool、 PyAutoGUI、Xwininfo 等等;
YouQu 在 Wayland 下兼容适配,env.sh 在 Wayland 下执行时会安装自研的键鼠操作服务(可能存在一些依赖报错,按照注释解决即可),框架核心库也针对性的做了适配,上层用例完全不用关心机器是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")这样这条用例脚本在 Wayland 和 X11 下都可以跑,so easy 是不是?完全没必要专门拉新分支进行 Wayland 适配。