test(e2e): enable trace on all retries #19
Annotations
10 errors, 2 warnings, and 1 notice
[chromium] › 20-game/03-update-player-connection-status.spec.ts:6:1 › update player connection status:
tests/20-game/03-update-player-connection-status.spec.ts#L16
1) [chromium] › 20-game/03-update-player-connection-status.spec.ts:6:1 › update player connection status
Error: expect.toBeVisible: Error: strict mode violation: getByLabel('Game events').getByText('Game server initialized') resolved to 2 elements:
1) <span>Game server initialized</span> aka getByText('Game server initialized').first()
2) <span>Game server initialized</span> aka getByText('Game server initialized').nth(1)
Call log:
- expect.toBeVisible with timeout 30000ms
- waiting for getByLabel('Game events').getByText('Game server initialized')
14 | const playerName = users.find(u => u.steamId === steamId)!.name
15 |
> 16 | await expect(page.gameEvent('Game server initialized')).toBeVisible({
| ^
17 | timeout: secondsToMilliseconds(30),
18 | })
19 |
at map (/home/runner/work/tf2pickup/tf2pickup/tests/20-game/03-update-player-connection-status.spec.ts:16:65)
at /home/runner/work/tf2pickup/tf2pickup/tests/20-game/03-update-player-connection-status.spec.ts:12:15
|
[chromium] › 20-game/03-update-player-connection-status.spec.ts:6:1 › update player connection status:
tests/fixtures/launch-game.ts#L26
1) [chromium] › 20-game/03-update-player-connection-status.spec.ts:6:1 › update player connection status
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.click: Error: strict mode violation: getByLabel('Join queue on slot 0', { exact: true }) resolved to 2 elements:
1) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').first()
2) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').nth(1)
Call log:
- waiting for getByLabel('Join queue on slot 0', { exact: true })
at fixtures/launch-game.ts:26
24 | await mutex.runExclusive(async () => {
25 | // join the queue
> 26 | await page.getByLabel(`Join queue on slot ${i}`, { exact: true }).click()
| ^
27 | })
28 |
29 | // last player joining the queue is ready by default
at /home/runner/work/tf2pickup/tf2pickup/tests/fixtures/launch-game.ts:26:77
at /home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:162:51
at Semaphore.<anonymous> (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:40:30)
at fulfilled (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:8:58)
|
[chromium] › 20-game/03-update-player-connection-status.spec.ts:6:1 › update player connection status:
tests/fixtures/launch-game.ts#L26
1) [chromium] › 20-game/03-update-player-connection-status.spec.ts:6:1 › update player connection status
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.click: Error: strict mode violation: getByLabel('Join queue on slot 0', { exact: true }) resolved to 2 elements:
1) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').first()
2) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').nth(1)
Call log:
- waiting for getByLabel('Join queue on slot 0', { exact: true })
at fixtures/launch-game.ts:26
24 | await mutex.runExclusive(async () => {
25 | // join the queue
> 26 | await page.getByLabel(`Join queue on slot ${i}`, { exact: true }).click()
| ^
27 | })
28 |
29 | // last player joining the queue is ready by default
at /home/runner/work/tf2pickup/tf2pickup/tests/fixtures/launch-game.ts:26:77
at /home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:162:51
at Semaphore.<anonymous> (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:40:30)
at fulfilled (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:8:58)
|
[chromium] › 30-player-substitutes/01-substitute-self.spec.ts:5:1 › substitute self:
tests/fixtures/launch-game.ts#L26
2) [chromium] › 30-player-substitutes/01-substitute-self.spec.ts:5:1 › substitute self ───────────
Error: locator.click: Error: strict mode violation: getByLabel('Join queue on slot 0', { exact: true }) resolved to 2 elements:
1) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').first()
2) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').nth(1)
Call log:
- waiting for getByLabel('Join queue on slot 0', { exact: true })
at fixtures/launch-game.ts:26
24 | await mutex.runExclusive(async () => {
25 | // join the queue
> 26 | await page.getByLabel(`Join queue on slot ${i}`, { exact: true }).click()
| ^
27 | })
28 |
29 | // last player joining the queue is ready by default
at /home/runner/work/tf2pickup/tf2pickup/tests/fixtures/launch-game.ts:26:77
at /home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:162:51
at Semaphore.<anonymous> (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:40:30)
at fulfilled (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:8:58)
|
[chromium] › 30-player-substitutes/01-substitute-self.spec.ts:5:1 › substitute self:
tests/fixtures/launch-game.ts#L26
2) [chromium] › 30-player-substitutes/01-substitute-self.spec.ts:5:1 › substitute self ───────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.click: Error: strict mode violation: getByLabel('Join queue on slot 0', { exact: true }) resolved to 2 elements:
1) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').first()
2) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').nth(1)
Call log:
- waiting for getByLabel('Join queue on slot 0', { exact: true })
at fixtures/launch-game.ts:26
24 | await mutex.runExclusive(async () => {
25 | // join the queue
> 26 | await page.getByLabel(`Join queue on slot ${i}`, { exact: true }).click()
| ^
27 | })
28 |
29 | // last player joining the queue is ready by default
at /home/runner/work/tf2pickup/tf2pickup/tests/fixtures/launch-game.ts:26:77
at /home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:162:51
at Semaphore.<anonymous> (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:40:30)
at fulfilled (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:8:58)
|
[chromium] › 30-player-substitutes/01-substitute-self.spec.ts:5:1 › substitute self:
tests/fixtures/launch-game.ts#L26
2) [chromium] › 30-player-substitutes/01-substitute-self.spec.ts:5:1 › substitute self ───────────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.click: Error: strict mode violation: getByLabel('Join queue on slot 0', { exact: true }) resolved to 2 elements:
1) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').first()
2) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').nth(1)
Call log:
- waiting for getByLabel('Join queue on slot 0', { exact: true })
at fixtures/launch-game.ts:26
24 | await mutex.runExclusive(async () => {
25 | // join the queue
> 26 | await page.getByLabel(`Join queue on slot ${i}`, { exact: true }).click()
| ^
27 | })
28 |
29 | // last player joining the queue is ready by default
at /home/runner/work/tf2pickup/tf2pickup/tests/fixtures/launch-game.ts:26:77
at /home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:162:51
at Semaphore.<anonymous> (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:40:30)
at fulfilled (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:8:58)
|
[chromium] › 30-player-substitutes/02-substitute-other.spec.ts:5:1 › substitute other:
tests/fixtures/launch-game.ts#L26
3) [chromium] › 30-player-substitutes/02-substitute-other.spec.ts:5:1 › substitute other ─────────
Error: locator.click: Error: strict mode violation: getByLabel('Join queue on slot 0', { exact: true }) resolved to 2 elements:
1) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').first()
2) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').nth(1)
Call log:
- waiting for getByLabel('Join queue on slot 0', { exact: true })
at fixtures/launch-game.ts:26
24 | await mutex.runExclusive(async () => {
25 | // join the queue
> 26 | await page.getByLabel(`Join queue on slot ${i}`, { exact: true }).click()
| ^
27 | })
28 |
29 | // last player joining the queue is ready by default
at /home/runner/work/tf2pickup/tf2pickup/tests/fixtures/launch-game.ts:26:77
at /home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:162:51
at Semaphore.<anonymous> (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:40:30)
at fulfilled (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:8:58)
|
[chromium] › 30-player-substitutes/02-substitute-other.spec.ts:5:1 › substitute other:
tests/fixtures/launch-game.ts#L26
3) [chromium] › 30-player-substitutes/02-substitute-other.spec.ts:5:1 › substitute other ─────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.click: Error: strict mode violation: getByLabel('Join queue on slot 0', { exact: true }) resolved to 2 elements:
1) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').first()
2) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').nth(1)
Call log:
- waiting for getByLabel('Join queue on slot 0', { exact: true })
at fixtures/launch-game.ts:26
24 | await mutex.runExclusive(async () => {
25 | // join the queue
> 26 | await page.getByLabel(`Join queue on slot ${i}`, { exact: true }).click()
| ^
27 | })
28 |
29 | // last player joining the queue is ready by default
at /home/runner/work/tf2pickup/tf2pickup/tests/fixtures/launch-game.ts:26:77
at /home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:162:51
at Semaphore.<anonymous> (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:40:30)
at fulfilled (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:8:58)
|
[chromium] › 30-player-substitutes/02-substitute-other.spec.ts:5:1 › substitute other:
tests/fixtures/launch-game.ts#L26
3) [chromium] › 30-player-substitutes/02-substitute-other.spec.ts:5:1 › substitute other ─────────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.click: Error: strict mode violation: getByLabel('Join queue on slot 0', { exact: true }) resolved to 2 elements:
1) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').first()
2) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').nth(1)
Call log:
- waiting for getByLabel('Join queue on slot 0', { exact: true })
at fixtures/launch-game.ts:26
24 | await mutex.runExclusive(async () => {
25 | // join the queue
> 26 | await page.getByLabel(`Join queue on slot ${i}`, { exact: true }).click()
| ^
27 | })
28 |
29 | // last player joining the queue is ready by default
at /home/runner/work/tf2pickup/tf2pickup/tests/fixtures/launch-game.ts:26:77
at /home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:162:51
at Semaphore.<anonymous> (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:40:30)
at fulfilled (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:8:58)
|
[chromium] › 90-admin/01-force-end-game.spec.ts:5:1 › force end game:
tests/fixtures/launch-game.ts#L26
4) [chromium] › 90-admin/01-force-end-game.spec.ts:5:1 › force end game ──────────────────────────
Error: locator.click: Error: strict mode violation: getByLabel('Join queue on slot 0', { exact: true }) resolved to 2 elements:
1) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').first()
2) <button value="0" name="join" class="join-queue-button" aria-label="Join queue on slot 0">…</button> aka getByLabel('Join queue on slot 0').nth(1)
Call log:
- waiting for getByLabel('Join queue on slot 0', { exact: true })
at fixtures/launch-game.ts:26
24 | await mutex.runExclusive(async () => {
25 | // join the queue
> 26 | await page.getByLabel(`Join queue on slot ${i}`, { exact: true }).click()
| ^
27 | })
28 |
29 | // last player joining the queue is ready by default
at /home/runner/work/tf2pickup/tf2pickup/tests/fixtures/launch-game.ts:26:77
at /home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:162:51
at Semaphore.<anonymous> (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:40:30)
at fulfilled (/home/runner/work/tf2pickup/tf2pickup/node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs:8:58)
|
unit
The following actions uses Node.js version which is deprecated and will be forced to run on node20: pnpm/action-setup@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
end to end
The following actions uses Node.js version which is deprecated and will be forced to run on node20: pnpm/action-setup@v2. 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
16 failed
[chromium] › 20-game/03-update-player-connection-status.spec.ts:6:1 › update player connection status
[chromium] › 30-player-substitutes/01-substitute-self.spec.ts:5:1 › substitute self ────────────
[chromium] › 30-player-substitutes/02-substitute-other.spec.ts:5:1 › substitute other ──────────
[chromium] › 90-admin/01-force-end-game.spec.ts:5:1 › force end game ───────────────────────────
[firefox] › 01-initial.spec.ts:3:1 › has title ─────────────────────────────────────────────────
[firefox] › 01-initial.spec.ts:19:1 › has 12 queue slots and no join buttons ───────────────────
[firefox] › 10-queue/02-vote-for-map.spec.ts:8:1 › vote for map ────────────────────────────────
[firefox] › 10-queue/03-mark-as-friend.spec.ts:7:1 › mark as friend ────────────────────────────
[firefox] › 10-queue/04-everybody-leaves.spec.ts:5:1 › everybody leaves ────────────────────────
[firefox] › 10-queue/05-late-for-ready-up.spec.ts:5:1 › player is late for ready up ────────────
[firefox] › 20-game/01-configure-game-server.spec.ts:7:1 › configure game server ───────────────
[firefox] › 20-game/02-free-players.spec.ts:9:1 › free players when the game ends ──────────────
[firefox] › 20-game/03-update-player-connection-status.spec.ts:6:1 › update player connection status
[firefox] › 30-player-substitutes/01-substitute-self.spec.ts:5:1 › substitute self ─────────────
[firefox] › 30-player-substitutes/02-substitute-other.spec.ts:5:1 › substitute other ───────────
[firefox] › 90-admin/01-force-end-game.spec.ts:5:1 › force end game ────────────────────────────
2 skipped
15 passed (10.1m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
playwright-report
Expired
|
213 MB |
|