Skip to content

feat(e2e): add Playwright e2e tests for first-run wizard and settings page #3

feat(e2e): add Playwright e2e tests for first-run wizard and settings page

feat(e2e): add Playwright e2e tests for first-run wizard and settings page #3

Re-run triggered March 23, 2026 16:06
Status Failure
Total duration 4m 46s
Artifacts

e2e.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

11 errors, 1 warning, and 1 notice
[chromium] › e2e/settings.spec.ts:59:2 › "About & What's new" navigation entry › opens the first run wizard: e2e/settings.spec.ts#L73
3) [chromium] › e2e/settings.spec.ts:59:2 › "About & What's new" navigation entry › opens the first run wizard Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('#firstrunwizard_about') Expected: visible Error: strict mode violation: locator('#firstrunwizard_about') resolved to 2 elements: 1) <li data-v-1596ceaf="" data-v-bdb908d2="" data-v-6c007912="" data-v-f00deac7="" id="firstrunwizard_about" class="list-item__wrapper account-menu-entry">…</li> aka getByRole('listitem').filter({ hasText: 'About & What\'s new' }) 2) <a href="" aria-label="" target="_self" data-v-1596ceaf="" id="firstrunwizard_about" rel="noopener noreferrer" class="list-item__anchor">…</a> aka getByRole('link', { name: 'About & What\'s new' }) Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#firstrunwizard_about') 71 | 72 | const aboutEntry = page.locator('#firstrunwizard_about') > 73 | await expect(aboutEntry).toBeVisible() | ^ 74 | await aboutEntry.click() 75 | 76 | // The wizard should open again via the app-menu.ts handler at /home/runner/actions-runner/_work/firstrunwizard/firstrunwizard/e2e/settings.spec.ts:73:28
[chromium] › e2e/settings.spec.ts:59:2 › "About & What's new" navigation entry › opens the first run wizard: e2e/settings.spec.ts#L73
3) [chromium] › e2e/settings.spec.ts:59:2 › "About & What's new" navigation entry › opens the first run wizard Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('#firstrunwizard_about') Expected: visible Error: strict mode violation: locator('#firstrunwizard_about') resolved to 2 elements: 1) <li data-v-1596ceaf="" data-v-bdb908d2="" data-v-6c007912="" data-v-f00deac7="" id="firstrunwizard_about" class="list-item__wrapper account-menu-entry">…</li> aka getByRole('listitem').filter({ hasText: 'About & What\'s new' }) 2) <a href="" aria-label="" target="_self" data-v-1596ceaf="" id="firstrunwizard_about" rel="noopener noreferrer" class="list-item__anchor">…</a> aka getByRole('link', { name: 'About & What\'s new' }) Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#firstrunwizard_about') 71 | 72 | const aboutEntry = page.locator('#firstrunwizard_about') > 73 | await expect(aboutEntry).toBeVisible() | ^ 74 | await aboutEntry.click() 75 | 76 | // The wizard should open again via the app-menu.ts handler at /home/runner/actions-runner/_work/firstrunwizard/firstrunwizard/e2e/settings.spec.ts:73:28
[chromium] › e2e/settings.spec.ts:59:2 › "About & What's new" navigation entry › opens the first run wizard: e2e/settings.spec.ts#L73
3) [chromium] › e2e/settings.spec.ts:59:2 › "About & What's new" navigation entry › opens the first run wizard Error: expect(locator).toBeVisible() failed Locator: locator('#firstrunwizard_about') Expected: visible Error: strict mode violation: locator('#firstrunwizard_about') resolved to 2 elements: 1) <li data-v-1596ceaf="" data-v-bdb908d2="" data-v-6c007912="" data-v-f00deac7="" id="firstrunwizard_about" class="list-item__wrapper account-menu-entry">…</li> aka getByRole('listitem').filter({ hasText: 'About & What\'s new' }) 2) <a href="" aria-label="" target="_self" data-v-1596ceaf="" id="firstrunwizard_about" rel="noopener noreferrer" class="list-item__anchor">…</a> aka getByRole('link', { name: 'About & What\'s new' }) Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#firstrunwizard_about') 71 | 72 | const aboutEntry = page.locator('#firstrunwizard_about') > 73 | await expect(aboutEntry).toBeVisible() | ^ 74 | await aboutEntry.click() 75 | 76 | // The wizard should open again via the app-menu.ts handler at /home/runner/actions-runner/_work/firstrunwizard/firstrunwizard/e2e/settings.spec.ts:73:28
[chromium] › e2e/firstrunwizard.spec.ts:50:2 › First Run Wizard › can be navigated and closed: e2e/firstrunwizard.spec.ts#L0
2) [chromium] › e2e/firstrunwizard.spec.ts:50:2 › First Run Wizard › can be navigated and closed ─ Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[chromium] › e2e/firstrunwizard.spec.ts:50:2 › First Run Wizard › can be navigated and closed: e2e/firstrunwizard.spec.ts#L71
2) [chromium] › e2e/firstrunwizard.spec.ts:50:2 › First Run Wizard › can be navigated and closed ─ Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('.first-run-wizard').locator('button.button-vue--vue-primary').last() 69 | 70 | while (!(await getStartedButton.isVisible())) { > 71 | await primaryButton.last().click() | ^ 72 | } 73 | 74 | // Clicking "Get started!" on the last page closes the wizard at /home/runner/actions-runner/_work/firstrunwizard/firstrunwizard/e2e/firstrunwizard.spec.ts:71:32
[chromium] › e2e/firstrunwizard.spec.ts:50:2 › First Run Wizard › can be navigated and closed: e2e/firstrunwizard.spec.ts#L0
2) [chromium] › e2e/firstrunwizard.spec.ts:50:2 › First Run Wizard › can be navigated and closed ─ Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[chromium] › e2e/firstrunwizard.spec.ts:50:2 › First Run Wizard › can be navigated and closed: e2e/firstrunwizard.spec.ts#L0
2) [chromium] › e2e/firstrunwizard.spec.ts:50:2 › First Run Wizard › can be navigated and closed ─ Test timeout of 30000ms exceeded.
[chromium] › e2e/firstrunwizard.spec.ts:27:2 › First Run Wizard › opens when a new major version was shipped: e2e/firstrunwizard.spec.ts#L44
1) [chromium] › e2e/firstrunwizard.spec.ts:27:2 › First Run Wizard › opens when a new major version was shipped Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toContainText(expected) failed Locator: locator('.first-run-wizard') Expected substring: "New in Nextcloud Hub" Received string: " Welcome to Nextcloud! Skip" Timeout: 5000ms Call log: - Expect "toContainText" with timeout 5000ms - waiting for locator('.first-run-wizard') 3 × locator resolved to <div role="dialog" tabindex="-1" data-v-owner="1" aria-modal="true" data-v-67fb20ba="" id="firstrunwizard" aria-labelledby="modal-name-nc-vue-1" aria-describedby="modal-description-nc-vue-1" class="first-run-wizard modal-mask modal-mask--opaque fade-enter-active fade-enter-to">…</div> - unexpected value " Welcome to Nextcloud!" 2 × locator resolved to <div role="dialog" tabindex="-1" data-v-owner="1" aria-modal="true" data-v-67fb20ba="" id="firstrunwizard" aria-labelledby="modal-name-nc-vue-1" aria-describedby="modal-description-nc-vue-1" class="first-run-wizard modal-mask modal-mask--opaque">…</div> - unexpected value " Welcome to Nextcloud!" 4 × locator resolved to <div role="dialog" tabindex="-1" data-v-owner="1" aria-modal="true" data-v-67fb20ba="" id="firstrunwizard" aria-labelledby="modal-name-nc-vue-1" aria-describedby="modal-description-nc-vue-1" class="first-run-wizard modal-mask modal-mask--opaque">…</div> - unexpected value " Welcome to Nextcloud! Skip" 42 | // In changelog-only mode the intro animation is skipped and the 43 | // wizard opens directly on the "What's new" page. > 44 | await expect(wizard).toContainText('New in Nextcloud Hub') | ^ 45 | } finally { 46 | await deleteUser(user.userId) 47 | } at /home/runner/actions-runner/_work/firstrunwizard/firstrunwizard/e2e/firstrunwizard.spec.ts:44:25
[chromium] › e2e/firstrunwizard.spec.ts:27:2 › First Run Wizard › opens when a new major version was shipped: e2e/firstrunwizard.spec.ts#L44
1) [chromium] › e2e/firstrunwizard.spec.ts:27:2 › First Run Wizard › opens when a new major version was shipped Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toContainText(expected) failed Locator: locator('.first-run-wizard') Expected substring: "New in Nextcloud Hub" Received string: " Welcome to Nextcloud! Skip" Timeout: 5000ms Call log: - Expect "toContainText" with timeout 5000ms - waiting for locator('.first-run-wizard') 2 × locator resolved to <div role="dialog" tabindex="-1" data-v-owner="1" aria-modal="true" data-v-67fb20ba="" id="firstrunwizard" aria-labelledby="modal-name-nc-vue-1" aria-describedby="modal-description-nc-vue-1" class="first-run-wizard modal-mask modal-mask--opaque fade-enter-active fade-enter-to">…</div> - unexpected value " Welcome to Nextcloud!" 3 × locator resolved to <div role="dialog" tabindex="-1" data-v-owner="1" aria-modal="true" data-v-67fb20ba="" id="firstrunwizard" aria-labelledby="modal-name-nc-vue-1" aria-describedby="modal-description-nc-vue-1" class="first-run-wizard modal-mask modal-mask--opaque">…</div> - unexpected value " Welcome to Nextcloud!" 4 × locator resolved to <div role="dialog" tabindex="-1" data-v-owner="1" aria-modal="true" data-v-67fb20ba="" id="firstrunwizard" aria-labelledby="modal-name-nc-vue-1" aria-describedby="modal-description-nc-vue-1" class="first-run-wizard modal-mask modal-mask--opaque">…</div> - unexpected value " Welcome to Nextcloud! Skip" 42 | // In changelog-only mode the intro animation is skipped and the 43 | // wizard opens directly on the "What's new" page. > 44 | await expect(wizard).toContainText('New in Nextcloud Hub') | ^ 45 | } finally { 46 | await deleteUser(user.userId) 47 | } at /home/runner/actions-runner/_work/firstrunwizard/firstrunwizard/e2e/firstrunwizard.spec.ts:44:25
[chromium] › e2e/firstrunwizard.spec.ts:27:2 › First Run Wizard › opens when a new major version was shipped: e2e/firstrunwizard.spec.ts#L44
1) [chromium] › e2e/firstrunwizard.spec.ts:27:2 › First Run Wizard › opens when a new major version was shipped Error: expect(locator).toContainText(expected) failed Locator: locator('.first-run-wizard') Expected substring: "New in Nextcloud Hub" Received string: " Welcome to Nextcloud! Skip" Timeout: 5000ms Call log: - Expect "toContainText" with timeout 5000ms - waiting for locator('.first-run-wizard') 2 × locator resolved to <div role="dialog" tabindex="-1" data-v-owner="1" aria-modal="true" data-v-67fb20ba="" id="firstrunwizard" aria-labelledby="modal-name-nc-vue-1" aria-describedby="modal-description-nc-vue-1" class="first-run-wizard modal-mask modal-mask--opaque fade-enter-active fade-enter-to">…</div> - unexpected value " Welcome to Nextcloud!" 3 × locator resolved to <div role="dialog" tabindex="-1" data-v-owner="1" aria-modal="true" data-v-67fb20ba="" id="firstrunwizard" aria-labelledby="modal-name-nc-vue-1" aria-describedby="modal-description-nc-vue-1" class="first-run-wizard modal-mask modal-mask--opaque">…</div> - unexpected value " Welcome to Nextcloud!" 4 × locator resolved to <div role="dialog" tabindex="-1" data-v-owner="1" aria-modal="true" data-v-67fb20ba="" id="firstrunwizard" aria-labelledby="modal-name-nc-vue-1" aria-describedby="modal-description-nc-vue-1" class="first-run-wizard modal-mask modal-mask--opaque">…</div> - unexpected value " Welcome to Nextcloud! Skip" 42 | // In changelog-only mode the intro animation is skipped and the 43 | // wizard opens directly on the "What's new" page. > 44 | await expect(wizard).toContainText('New in Nextcloud Hub') | ^ 45 | } finally { 46 | await deleteUser(user.userId) 47 | } at /home/runner/actions-runner/_work/firstrunwizard/firstrunwizard/e2e/firstrunwizard.spec.ts:44:25
e2e-summary
Process completed with exit code 1.
Playwright E2E
No files were found with the provided path: playwright-report/. No artifacts will be uploaded.
🎭 Playwright Run Summary
3 failed [chromium] › e2e/firstrunwizard.spec.ts:27:2 › First Run Wizard › opens when a new major version was shipped [chromium] › e2e/firstrunwizard.spec.ts:50:2 › First Run Wizard › can be navigated and closed ── [chromium] › e2e/settings.spec.ts:59:2 › "About & What's new" navigation entry › opens the first run wizard 4 passed (3.6m)