Skip to main content

Screenplay pattern base for Python automated UI test suites.

Project description

ScreenPy

TITLE CARD:
                                  "ScreenPy"
TITLE DISAPPEARS.
                                                                      FADE IN:
INT. DOCUMENTATION - NIGHT

Illuminated by the computer's glow, AUDIENCE sits reading the documentation
for a Python library they haven't seen before. AUDIENCE is visibly startled
as a dulcet voice begins to speak.

                              NARRATOR (V.O.)
            ScreenPy is a library that provides the base for an
            automated test suite using Screenplay Pattern.

                              AUDIENCE
            Wha- who are you? Where are you? And... what is
            Screenplay Pattern?!

                              NARRATOR (V.O.)
            It's a composition-based architecture pattern,
            encouraging automated test writers to write more
            maintainable test suites. It allows test writers to
            use Gherkin-style language in Python to create
            descriptive UI tests.

                              AUDIENCE
                              (reluctantly)
            Ignoring how you avoided answering my first questions,
            how do I get started?

                              NARRATOR (V.O.)
            I thought you'd never ask...

                                                                      FADE OUT

Installation

pip install screenpy

Documentation

Please check out the Read The Docs documentation for the latest information about this module!

Quickstart

Once installed, to set up a Screenplay Pattern scaffolding in your project, cd to the folder you will use for your suite and run this command:

screenpy-quickstart

Note that the Python script directory will need to be on your path to find screenpy-quickstart.

This will set up user_interface, tasks, and features directories and fill them with a simple test. For explanations on what these directories are for, see the File Hierarchy documentation

Allure Integration

ScreenPy utilizes Allure to document the action. If you would like to see an allure report of your Screenplay Suite, run the test using PyTest like so:

python -m pytest features --alluredir allure_report
allure serve allure_report

Contributing

You want to contribute? Great! Here are the things you should do before submitting your PR:

  1. Install pre-commit
  2. run pre-commit install once.
  3. run tox to perform tests frequently.

That's it! :)

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

screenpy-3.2.9.tar.gz (56.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

screenpy-3.2.9-py3-none-any.whl (82.1 kB view details)

Uploaded Python 3

File details

Details for the file screenpy-3.2.9.tar.gz.

File metadata

  • Download URL: screenpy-3.2.9.tar.gz
  • Upload date:
  • Size: 56.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for screenpy-3.2.9.tar.gz
Algorithm Hash digest
SHA256 2e9039837e70de5a6257200dc1e06f1413f20164b7f6be7c364da997ebb41d33
MD5 3b0fb3f6b032dd2318a6582d0f783a97
BLAKE2b-256 91679210192cd56bac0d0b04162249beca8da7a392e67866c6081a9fc331402b

See more details on using hashes here.

File details

Details for the file screenpy-3.2.9-py3-none-any.whl.

File metadata

  • Download URL: screenpy-3.2.9-py3-none-any.whl
  • Upload date:
  • Size: 82.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for screenpy-3.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 2689b5e8b8d04719b8a5191491f1ec5c5bfb15b318d2a5acb7b56939d3edc44e
MD5 5a13d337299beac81a842766528ccf23
BLAKE2b-256 c399c036e5e364d0b1a1806ac86aa472863ec5c851f8f00ed7f3613d51b34aa8

See more details on using hashes here.

Supported by

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