element-web/playwright
Michael Telatynski fbf72f6a3a
Migrate register.spec.ts from Cypress to Playwright (#11942)
* Install playwright

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add foundations for writing tests under Playwright

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* .gitignore juggling

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tsconfig and fix eslint rules

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add docker & synapse plugins

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add login.spec.ts

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Wire up fixture which sets up ElementAppPage & bakes config.json

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove launch test, it has served its purpose

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove test which has been ported to Playwright

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix test not cleaning up after itself

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Move registerUser to the Homeserver interface

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove unused fixture param

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove redundant launch test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add newline

* Run both legacy & rust crypto tests in Playwright

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove redundant comment

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Create plugin for mail-hog

* Move injectAxe into element-web-test.ts

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Switch out axe-playwright for @axe-core/playwright

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Migrate email.spec.ts from Cypress to Playwright

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* prettier

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Use Playwright snapshot utility over Percy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove commented our Percy badge as we're unlikely to want to go back

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Migrate user-onboarding-old.spec.ts

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Migrate user-onboarding-new.spec.ts

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix bad merge

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix test and re-enable

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Run linters on playwright

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Make typescript happier

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update typescript

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Migrate register.spec.ts from Cypress to Playwright

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update import

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2023-11-28 12:08:05 +00:00
..
e2e Migrate register.spec.ts from Cypress to Playwright (#11942) 2023-11-28 12:08:05 +00:00
pages Migrate register.spec.ts from Cypress to Playwright (#11942) 2023-11-28 12:08:05 +00:00
plugins Migrate one-to-one-chat.spec.ts from Cypress to Playwright (#11953) 2023-11-28 11:02:50 +00:00
snapshots Migrate register.spec.ts from Cypress to Playwright (#11942) 2023-11-28 12:08:05 +00:00
.gitignore Consolidate snapshots between Legacy & Rust crypto in the happy case (#11950) 2023-11-28 10:22:25 +00:00
docker-entrypoint.sh Consolidate snapshots between Legacy & Rust crypto in the happy case (#11950) 2023-11-28 10:22:25 +00:00
Dockerfile Consolidate snapshots between Legacy & Rust crypto in the happy case (#11950) 2023-11-28 10:22:25 +00:00
element-web-test.ts Migrate register.spec.ts from Cypress to Playwright (#11942) 2023-11-28 12:08:05 +00:00
global.d.ts Migrate user-onboarding-*.spec.ts from Cypress to Playwright (#11927) 2023-11-27 12:11:00 +00:00
README.md Consolidate snapshots between Legacy & Rust crypto in the happy case (#11950) 2023-11-28 10:22:25 +00:00
tsconfig.json Migrate user-onboarding-*.spec.ts from Cypress to Playwright (#11927) 2023-11-27 12:11:00 +00:00

To update snapshots you will need to run Playwright on a Linux machine. If you have access to docker then you can use the following:

docker build playwright -t matrix-react-sdk-playwright
docker run \
    --rm \
    --network host \
    -v $(pwd)/../:/work/ \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /tmp/:/tmp/ \
    -it matrix-react-sdk-playwright