Skip to main content

Screenplay pattern base for Python automated UI test suites.

Project description


                                                                      FADE IN:

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.

            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.

            Ignoring how you avoided answering my first questions,
            how do I get started?

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

                                                                      FADE OUT


pip install screenpy


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


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:


This will set up user_interface, questions, 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


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.

Files for screenpy, version 2.1.1
Filename, size File type Python version Upload date Hashes
Filename, size screenpy-2.1.1-py3-none-any.whl (119.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size screenpy-2.1.1.tar.gz (36.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page