Screenpy

Latest version: v4.2.5

Safety actively analyzes 682471 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 8

4.1.2

------------------

Improvements

- Gravitas can now be found in its own module, `narration.gravitas`, or imported directly from `screenpy.narration (e.g. `from screenpy.narration import AIRY`). It was a little weird for them to live in the Narrator file.

Bug Fixes

- Turns out that the `aside` function didn't take `gravitas`, even though the Adapter itself did. That's fixed, and also the Narrator and all the tests are updated to fix that as well, and the Adapter Protocol definition, too.

4.1.1

------------------

Bug Fixes

- Er, the convenient imports from the previous build caused some circular imports. `screenpy.actions` and `screenpy.resolutions` still need you to import them through the full path.
- Python <3.10 don't like the `|` typehint union; switch back to `Union` for those.

4.1.0

------------------

Deprecations

- Dropping support for Python 3.7. ScreenPy will probably still work in Python 3.7, but we're no longer making sure it does.

New Features

- Added a lot of new Resolutions for text and number comparisons:
- **StartsWith**
- **EndsWith**
- **Matches** for you regex-speakers
- **ContainsItemMatching** for strings-in-lists regex assertions
- **IsLessThan** and **IsLessThanOrEqualTo**
- **IsGreaterThan** and **IsGreaterThanOrEqualTo**
- **IsInRange**

Improvements

- Added convenience imports, so you can import everything directly from screenpy (from screenpy import Actor, given, See...)
- `StdOutAdapter` (now also called `LoggingAdapter` for clarity) can now accept `gravitas`, `AIRY` being equivalent to `logging.DEBUG`.
- All `staticmethods` on Actor, Action, and Resolution classes (maybe more? All of them!) are now `classmethods` and appropriately typed, which should make it much easier (and possible at all) to subclass, if you need to. Big big thanks to bandophahita for that huge effort!

4.0.2

------------------

New Features

- Added an `ErrorKeeper` protocol, currently only for Questions that encounter an error while being answered. This is now used by `MakeNote` to mention the exception, which will help debug some confusing test states. (h/t bandophahita!)
- Added official "extras" support for `screenpy_playwright`, install with `pip install screenpy[playwright]`!

Improvements

- A *significant* improvement on test coverage via unit tests! (h/t bandophahita!)

4.0.1

------------------

New Features

- Added new aliases for `IsCloseTo` and `HasLength` to use in their negated cases: `CloseTo` and `HaveLength`.
- Added official "extras" support for `screenpy_appium`, install with `pip install screenpy[appium]`!

Improvements

- Tons of typing improvements thanks to bandophahita, especially with Resolutions! Things should be a lot nicer in your IDEs.
- Added a count to `Eventually` that mentions how many times `Eventually` looped before failing. This should be helpful in the case where the performable that should eventually complete takes longer than the timeout set for `Eventually`.

4.0.0

------------------

2day is 2sday, by the way. Also I pushed this up at 22:22!

Breaking Changes

- ScreenPy is now broken up in2 its core (this repository), `screenpy_selenium`, `screenpy_requests`, `screenpy_pyotp`, and `screenpy_adapter_allure`. This will cause some big, big breakages in your suites, and i'm very sorry about it. To help get you back up and running, see the changes at https://screenpy-docs.readthedocs.io/en/latest/deprecations.html#breaking-changes
- Those deprecated methods mentioned on that same deprecations page are also finally removed.

Documentation

- Yet another rewrite of the documentation! This time it's much more focused, since the documentation is only for the base module.
- The rewrite includes a new Complete Example section, which shows a fictional example of a ScreenPy test file and breaks down each part of it.

Improvements

- Eventually now also tells you how many times it attempted its performable, which could be useful for debugging in certain situations.

Bugfixes

- If `See` was given a value to compare against a Resolution, the value is now properly printed to the log instead of just the string "{value}". :facepalm:

Page 2 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.