跳转到主要内容

pytest插件,用于在测试中运行Xvfb(或Xephyr/Xvnc)。

项目描述

A pytest插件用于在测试中运行Xvfb(或Xephyr/Xvnc)。


安装

您可以通过pytest-xvfbpip安装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 以及 @hackebrotCookiecutter-pytest-plugin 模板生成的。

感谢 @cgoldbergxvfbwrapper 的贡献,它是本项目灵感的来源。

问题

如果您遇到任何问题,请 提交问题 并附上详细描述。

项目详情


下载文件

下载适用于您平台的自定义文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

pytest-xvfb-3.0.0.tar.gz (8.6 kB 查看哈希

上传时间

构建分发

pytest_xvfb-3.0.0-py3-none-any.whl (5.6 kB 查看哈希

上传时间 Python 3

由以下支持