mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
3 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
![]() |
70ed020c87
|
fix: handle docker edge cases (#10501)
## Before * When docker wasn't running: crashed with a TypeError * When any image without `RepoTags` was present: crashed with TypeError * Typo in recommended command ("playwight") * No indication of `PW_TEST_IMAGE` env var in error output <details> <summary>Docker not running</summary> ``` Using config at ~redacted/playwright.config.ts ERROR get /images/json 500 dial unix docker.raw.sock: connect: connection refused TypeError: Cannot read property 'find' of null at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:26) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:43:9) at GridServer.createAgent (~redacted/node_modules/playwright-core/lib/grid/gridServer.js:356:5) at launchDockerContainer (~redacted/node_modules/@playwright/test/lib/cli.js:259:3) at Runner._run (~redacted/node_modules/@playwright/test/lib/runner.js:236:98) Running 1 test using 1 worker test.ts:9:1 › some redacted description ERROR get /images/json 500 dial unix docker.raw.sock: connect: connection refused TypeError: Cannot read property 'find' of null at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:26) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js ``` </details> <details> <summary>Image without repo tags</summary> ``` Using config at ~redacted/playwright.config.ts TypeError: Cannot read property 'includes' of undefined at ~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:55 at Array.find (<anonymous>) at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:26) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:43:9) at GridServer.createAgent (~redacted/node_modules/playwright-core/lib/grid/gridServer.js:356:5) at launchDockerContainer (~redacted/node_modules/@playwright/test/lib/cli.js:259:3) at Runner._run (~redacted/node_modules/@playwright/test/lib/runner.js:236:98) Running 1 test using 1 worker some-test.ts › some description TypeError: Cannot read property 'includes' of undefined at ~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:55 at Array.find (<anonymous>) at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:26) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.j ✘ editor-editor-wysiwyg--editor-wysiwyg.vr.ts:9:1 › actual element matches expected element (26ms) 1) some-test.ts › some description ===== 'Grid agent creation failed' 1 failed some-test.ts › some description ====== ``` </details> ## After * Helpful error message if docker isn't running * Doesn't crash when local-only images in list * No typo in `playwright install docker-image` command * When other playwright images are found they are listed and `PW_TEST_IMAGE` is mentioned ### After: Docker not running ``` Using config at ~redacted/playwright.config.ts Error fetching json: Error: connect ECONNREFUSED /var/run/docker.sock Error: ╔═════════════════════════════════════════╗ ║ Failed to list docker images ║ ║ Please ensure docker daemon is running. ║ ║ ║ ║ <3 Playwright Team ║ ╚═════════════════════════════════════════╝ at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:61:11) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:43:9) at GridServer.createAgent (~redacted/node_modules/playwright-core/lib/grid/gridServer.js:356:5) at launchDockerContainer (~redacted/node_modules/@playwright/test/lib/cli.js:259:3) at Runner._run (~redacted/node_modules/@playwright/test/lib/runner.js:236:98) Running 1 test using 1 worker test.ts:9:1 › description Error fetching json: Error: connect ECONNREFUSED /var/run/docker.sock Error: ╔═════════════════════════════════════════╗ ║ Failed to list docker images ║ ║ Please ensure docker daemon is running. ║ ║ ║ ║ <3 Playwright Team ║ ╚═════════════════════════════════════════╝ at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:61:11) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.j ✘ test.ts:9:1 › description 1) test.ts:9:1 › description ===== 'Grid agent creation failed' 1 failed test.ts:9:1 › description ====== ``` ## After: No exact match found ``` Using config at ~redacted/playwright.config.ts Error: ╔════════════════════════════════════════════════════════════════════════════╗ ║ Failed to find mcr.microsoft.com/playwright:v1.16.3-focal docker image. ║ ║ ║ ║ Available images: ║ ║ - mcr.microsoft.com/playwright:v1.16.3 ║ ║ - mcr.microsoft.com/playwright:v1.16.2-focal ║ ║ ║ ║ Use available images via PWTEST_IMAGE_NAME environment variable: ║ ║ PWTEST_IMAGE_NAME=mcr.microsoft.com/playwright:v1.16.3 playwright test ║ ║ ║ ║ Alternatively, please pull docker image with the following command: ║ ║ ║ ║ npx playwright install docker-image ║ ║ ║ ║ <3 Playwright Team ║ ╚════════════════════════════════════════════════════════════════════════════╝ at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:92:11) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:43:9) at GridServer.createAgent (~redacted/node_modules/playwright-core/lib/grid/gridServer.js:356:5) at launchDockerContainer (~redacted/node_modules/@playwright/test/lib/cli.js:259:3) at Runner._run (~redacted/node_modules/@playwright/test/lib/runner.js:236:98) Running 1 test using 1 worker editor-editor-wysiwyg--editor-wysiwyg.vr.ts:9:1 › actual element matches expected element Error: ╔════════════════════════════════════════════════════════════════════════════╗ ║ Failed to find mcr.microsoft.com/playwright:v1.16.3-focal docker image. ║ ║ ║ ║ Available images: ║ ║ - mcr.microsoft.com/playwright:v1.16.3 ║ ║ - mcr.microsoft.com/playwright:v1.16.2-focal ║ ║ ║ ║ Use available images via PWTEST_IMAGE_NAME environment variable: ║ ║ PWTEST_IMAGE_NAME=mcr.microsoft.com/playwright:v1.16.3 playwright test ║ ║ ║ ║ Alternatively, please pull docker image with the following command: ║ ║ ║ ║ npx playwright install docker-image ║ ║ ║ ║ <3 Playwright Team ║ ╚════════════════════════════════════════════════════════════════════════════╝ at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:92:11) at processTicksAndRejections (node:internal/process/task_queues:96:5) at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.j ✘ test.ts:9:1 › description 1) test.ts:9:1 › description ===== 'Grid agent creation failed' 1 failed test.ts:9:1 › description ====== ``` |
||
![]() |
62a01a41c6
|
feat: various docker integration improvements (#9988)
- shorter docker terminal message - terminate testrunner if docker cannot be found - use `-docker` suffix for snapshots / screenshots. |
||
![]() |
983cfde4d4
|
feat: introduce docker integration for Playwright Test (#9599) |