updated README

This commit is contained in:
Corey Goldberg 2012-11-18 12:15:32 -05:00
parent fa0a091197
commit 0ba1e22e46
1 changed files with 31 additions and 24 deletions

View File

@ -2,22 +2,22 @@
xvfbwrapper xvfbwrapper
=============== ===============
Python wrapper for running display inside X virtual framebuffer (Xvfb) Python wrapper for running a display inside X virtual framebuffer (Xvfb)
* Home: http://cgoldberg.github.com/xvfbwrapper * Home: http://cgoldberg.github.com/xvfbwrapper
* PyPI: http://pypi.python.org/pypi/xvfbwrapper * PyPI: http://pypi.python.org/pypi/xvfbwrapper
* Dev: https://github.com/cgoldberg/xvfbwrapper * Dev: https://github.com/cgoldberg/xvfbwrapper
---- ***
********************************* *****************************
Install xvfbwrapper from PyPI Install xvfbwrapper from PyPI
********************************* *****************************
:: ::
pip install xvfbwrapper pip install xvfbwrapper
****
************************************** **************************************
About Xvfb (X Virtual Framebuffer) About Xvfb (X Virtual Framebuffer)
@ -25,6 +25,8 @@ Python wrapper for running display inside X virtual framebuffer (Xvfb)
In the X Window System, Xvfb or X virtual framebuffer is an X11 server that performs all graphical operations in memory, not showing any screen output. This virtual server does not require the computer it is running on to even have a screen or any input device. Only a network layer is necessary. In the X Window System, Xvfb or X virtual framebuffer is an X11 server that performs all graphical operations in memory, not showing any screen output. This virtual server does not require the computer it is running on to even have a screen or any input device. Only a network layer is necessary.
****
*********************** ***********************
System Requirements System Requirements
*********************** ***********************
@ -32,14 +34,15 @@ In the X Window System, Xvfb or X virtual framebuffer is an X11 server that perf
* Xvfb (`sudo apt-get install xvfb`, or similar) * Xvfb (`sudo apt-get install xvfb`, or similar)
* Python 2 * Python 2
****
************************ ************************
Example: Basic Usage Example: Basic Usage
************************ ************************
:: ::
from xvfbwrapper import Xvfb from xvfbwrapper import Xvfb
vdisplay = Xvfb() vdisplay = Xvfb()
vdisplay.start() vdisplay.start()
@ -47,20 +50,19 @@ In the X Window System, Xvfb or X virtual framebuffer is an X11 server that perf
vdisplay.stop() vdisplay.stop()
**************************************************** ****
Example: Headless Selenium WebDriver and Firefox
****************************************************
* install selenium bindings: `pip install selenium` **********************************************
* Firefox will launch inside virtual display (headless) Example: Headless Selenium WebDriver Tests
* browser is not shown while test is run **********************************************
:: ::
#!/usr/bin/env python
from xvfbwrapper import Xvfb
import unittest
from selenium import webdriver from selenium import webdriver
from xvfbwrapper import Xvfb
import unittest
class TestHomepages(unittest.TestCase): class TestHomepages(unittest.TestCase):
@ -68,22 +70,27 @@ In the X Window System, Xvfb or X virtual framebuffer is an X11 server that perf
self.vdisplay = Xvfb(width=1280, height=720) self.vdisplay = Xvfb(width=1280, height=720)
self.vdisplay.start() self.vdisplay.start()
self.browser = webdriver.Firefox() self.browser = webdriver.Firefox()
def testUbuntuHomepage(self): def testUbuntuHomepage(self):
self.browser.get('http://www.ubuntu.com') self.browser.get('http://www.ubuntu.com')
self.assertIn('Ubuntu', self.browser.title) self.assertIn('Ubuntu', self.browser.title)
def testGoogleHomepage(self): def testGoogleHomepage(self):
self.browser.get('http://www.google.com') self.browser.get('http://www.google.com')
self.assertIn('Google', self.browser.title) self.assertIn('Google', self.browser.title)
def tearDown(self): def tearDown(self):
self.browser.quit() self.browser.quit()
self.vdisplay.stop() self.vdisplay.stop()
if __name__ == '__main__': if __name__ == '__main__':
unittest.main(verbosity=2) unittest.main(verbosity=2)
---- This code uses `selenium` and `xvfbwrapper` to run a test with Firefox inside a Headless display.
* install selenium bindings: `pip install selenium`
* Firefox will launch inside virtual display (headless)
* browser is not shown while tests are run
****