Skip to main content

Test runner for py.test with web GUI

Project description

purkinje

Test runner for py.test test framework with web GUI

Live Demo

Getting Started

pukinje is a browser application intended to run on a spare monitor. It shows results of automated tests in realtime. Currently, the only supported test framework is py.test.

To use purkinje:

Create a virtual environment for purkinje and activate it:

mkvirtualenv purkinje
workon purkinje

Install purkinje:

pip install purkinje

Optionally, create a configuration file purkinje.yml with the following contents:

global:
    logLevel: debug
    debugMode: yes
    serverPort: 5000
    serverHost: localhost

Launch it:

purkinje -f purkinje.yml

or, without configuration file:

purkinje

Open it in a browser:

google-chrome http://localhost:5000/

Prepare your Python/py.test project for reporting to purkinje. In your project’s virtualenv, install the py.test plugin for purkinje:

pip install pytest-purkinje

This will automatically activate the plugin and test results will be sent to the purkinje server. If you changed the host and/or port, specify them in your project’s pytest.ini:

[pytest]
    addopts = --websocket_host myhost --websocket_port 40000

If the settings should be incorrect, there will be a warning message but your tests will execute nevertheless. You may add -p no:purkinje to pytest.ini or as a command line argument to py.test to disable the purkinje plugin.

Run your tests. The results should be visible in the browser:

py.test

Alternatively, you may run purkinje_runner in your project directory. It will automatically detect changes the the sources and execute py.test:

purkinje_runner

Known Limitations

  • Security: There is no access restriction; for now, use only on the local machine

    • Anyone can use the web application
    • Anyone can send test results to the purkinje server

    By default, the server is running on localhost and not accessible from other machines.

  • Only a single test suite

    If you run multiple purkinje-enabled test suites simultaneously, test results will get mixed up. This might change in a future version.

Build Status

Branch Status
dev travis-dev
master travis-master

Coverage: coveralls

System Requirements

  • Currently, only Python 2.7.x is supported because of gevent. In the future, if gevent should support Python 3, purkinje should also support it. Alternatively, gevent might get replaced e.g. by guv.
  • tested on Ubuntu 14.04
  • needs a modern browser that supports WebSockets

Supported Python versions

  • Currently, only 2.7.x is supported. Python 3 support is blocked by the following packages:

    cssmin gevent (which is blocking gevent-websocket) inotifyx (which is blocking gevent_inotifyx)

Supported Operating Systems

  • The server part has only been tested on Ubuntu Linux 14.04 64 bit
  • The web application should work on any operating system using a modern browser (tested with Chrome 40 and Firefox 35)

ChangeLog

Some minor changes were omitted from this list. For details, see git log.

Release 0.1.5

2015-03-08

  • Updated documentation with regard to new pytest-purkinje plugin parameters

Release 0.1.4

2015-03-07

  • Fixed formatting in README.rst

Release 0.1.3

2015-03-07

  • Fixed formatting in README.rst

Release 0.1.2

2015-03-07

  • Optional configuration file
  • logLevel, debugMode, serverPort configurable
  • disabled desktop notifications
  • Arial as fallback for Droid Sans font (the latter may not be available on Windows)

Release 0.1.1

2015-03-02

  • Hide button for creation of dummy data

Release 0.1.0

2015-03-02

  • Basic functionality: ability to display running test suite
  • restricted to local network interface (no access restriction on sending and viewing test results)

Start of Development

2014-12-11

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for purkinje, version 0.1.5
Filename, size File type Python version Upload date Hashes
Filename, size purkinje-0.1.5.tar.gz (15.8 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page