Skip to content

Improve Replay Playwright Integration Tests #7044

Closed
@Lms24

Description

@Lms24

Problem Statement

Right now, our Playwright integration tests for Replay only cover some simple scenarios without checking recording data too carefully. Due to some bugs/regressions in the past we want to spend some time to ensure these regressions don't keep happening. Due to the fact that our Playwright integration tests are already set up for Replay and they also test against CDN bundles, we want to improve them and add more test cases to ensure better fault detection capability going forward.

Solution Brainstorm

### Test setup
- [x] #7052 
- [x] Add helper functions to decompress compressed payloads (https://github.com/getsentry/sentry-javascript/pull/7082)
- [x] Add full SDK+tracing+replay bundle to set of bundles we test against (#7096)
### Test areas/Scenarios

Feel free to add ideas/scenarios:

- [x] Custom recording events: ensure our breadcrumbs and performance spans are sent (https://github.com/getsentry/sentry-javascript/pull/7052)
- [x] Compression worker: ensure compression works (i.e. decompress and check compressed payloads) (https://github.com/getsentry/sentry-javascript/pull/7082)
- [x] One test with Pageload and Navigations that deep-checks all rrweb recording payloads (#7212)
- [x] Fetch/XHR requests should be recorded (#7224)
- [x] Test blocking options https://github.com/getsentry/sentry-javascript/pull/7201
- [x] Test flushing interval https://github.com/getsentry/sentry-javascript/pull/7240
- [x] Error mode -> Session mode transition (and general error sampling) (#7251)
- [x] Linked errors: ensure error id's are included (or excluded if dropped) (#7251)
- [x] Test Unicode characters in payloads (#7252)
- [x] Test session expiration (https://github.com/getsentry/sentry-javascript/pull/7253)
- [x] Test privacy options for DOM nodes that are later inserted into the DOM (to test mutation observer specifically)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions