Skip to content

Fix the ui tests for jupyterlab 4.3 #358

Fix the ui tests for jupyterlab 4.3

Fix the ui tests for jupyterlab 4.3 #358

Triggered via pull request November 6, 2024 16:24
Status Failure
Total duration 13m 13s
Artifacts 4

build.yml

on: pull_request
Matrix: build_extensions
Python test on extensions
3m 0s
Python test on extensions
Matrix: integration-tests
Fit to window
Zoom out
Zoom in

Annotations

10 errors, 8 warnings, and 2 notices
tests/ui-config.spec.ts:97:7 › #stackedMessages › messages should be stacked by default: python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts#L110
1) tests/ui-config.spec.ts:97:7 › #stackedMessages › messages should be stacked by default ─────── Error: Screenshot comparison failed: Expected an image 950px by 108px, received 950px by 101px. Expected: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts-snapshots/stacked-messages-linux.png Received: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-dc9c3-hould-be-stacked-by-default/stacked-messages-actual.png Diff: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-dc9c3-hould-be-stacked-by-default/stacked-messages-diff.png 108 | ); 109 | > 110 | expect(await messagesContainer.screenshot()).toMatchSnapshot( | ^ 111 | 'stacked-messages.png' 112 | ); 113 | }); at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts:110:50
tests/ui-config.spec.ts:97:7 › #stackedMessages › messages should be stacked by default: python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts#L110
1) tests/ui-config.spec.ts:97:7 › #stackedMessages › messages should be stacked by default ─────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Screenshot comparison failed: Expected an image 950px by 108px, received 950px by 101px. Expected: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts-snapshots/stacked-messages-linux.png Received: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-dc9c3-hould-be-stacked-by-default-retry1/stacked-messages-actual.png Diff: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-dc9c3-hould-be-stacked-by-default-retry1/stacked-messages-diff.png 108 | ); 109 | > 110 | expect(await messagesContainer.screenshot()).toMatchSnapshot( | ^ 111 | 'stacked-messages.png' 112 | ); 113 | }); at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts:110:50
tests/ui-config.spec.ts:97:7 › #stackedMessages › messages should be stacked by default: python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts#L110
1) tests/ui-config.spec.ts:97:7 › #stackedMessages › messages should be stacked by default ─────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: Screenshot comparison failed: Expected an image 950px by 108px, received 950px by 101px. Expected: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts-snapshots/stacked-messages-linux.png Received: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-dc9c3-hould-be-stacked-by-default-retry2/stacked-messages-actual.png Diff: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-dc9c3-hould-be-stacked-by-default-retry2/stacked-messages-diff.png 108 | ); 109 | > 110 | expect(await messagesContainer.screenshot()).toMatchSnapshot( | ^ 111 | 'stacked-messages.png' 112 | ); 113 | }); at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts:110:50
tests/ui-config.spec.ts:115:7 › #stackedMessages › should update settings value stackMessages on existing chat: python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts#L152
2) tests/ui-config.spec.ts:115:7 › #stackedMessages › should update settings value stackMessages on existing chat Error: Screenshot comparison failed: Expected an image 950px by 158px, received 950px by 151px. Expected: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts-snapshots/not-stacked-messages-linux.png Received: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-5963f-ckMessages-on-existing-chat/not-stacked-messages-actual.png Diff: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-5963f-ckMessages-on-existing-chat/not-stacked-messages-diff.png 150 | ); 151 | > 152 | expect(await messagesContainer.screenshot()).toMatchSnapshot( | ^ 153 | 'not-stacked-messages.png' 154 | ); 155 | }); at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts:152:50
tests/ui-config.spec.ts:115:7 › #stackedMessages › should update settings value stackMessages on existing chat: python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts#L152
2) tests/ui-config.spec.ts:115:7 › #stackedMessages › should update settings value stackMessages on existing chat Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Screenshot comparison failed: Expected an image 950px by 158px, received 950px by 151px. Expected: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts-snapshots/not-stacked-messages-linux.png Received: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-5963f-ckMessages-on-existing-chat-retry1/not-stacked-messages-actual.png Diff: /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/test-results/tests-ui-config--stackedMe-5963f-ckMessages-on-existing-chat-retry1/not-stacked-messages-diff.png 150 | ); 151 | > 152 | expect(await messagesContainer.screenshot()).toMatchSnapshot( | ^ 153 | 'not-stacked-messages.png' 154 | ); 155 | }); at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts:152:50
tests/ui-config.spec.ts:115:7 › #stackedMessages › should update settings value stackMessages on existing chat: python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts#L143
2) tests/ui-config.spec.ts:115:7 › #stackedMessages › should update settings value stackMessages on existing chat Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toHaveCount(expected) Locator: getByRole('main').getByRole('tabpanel', { name: 'my-chat.chat' }).locator('.jp-chat-messages-container').locator('.jp-chat-message') Expected: 2 Received: 0 Call log: - expect.toHaveCount with timeout 5000ms - waiting for getByRole('main').getByRole('tabpanel', { name: 'my-chat.chat' }).locator('.jp-chat-messages-container').locator('.jp-chat-message') - locator resolved to 0 elements - unexpected value "0" - locator resolved to 0 elements - unexpected value "0" - locator resolved to 0 elements - unexpected value "0" - locator resolved to 0 elements - unexpected value "0" - locator resolved to 0 elements - unexpected value "0" - locator resolved to 0 elements - unexpected value "0" - locator resolved to 0 elements - unexpected value "0" - locator resolved to 0 elements - unexpected value "0" - locator resolved to 0 elements - unexpected value "0" 141 | const messagesContainer = chatPanel.locator('.jp-chat-messages-container'); 142 | const messages = messagesContainer.locator('.jp-chat-message'); > 143 | await expect(messages).toHaveCount(2); | ^ 144 | 145 | // Hide the time to avoid time zone diff 146 | await messages at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/ui-config.spec.ts:143:28
tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata: python/jupyterlab-collaborative-chat/ui-tests/tests/chat-file.spec.ts#L1
3) tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ──────────────── Test timeout of 60000ms exceeded.
tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata: python/jupyterlab-collaborative-chat/ui-tests/http:/localhost:8888/static/lab/jlab_core.30ac71af4fabafb542d8.js?v=30ac71af4fabafb542d8#L1
3) tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ──────────────── Error: proxy.evaluate: Error: Invalid response: 404 Not Found at i.create (http://localhost:8888/static/lab/jlab_core.30ac71af4fabafb542d8.js?v=30ac71af4fabafb542d8:1:1429663) at async m.get (http://localhost:8888/static/lab/jlab_core.30ac71af4fabafb542d8.js?v=30ac71af4fabafb542d8:1:1374452) at async eval (eval at evaluate (:226:30), <anonymous>:2:12) at async <anonymous>:252:30 at i.create (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/http:/localhost:8888/static/lab/jlab_core.30ac71af4fabafb542d8.js?v=30ac71af4fabafb542d8:1:1429663) at async m.get (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/http:/localhost:8888/static/lab/jlab_core.30ac71af4fabafb542d8.js?v=30ac71af4fabafb542d8:1:1374452) at async eval (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/eval at evaluate (:226:30), <anonymous>:2:12) at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/async <anonymous>:252:30 at readFileContent (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/chat-file.spec.ts:32:21) at hasId (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/chat-file.spec.ts:173:27) at Timeout.check (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:183:33)
tests/notifications.spec.ts:108:7 › #notifications › should remove notification when the message is read: python/jupyterlab-collaborative-chat/ui-tests/tests/notifications.spec.ts#L1
4) tests/notifications.spec.ts:108:7 › #notifications › should remove notification when the message is read Test timeout of 60000ms exceeded.
tests/notifications.spec.ts:108:7 › #notifications › should remove notification when the message is read: python/jupyterlab-collaborative-chat/ui-tests/tests/test-utils.ts#L50
4) tests/notifications.spec.ts:108:7 › #notifications › should remove notification when the message is read Error: locator.isChecked: Target page, context or browser has been closed at tests/test-utils.ts:50 48 | const tabName = splitPath[splitPath.length - 1]; 49 | await page.waitForCondition( > 50 | async () => await page.activity.isTabActive(tabName) | ^ 51 | ); 52 | return (await page.activity.getPanelLocator(tabName)) as Locator; 53 | }; at Object.isInSimpleMode (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:311:17) at ActivityHelper.isTabActive (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/node_modules/@jupyterlab/galata/src/helpers/activity.ts:46:21) at /home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/tests/test-utils.ts:50:37 at Timeout.check (/home/runner/work/jupyter-chat/jupyter-chat/python/jupyterlab-collaborative-chat/ui-tests/node_modules/@jupyterlab/galata/src/utils.ts:183:33)
Check Links
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Build jupyter_chat
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Build ws chat extension
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Build collaborative chat extension
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Python test on extensions
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ws integration tests
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3, actions/cache@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Deprecation notice: v1, v2, and v3 of the artifact actions
The following artifacts were uploaded using a version of actions/upload-artifact that is scheduled for deprecation: "jupyterlab_collaborative_chat-artifacts", "jupyterlab_collaborative_chat-playwright-tests", "jupyterlab_ws_chat-artifacts", "jupyterlab_ws_chat-playwright-tests". Please update your workflow to use v4 of the artifact actions. Learn more: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
collaborative integration tests
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3, actions/cache@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
🎭 Playwright Run Summary
1 passed (6.2s)
🎭 Playwright Run Summary
2 failed tests/ui-config.spec.ts:97:7 › #stackedMessages › messages should be stacked by default ──────── tests/ui-config.spec.ts:115:7 › #stackedMessages › should update settings value stackMessages on existing chat 6 flaky tests/chat-file.spec.ts:166:7 › #ychat › should add an id to the chat metadata ───────────────── tests/notifications.spec.ts:108:7 › #notifications › should remove notification when the message is read tests/notifications.spec.ts:153:7 › #notifications › should remove notifications from settings ─ tests/raw-time.spec.ts:58:7 › #raw_time › message timestamp should be raw according to file content tests/unread.spec.ts:56:9 › #messagesNavigation › navigation without unread message › should navigate to last message tests/unread.spec.ts:197:9 › #messagesNavigation › navigation with new unread message › should navigate to new unread message 2 skipped 78 passed (6.8m)

Artifacts

Produced during runtime
Name Size
jupyterlab_collaborative_chat-artifacts
1.69 MB
jupyterlab_collaborative_chat-playwright-tests
1.33 MB
jupyterlab_ws_chat-artifacts
1.34 MB
jupyterlab_ws_chat-playwright-tests
426 KB