Skip to main content

Provide a fixture of using Webtest with a local static site via Flask

Project description

webtest-flask-fixture

Providing a fixture for static websites to use WebTest through Flask

Why WebTest?

WebTest provides a great interface for testing websites including button/link and form interactions.

Why Flask?

Flask comes with an extremely light-weight dev server that can server up arbitrary pages (static or coded) relatively easily.

Let's put the two together!!

And this package is born. The objective is to provide a PyTest.fixture that allows for quickly testing static web sites, or through customizing the template, a fixture that can be used to test more complex web sites.

Installation

pip install webtest-flask-fixture

Useage

Start writing a PyTest test, and use webtest_flask_fixture to load pages.

Example:

from webtest_flask_fixture import test_app

def test_can_load_test_index(test_app):
    # Act
    resp = test_app.get('/')

    # Assert
    assert resp.status_int == 200
    assert resp.content_type == 'text/html'
    assert 'Hello, World!' in resp  # string must be present in body

More examples in tests, but keep in mind that they use an additional fixture mock_site to use their test site as the site. To test file in the current working directory, just leave that out (as in the above example).

Future

Currently WebTest does not execute JS in place, we would like to also integrate selenium such that a user can apply our PyTest fixture and get a full experience.

Project details


Download files

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

Source Distribution

webtest_flask_fixture-0.1.1.tar.gz (4.2 kB view hashes)

Uploaded Source

Built Distribution

webtest_flask_fixture-0.1.1-py3-none-any.whl (4.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page