{"id":18611663,"url":"https://github.com/nhs-england-tools/playwright-python-blueprint","last_synced_at":"2025-04-10T23:30:55.604Z","repository":{"id":257847437,"uuid":"865489869","full_name":"nhs-england-tools/playwright-python-blueprint","owner":"nhs-england-tools","description":"A blueprint for NHS England teams to use when adopting Playwright Python","archived":false,"fork":false,"pushed_at":"2024-10-18T16:54:06.000Z","size":1058,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-20T03:30:07.753Z","etag":null,"topics":["playwright-python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nhs-england-tools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-30T16:03:57.000Z","updated_at":"2024-10-18T16:52:15.000Z","dependencies_parsed_at":"2024-10-16T17:54:56.504Z","dependency_job_id":"ea3b1974-a2b2-4384-b2cc-0814be502a2e","html_url":"https://github.com/nhs-england-tools/playwright-python-blueprint","commit_stats":null,"previous_names":["nhs-england-tools/playwright-python-blueprint"],"tags_count":1,"template":false,"template_full_name":"nhs-england-tools/repository-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhs-england-tools%2Fplaywright-python-blueprint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhs-england-tools%2Fplaywright-python-blueprint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhs-england-tools%2Fplaywright-python-blueprint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhs-england-tools%2Fplaywright-python-blueprint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nhs-england-tools","download_url":"https://codeload.github.com/nhs-england-tools/playwright-python-blueprint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248315920,"owners_count":21083344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["playwright-python"],"created_at":"2024-11-07T03:14:31.431Z","updated_at":"2025-04-10T23:30:55.583Z","avatar_url":"https://github.com/nhs-england-tools.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Playwright Python Blueprint\n\n[![CI/CD Pull Request](https://github.com/nhs-england-tools/repository-template/actions/workflows/cicd-1-pull-request.yaml/badge.svg)](https://github.com/nhs-england-tools/playwright-python-blueprint/actions/workflows/cicd-1-pull-request.yaml)\n\nThis project is designed to provide a blueprint to allow for development teams to start quickly developing UI tests using [Playwright Python](https://playwright.dev/python/), providing the base framework and utilities to allow for initial focus on writing tests, rather than configuration of the framework itself. Playwright is the current mainstream UI testing tool for NHS England, as outlined on the [NHS England Tech Radar](https://radar.engineering.england.nhs.uk/).\n\n\u003e NOTE: This project is currently under initial development so isn't finalised, but should work if you want to experiment with Playwright Python.\n\n## Table of Contents\n\n- [Playwright Python Blueprint](#playwright-python-blueprint)\n  - [Table of Contents](#table-of-contents)\n  - [Setup](#setup)\n    - [Prerequisites](#prerequisites)\n    - [Configuration](#configuration)\n  - [Getting Started](#getting-started)\n  - [Utilities](#utilities)\n  - [Contributing](#contributing)\n  - [Contacts](#contacts)\n  - [Licence](#licence)\n\n## Setup\n\nYou can clone this whole repository using the code below:\n\n```shell\ngit clone https://github.com/nhs-england-tools/playwright-python-blueprint.git\n```\n\n### Prerequisites\n\nTo utilise the blueprint code, you will need to have the following installed:\n\n- [Python](https://www.python.org/downloads/) 3.12 or greater\n\n\u003e NOTE: There are currently known issues with Python 3.13 and Playwright, so if you encounter issues running this project whilst using Python 3.13 it is recommended to downgrade to Python 3.12 in the interim.\n\nWhilst not required to get started, you may also want to [configure a Python virtual environment for your project](https://docs.python.org/3/library/venv.html) before proceeding with\nthe configuration.  If you are using an IDE such as Visual Studio Code or PyCharm, you will normally be prompted to do this automatically.\n\n### Configuration\n\nTo get started using Playwright and with the examples provided, use the following commands:\n\n```shell\npip install -r requirements.txt\nplaywright install --with-deps\n```\n\nThis will install all the necessary packages for executing Playwright tests, and install Playwright ready for use by the framework.  You can test the configuration\nhas worked by running our example tests, which can be done using the following command (this will run all tests with tracing reports turned on, and in headed mode\nso you can see the browser execution):\n\n```shell\npytest --tracing on --headed\n```\n\nAlternatively if you are using Visual Studio Code as your IDE, we have pre-configured this project to work with the\n[Testing functionality](https://code.visualstudio.com/docs/editor/testing) so the example tests should be discovered automatically.\n\n## Getting Started\n\n\u003e NOTE: This section is currently under development and requires further work, so links to pages within this repository may not be very useful at this stage.\n\nOnce you've confirmed your installation is working, please take a look at the following guides on getting started with Playwright Python.\n\n1. [Understanding Playwright Python](./docs/getting-started/1_Understanding_Playwright_Python.md)\n2. [Blueprint File Breakdown](./docs/getting-started/2_Blueprint_File_Breakdown.md)\n\nWe've also created a [Quick Reference Guide](./docs/getting-started/Quick_Reference_Guide.md) for common commands and actions you may regularly perform using this blueprint.\n\nFor additional reading and guidance on writing tests, we also recommend reviewing the [Playwright Python documentation](https://playwright.dev/python/docs/writing-tests).\n\n## Utilities\n\nThis blueprint also provides the following utility classes, that can be used to aid in testing:\n\n|Utility|Description|\n|-------|-----------|\n|[Axe](./docs/utility-guides/Axe.md)|Accessibility scanning using axe-core.|\n|[Date Time Utility](./docs/utility-guides/DateTimeUtility.md)|Basic functionality for managing date/times.|\n|[NHSNumberTools](./docs/utility-guides/NHSNumberTools.md)|Basic tools for working with NHS numbers.|\n|[User Tools](./docs/utility-guides/UserTools.md)|Basic user management tool.|\n\n## Contributing\n\nFurther guidance on contributing to this project can be found in our [contribution](./CONTRIBUTING.md) page.\n\n## Contacts\n\nIf you have any ideas or require support for this project, please [raise an issue via this repository](https://github.com/nhs-england-tools/playwright-python-blueprint/issues/new/choose) using the appropriate template.\n\nIf you have any general queries regarding this blueprint, please contact [dave.harding1@nhs.net](mailto:dave.harding1@nhs.net).\n\n## Licence\n\nUnless stated otherwise, the codebase is released under the [MIT License](LICENCE.md). This covers both the codebase and any sample code in the documentation.\n\nAny HTML or Markdown documentation is [© Crown Copyright](https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/uk-government-licensing-framework/crown-copyright/) and available under the terms of the [Open Government Licence v3.0](https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnhs-england-tools%2Fplaywright-python-blueprint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnhs-england-tools%2Fplaywright-python-blueprint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnhs-england-tools%2Fplaywright-python-blueprint/lists"}