Skip to content

End to End Tests

End to End Tests #8890

Triggered via merge group July 8, 2025 17:30
Status Success
Total duration 14m 38s
Artifacts 9

end-to-end-tests.yaml

on: merge_group
Build Element-Web
2m 26s
Build Element-Web
Matrix: playwright
Downstream Playwright tests [element-modules]  /  Run Playwright end-to-end tests & upload html report
6m 40s
Downstream Playwright tests [element-modules] / Run Playwright end-to-end tests & upload html report
end-to-end-tests
51s
end-to-end-tests
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 6 notices
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room: playwright/e2e/left-panel/room-list-panel/room-list.spec.ts#L150
2) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByTestId('room-list').getByRole('gridcell', { name: 'Open room room0' }) 148 | 149 | await expect(roomListView.getByRole("gridcell", { name: "Open room room0" })).toBeVisible(); > 150 | await roomListView.getByRole("gridcell", { name: "Open room room0" }).click(); | ^ 151 | 152 | const filters = page.getByRole("listbox", { name: "Room list filters" }); 153 | await filters.getByRole("option", { name: "People" }).click(); at /home/runner/work/element-web/element-web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:150:83
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room: playwright/e2e/left-panel/room-list-panel/room-list.spec.ts#L0
2) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room Test timeout of 30000ms exceeded.
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:44:13 › Room list › Room list › should render the room list @screenshot: playwright/e2e/left-panel/room-list-panel/room-list.spec.ts#L54
1) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:44:13 › Room list › Room list › should render the room list @screenshot Error: expect(locator).toHaveScreenshot(expected) 9210 pixels (ratio 0.05 of all image pixels) are different. Expected: /home/runner/work/element-web/element-web/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-scrolled-linux.png Received: /home/runner/work/element-web/element-web/playwright/test-results/left-panel-room-list-panel-b32ce-should-render-the-room-list-Chrome/room-list-scrolled-actual.png Diff: /home/runner/work/element-web/element-web/playwright/test-results/left-panel-room-list-panel-b32ce-should-render-the-room-list-Chrome/room-list-scrolled-diff.png Call log: - Expect "toHaveScreenshot(room-list-scrolled.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for getByTestId('room-list') - locator resolved to <div class="mx_RoomList" data-testid="room-list">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 9210 pixels (ratio 0.05 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for getByTestId('room-list') - locator resolved to <div class="mx_RoomList" data-testid="room-list">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 9210 pixels (ratio 0.05 of all image pixels) are different. 52 | await page.mouse.wheel(0, 1000); 53 | await expect(roomListView.getByRole("gridcell", { name: "Open room room0" })).toBeVisible(); > 54 | await expect(roomListView).toMatchScreenshot("room-list-scrolled.png"); | ^ 55 | }); 56 | 57 | test("should open the room when it is clicked", async ({ page, app, user }) => { at /home/runner/work/element-web/element-web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:54:40
[Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit: playwright/e2e/crypto/device-verification.spec.ts#L0
4) [Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit Error: apiRequestContext.fetch: Target page, context or browser has been closed Call log: - → POST http://localhost:37175/_synapse/admin/v1/register - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.7204.23 Safari/537.36 - accept: */* - accept-encoding: gzip,deflate,br - content-type: application/json - content-length: 311 at Api.request (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/utils/api.js:28:41) at StartedSynapseContainer.registerUserInternal (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/testcontainers/synapse.js:287:42) at Object.credentials (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/fixtures/user.js:16:29)
[Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit: playwright/e2e/crypto/device-verification.spec.ts#L97
4) [Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit Error: "route.fetch: Test ended." while running route callback. Consider awaiting `await page.unrouteAll({ behavior: 'ignoreErrors' })` before the end of the test to ignore remaining routes in flight. 95 | await route.fulfill({ json: {} }); 96 | await new Promise((f) => setTimeout(f, 1000)); > 97 | await route.fetch(); | ^ 98 | }); 99 | 100 | await logIntoElement(page, credentials); at /home/runner/work/element-web/element-web/playwright/e2e/crypto/device-verification.spec.ts:97:25
[Chrome] › playwright/e2e/audio-player/audio-player.spec.ts:250:9 › Audio player › should support creating a reply chain with multiple audio files @no-firefox @no-webkit @screenshot: playwright/e2e/audio-player/audio-player.spec.ts#L283
3) [Chrome] › playwright/e2e/audio-player/audio-player.spec.ts:250:9 › Audio player › should support creating a reply chain with multiple audio files @no-firefox @no-webkit @screenshot Error: Timed out 5000ms waiting for expect(locator).toHaveCount(expected) Locator: locator('.mx_EventTile_last').locator('.mx_ReplyChain') Expected: 2 Received: 1 Call log: - Expect "toHaveCount" with timeout 5000ms - waiting for locator('.mx_EventTile_last').locator('.mx_ReplyChain') 9 × locator resolved to 1 element - unexpected value "1" 281 | 282 | // Assert that there are two "mx_ReplyChain" elements > 283 | await expect(tile.locator(".mx_ReplyChain")).toHaveCount(2); | ^ 284 | 285 | // Assert that one line contains the user name 286 | await expect(tile.locator(".mx_ReplyChain .mx_ReplyTile_sender").getByText(user.displayName)).toBeVisible(); at /home/runner/work/element-web/element-web/playwright/e2e/audio-player/audio-player.spec.ts:283:58
[Chrome] › playwright/e2e/audio-player/audio-player.spec.ts:222:9 › Audio player › should support replying to audio file with another audio file @no-firefox @no-webkit @screenshot: playwright/e2e/audio-player/audio-player.spec.ts#L244
2) [Chrome] › playwright/e2e/audio-player/audio-player.spec.ts:222:9 › Audio player › should support replying to audio file with another audio file @no-firefox @no-webkit @screenshot Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: locator('.mx_EventTile_last').locator('.mx_ReplyChain_wrapper .mx_MFileBody_info[role=\'button\']').locator('.mx_MFileBody_info_filename') Expected: visible Received: <element(s) not found> Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.mx_EventTile_last').locator('.mx_ReplyChain_wrapper .mx_MFileBody_info[role=\'button\']').locator('.mx_MFileBody_info_filename') 242 | const button = tile.locator(".mx_ReplyChain_wrapper .mx_MFileBody_info[role='button']"); 243 | // Assert that the file button has file name > 244 | await expect(button.locator(".mx_MFileBody_info_filename")).toBeVisible(); | ^ 245 | 246 | await takeSnapshots(page, app, "Selected EventTile of audio player with a reply"); 247 | }, at /home/runner/work/element-web/element-web/playwright/e2e/audio-player/audio-player.spec.ts:244:73
[Chrome] › playwright/e2e/app-loading/stored-credentials.spec.ts:26:5 › Shows the last known page on reload: playwright/e2e/app-loading/stored-credentials.spec.ts#L42
1) [Chrome] › playwright/e2e/app-loading/stored-credentials.spec.ts:26:5 › Shows the last known page on reload Error: Timed out 5000ms waiting for expect(locator).toHaveURL(expected) Locator: locator(':root') Expected pattern: /\/#\/room\// Received string: "http://localhost:8080/#/home" Call log: - Expect "toHaveURL" with timeout 5000ms - waiting for locator(':root') 9 × locator resolved to <html lang="en">…</html> - unexpected value "http://localhost:8080/#/home" 40 | 41 | // Check that the room reloaded > 42 | await expect(page).toHaveURL(/\/#\/room\//); | ^ 43 | await expect(page.locator(".mx_RoomHeader")).toContainText("Test Room"); 44 | }); 45 | at /home/runner/work/element-web/element-web/playwright/e2e/app-loading/stored-credentials.spec.ts:42:24
[Chrome] › playwright/e2e/timeline/media-preview-settings.spec.ts:38:9 › Media preview settings › should be able to hide avatars of inviters @screenshot: playwright/e2e/timeline/media-preview-settings.spec.ts#L65
2) [Chrome] › playwright/e2e/timeline/media-preview-settings.spec.ts:38:9 › Media preview settings › should be able to hide avatars of inviters @screenshot Error: Timed out 5000ms waiting for expect(locator).toHaveScreenshot(expected) Timeout 5000ms exceeded. Expected: /home/runner/work/element-web/element-web/playwright/snapshots/timeline/media-preview-settings.spec.ts/invite-with-avatar-linux.png Call log: - Expect "toHaveScreenshot(invite-with-avatar.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for getByRole('complementary').filter({ hasText: 'Do you want to join Test room' }) - Timeout 5000ms exceeded. 63 | await expect( 64 | page.getByRole("complementary").filter({ hasText: "Do you want to join Test room" }), > 65 | ).toMatchScreenshot("invite-with-avatar.png", { | ^ 66 | // Hide the mxid, which is not stable. 67 | css: ` 68 | .mx_RoomPreviewBar_inviter_mxid { at /home/runner/work/element-web/element-web/playwright/e2e/timeline/media-preview-settings.spec.ts:65:11
[Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:81:9 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot: playwright/e2e/oidc/oidc-native.spec.ts#L0
1) [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:81:9 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot Error: Request to http://localhost:33565/_matrix/client/v3/publicRooms failed with status 500: {"errcode":"M_FORBIDDEN","error":"User not found"} at ClientServerApi.request (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/utils/api.js:38:19) at StartedSynapseWithMasContainer.deletePublicRooms (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/testcontainers/synapse.js:277:34) at StartedSynapseWithMasContainer.onTestFinished (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/testcontainers/synapse.js:272:9) at Object.context (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/fixtures/services.js:112:9)
🎭 Playwright Run Summary
14 skipped 82 passed (7.2m)
🎭 Playwright Run Summary
32 skipped 59 passed (7.5m)
🎭 Playwright Run Summary
2 skipped 97 passed (8.1m)
🎭 Playwright Run Summary
2 flaky [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:44:13 › Room list › Room list › should render the room list @screenshot [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room 1 skipped 96 passed (9.3m)
🎭 Playwright Run Summary
4 flaky [Chrome] › playwright/e2e/app-loading/stored-credentials.spec.ts:26:5 › Shows the last known page on reload [Chrome] › playwright/e2e/audio-player/audio-player.spec.ts:222:9 › Audio player › should support replying to audio file with another audio file @no-firefox @no-webkit @screenshot [Chrome] › playwright/e2e/audio-player/audio-player.spec.ts:250:9 › Audio player › should support creating a reply chain with multiple audio files @no-firefox @no-webkit @screenshot [Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit 91 passed (9.5m)
🎭 Playwright Run Summary
2 flaky [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:81:9 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot [Chrome] › playwright/e2e/timeline/media-preview-settings.spec.ts:38:9 › Media preview settings › should be able to hide avatars of inviters @screenshot 85 passed (10.1m)

Artifacts

Produced during runtime
Name Size Digest
all-blob-reports-Chrome-1 Expired
19 MB
sha256:88af2b854021267595f69796cd7db360781c8e6c81c05c4d43f481fd73b171d0
all-blob-reports-Chrome-2 Expired
14.2 MB
sha256:908fb3a1fb5486498a37a2aa61396bb2f73d2ebdef79dd12927abf267b25b4ed
all-blob-reports-Chrome-3 Expired
325 KB
sha256:d4fe5de4b6fec89107a94cfac5465bd0463f2bcbc955a5be9a997675e38b5e00
all-blob-reports-Chrome-4 Expired
353 KB
sha256:10c8fef96d2f7f55328c31a173e1e25252c95ea02c6ec0c82707bcb4bb2eef4d
all-blob-reports-Chrome-5 Expired
446 KB
sha256:dc7945dc323561a35a2ef60334e218e125b2c60f2e1fc2f522a74f8c73d4b99d
all-blob-reports-Chrome-6 Expired
9.12 MB
sha256:b72a174bf2e1873e98a6e4c1a944e34f1a936632ee0f15cd010cb8173881cc51
html-report Expired
41.5 MB
sha256:995237474ea2e92538b321bf4fc0665a5fcfc365a75a81020230d8f1e3a139fa
playwright-html-report Expired
2.27 MB
sha256:60d850d988d6c50471924916e564efe2745d9111993cff9965d199d0ecb9b1e8
webapp Expired
38.4 MB
sha256:96f21820bd77c7b98fdf553a702b6fd1c298272916bb02886b781b9768ea54fe