-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
♻️ use playwright for e2e #3159
base: main
Are you sure you want to change the base?
Conversation
Bundles Sizes Evolution
🚀 CPU Performance
🧠 Memory Performance
|
2d0d0e3
to
ba625db
Compare
1dd0038
to
8dfc67f
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3159 +/- ##
==========================================
- Coverage 93.70% 93.67% -0.03%
==========================================
Files 290 290
Lines 7654 7657 +3
Branches 1745 1748 +3
==========================================
+ Hits 7172 7173 +1
- Misses 482 484 +2 ☔ View full report in Codecov by Sentry. |
dc360fb
to
faf30a2
Compare
894fb1b
to
959889f
Compare
959889f
to
71ebc01
Compare
71ebc01
to
b73395c
Compare
.gitlab-ci.yml
Outdated
reports: | ||
junit: test-report/e2e/*.xml | ||
script: | ||
- yarn | ||
- yarn playwright install --with-deps |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately playwright recommends to NOT cache browsers
This is not ideal because it takes about as much time to install dependencies and browsers than running the tests in the CI.
I believe we can get around that by having pre-build Docker image.
c6517f4
to
c63f4f7
Compare
Important
This is a POC / WIP started during performance friday
Motivation
Use playwright for e2e testing.
Changes
Speed 🚀
(*): BrowserStack timing does not account for the time spend waiting for BS resources
new useful commands:
yarn test:e2e --ui
run playwright locally in UI modeyarn test:e2e test/e2e/scenario/rum/init.scenario.ts
to run one test fileyarn test:e2e recorder
to run all test files that haverecorder
in the nameBS_USERNAME=johdoe_abcD BS_ACCESS_KEY=askldjhfn yarn test:e2e:bs
to run the tests in Browserstackyarn test:e2e --debug
to playwright in debug modenew useful method:
await page.pause()
to use with--debug
createTest.only('foo', () => { /* ... */})
to run only this one test, also particularly useful in debug modeAnd everything together:
BS_USERNAME=johdoe_abcD BS_ACCESS_KEY=askldjhfn yarn test:e2e:bs --ui --debug recorder
status:
developer-extension/developerExtension.scenario.ts
recorder/recorder.scenario.ts
recorder/shadowDow.scenario.ts
recorder/viewports.scenario.ts
rum/actions.scenario.ts
rum/errors.scenario.ts
rum/init.scenario.ts
rum/resources.scenario.ts
rum/s8sInject.scenario.ts
rum/sessions.scenario.ts
rum/tracing.scenario.ts
rum/views.scenario.ts
rum/vitals.scenario.ts
eventBridge.scenario.ts
logs.scenario.ts
microfrontend.scenario.ts
sessionStore.scenario.ts
telemetry.scenario.ts
trackingConsent.scenario.ts
transport.scenario.ts
todo:
Testing
Locally, run
yarn test:e2e --ui
I have gone over the contributing documentation.