A pytest plugin to run Xvfb for tests.
$ pip install pytest-xvfb
With Xvfb and the plugin installed, your testsuite automatically runs with Xvfb. This allows tests to be run without windows popping up during GUI tests or on systems without a display (like a CI).
If Xvfb is not installed, the plugin does not run and your tests will still work as normal. However, a warning message will print to standard output letting you know that Xvfb is not installed.
If you're currently using
xvfb-run in something like
simply remove it and install this plugin instead - then you'll also have the
benefits of Xvfb locally.
You can pass
--no-xvfb to explicitly turn off Xvfb (e.g. to visually
inspect a failure).
You can mark tests with
@pytest.mark.no_xvfb to skip them when they're
running with Xvfb.
xvfb fixture is available with the following attributes:
width: The configured width of the screen.
height: The configured height of the screen.
colordepth: The configured colordepth of the screen.
args: The arguments to be passed to Xvfb.
display: The display number (as int) which is used.
Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
Distributed under the terms of the MIT license, "pytest-xvfb" is free and open source software
If you encounter any problems, please file an issue along with a detailed description.