New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

xvfbwrapper

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xvfbwrapper

run headless display inside X virtual framebuffer (Xvfb)

  • 0.2.9
  • PyPI
  • Socket score

Maintainers
1

=============== xvfbwrapper

Manage headless displays with Xvfb (X virtual framebuffer)

.. image:: https://travis-ci.org/cgoldberg/xvfbwrapper.svg?branch=master :target: https://travis-ci.org/cgoldberg/xvfbwrapper



Info:



About xvfbwrapper:

xvfbwrapper is a python wrapper for controlling Xvfb.



About Xvfb:

Xvfb (X virtual framebuffer) is a display server implementing the X11 display server protocol. It runs in memory and does not require a physical display. Only a network layer is necessary.

Xvfb is especially useful for running acceptance tests on headless servers.



Install xvfbwrapper from PyPI:

pip install xvfbwrapper



System Requirements:

  • Xvfb (sudo apt-get install xvfb, or similar)
  • Python 2.7 or 3.3+

++++++++++++ Examples ++++++++++++


Basic Usage:

::

from xvfbwrapper import Xvfb

vdisplay = Xvfb()
vdisplay.start()

# launch stuff inside
# virtual display here.

vdisplay.stop()


Basic Usage, specifying display geometry:

::

from xvfbwrapper import Xvfb

vdisplay = Xvfb(width=1280, height=740, colordepth=16)
vdisplay.start()

# launch stuff inside
# virtual display here.

vdisplay.stop()


Usage as a Context Manager:

::

from xvfbwrapper import Xvfb

with Xvfb() as xvfb:
    # launch stuff inside virtual display here.
    # It starts/stops around this code block.


Testing Example: Headless Selenium WebDriver Tests:

::

import unittest

from selenium import webdriver
from xvfbwrapper import Xvfb


class TestPages(unittest.TestCase):

    def setUp(self):
        self.xvfb = Xvfb(width=1280, height=720)
        self.addCleanup(self.xvfb.stop)
        self.xvfb.start()
        self.browser = webdriver.Firefox()
        self.addCleanup(self.browser.quit)

    def testUbuntuHomepage(self):
        self.browser.get('http://www.ubuntu.com')
        self.assertIn('Ubuntu', self.browser.title)

    def testGoogleHomepage(self):
        self.browser.get('http://www.google.com')
        self.assertIn('Google', self.browser.title)


if __name__ == '__main__':
    unittest.main()

The test class above uses selenium and xvfbwrapper to run each test case with Firefox inside a headless display.

  • virtual display is launched
  • Firefox launches inside virtual display (headless)
  • browser is not shown while tests are run
  • conditions are asserted in each test case
  • browser quits during cleanup
  • virtual display stops during cleanup

Look Ma', no browser!

(You can also take screenshots inside the virtual display for diagnosing test failures)

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc