Skip to main content

wsgi-liveserver

wsgi-liveserver provides a simple LiverServerTestCase class that can be used to help start a web server in the background to serve a WSGI compliant application for use with testing. Generally it will be used in conjuction with something like Selenium to perform a series of functional tests using a browser.

Licensed under the GNU GPL v3

Copyright (c) 2013 John Kristensen (unless explicitly stated otherwise).

Installation and Dependencies

Install wsgi-liveserver with pip install wsgi-liveserver or just download wsgi_liveserver.py and place it in your project directory. There are no dependencies other than the Python Standard Library.

Usage

The wsgi-liveserver LiveServerTestCase can be used instead of unittest.TestCase for any tests that require a running web server. Simply define a create_app() method that returns the WSGI application that you want to have started up in the background, then write your tests as normal. LiveServerTestCase will handle starting and stopping the server for you.

Port Range

By default LiveServerTestCase will attempt to listen on the first available port in the range 8080-8090 (inclusive). If you wish the LiveServer to attempt to listen on a different range of ports this can be done by setting the port_range class attribute (see the example below).

Example

The following is a very basic example of using wsgi-liveserver with the wsgiref demo_app:

import unittest
from wsgiref.simple_server import demo_app
from selenium import webdriver
from wsgi_liveserver import LiveServerTestCase

class SimpleTest(LiveServerTestCase):
    port_range = (9001, 9010)  # default is (8080, 8090)

    def create_app(self):
        return demo_app

    def setUp(self):
        self.driver = webdriver.Firefox()

    def tearDown(self):
        self.driver.close()

    def test_page_title(self):
        self.driver.get(self.url_base())
        self.assertTrue('Hello world!' in self.driver.page_source)

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

Another simple but fully functional bottle web application with tests can be found at: https://github.com/jerrykan/bottle-selenium

Contact

Send your questions, comments, patches to John Kristensen <john@jerrykan.com>

Release files for wsgi-liveserver 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wsgi-liveserver 0.3.1
File Size Uploaded
wsgi-liveserver-0.3.1.tar.gz 16.5 kB Details

Release files / wsgi-liveserver-0.3.1.tar.gz

Download URL wsgi-liveserver-0.3.1.tar.gz
Size 16.5 kB
Tags Source
SHA-256 checksum
How to use checksums
130a03c8aa9abe31d9c77ed6d1fd13a59bb159b8b044420fdcc1c6bdb571513a
BLAKE2b-256 checksum
How to use checksums
e280b9b21f2eba48fe1a3922a98090ae9782ad610402229eadb0eb272ab56941
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.1 This release

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page