Skip to content

Commit 8248657

Browse files
authored
test(tracing): Add LCP tests. (#4416)
1 parent 28b78da commit 8248657

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed
15.7 KB
Loading
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
<title></title>
6+
<script src="{{htmlWebpackPlugin.options.initialization}}"></script>
7+
</head>
8+
<body>
9+
<div id="content"></div>
10+
<script src="{{htmlWebpackPlugin.options.subject}}"></script>
11+
<img src="https://example.com/path/to/image.png">
12+
</body>
13+
</html>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { expect, Route } from '@playwright/test';
2+
3+
import { sentryTest } from '../../../../utils/fixtures';
4+
import { getSentryTransactionRequest } from '../../../../utils/helpers';
5+
6+
sentryTest('should capture a LCP vital with element details.', async ({ browserName, getLocalTestPath, page }) => {
7+
if (browserName !== 'chromium') {
8+
sentryTest.skip();
9+
}
10+
11+
await page.route('**/path/to/image.png', (route: Route) =>
12+
route.fulfill({ path: `${__dirname}/assets/sentry-logo-600x179.png` }),
13+
);
14+
15+
const url = await getLocalTestPath({ testDir: __dirname });
16+
page.goto(url);
17+
18+
// Force closure of LCP listener.
19+
page.click('body');
20+
const eventData = await getSentryTransactionRequest(page);
21+
22+
expect(eventData.measurements).toBeDefined();
23+
expect(eventData.measurements?.lcp?.value).toBeDefined();
24+
expect(eventData.measurements?.['mark.lcp']?.value).toBeDefined();
25+
26+
expect(eventData.tags?.['lcp.element']).toBe('body > img');
27+
expect(eventData.tags?.['lcp.size']).toBe(107400);
28+
expect(eventData.tags?.['lcp.url']).toBe('https://example.com/path/to/image.png');
29+
});

0 commit comments

Comments
 (0)