You can use our Pytest integration to write end-to-end tests in Python.
page fixture to write a basic test. See more examples.
To run your tests, use pytest CLI.
If you want to add the CLI arguments automatically without specifying them, you can use the pytest.ini file:
This plugin configures Playwright-specific fixtures for pytest. To use these fixtures, use the fixture name as an argument to the test function.
Function scope: These fixtures are created when requested in a test function and destroyed when the test ends.
Session scope: These fixtures are created when requested in a test function and destroyed when all tests end.
browser: Browser instance launched by Playwright.
browser_name: Browser name as string.
is_firefox: Booleans for the respective browser types.
Customizing fixture options: For
context fixtures, use the the following fixtures to define custom launch options.
browser_type_launch_args: Override launch arguments for browser_type.launch(**kwargs). It should return a Dict.
browser_context_args: Override the options for browser.new_context(**kwargs). It should return a Dict.
Start Pytest with the
breakpoint() statement in your test code to pause execution and get a pdb REPL.
You can capture screenshots for failed tests with a pytest runtest hook. Add this to your
Note that this snippet uses
slugify to convert test names to file paths, which can be installed with
pip install python-slugify.