pytest插件,用于在测试中运行Xvfb(或Xephyr/Xvnc)。
项目描述
A pytest插件用于在测试中运行Xvfb(或Xephyr/Xvnc)。
安装
您可以通过pytest-xvfb从pip安装PyPI
$ pip install pytest-xvfb
使用
在安装了Xvfb和插件后,您的测试套件将自动带有Xvfb运行。这允许在GUI测试期间或在没有显示器的系统(如CI)上运行测试而不会弹出窗口。
插件将Xvfb的安装视为“可选”,因为即使没有安装它,测试仍然可以运行。如果不可用,它将显示一条信息消息,如果是在Linux上并且有DISPLAY可用。当使用--xvfb-backend xvfb时,此消息将变为严重错误。
如果您目前正在使用类似于GitHub Actions YAML文件的xvfb-run,只需删除包装器并安装此插件即可 - 然后,您也将获得本地Xvfb的好处。
功能
您可以通过传递 --no-xvfb 来显式关闭 Xvfb(例如,用于检查失败情况)。
使用 --xvfb-backend xephyr 或 --xvfb-backend xvnc,您可以使用 Xephyr 或 Xvnc 来替代 Xvfb,例如,用于检查失败情况。
注意:由于与 PyVirtualDisplay 和 Ubuntu 22.04 的 tightvncserver 不兼容,目前对 xvnc 的支持处于实验性状态,并未在 CI 上测试。
您可以使用 @pytest.mark.no_xvfb 标记测试,当它们在 Xvfb 运行时将跳过它们。
以下属性可用的 xvfb fixture
width:屏幕配置的宽度。
height:屏幕配置的高度。
colordepth:屏幕配置的颜色深度。
args:传递给 Xvfb 的参数。
display:使用的显示号(作为 int)。
backend:可以是 None(Xvfb)、"xvfb"、"xephyr" 或 "xvnc"。
在 pytest.ini 中,可以使用 xvfb_width、xvfb_height、xvfb_colordepth 和 xvfb_args 来配置相应的值。此外,可以将 xvfb_xauth 设置为 true 以生成一个 Xauthority 令牌。
贡献
非常欢迎贡献。可以通过 tox 运行测试,请在提交拉取请求之前确保覆盖率至少保持不变。
许可证
根据 MIT 许可证分发,“pytest-xvfb”是免费和开源软件
感谢
此 pytest 插件是用 Cookiecutter 以及 @hackebrot 的 Cookiecutter-pytest-plugin 模板生成的。
感谢 @cgoldberg 对 xvfbwrapper 的贡献,它是本项目灵感的来源。
问题
如果您遇到任何问题,请 提交问题 并附上详细描述。
项目详情
下载文件
下载适用于您平台的自定义文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。