From 19c935cde70c1c096ce81cc1deb71463873dfe2a Mon Sep 17 00:00:00 2001 From: Playwright Service <89237858+playwrightmachine@users.noreply.github.com> Date: Sun, 12 Jan 2025 22:05:33 -0800 Subject: [PATCH 1/6] feat(firefox): roll to r1470 (#34304) --- README.md | 4 ++-- packages/playwright-core/browsers.json | 4 ++-- .../playwright-core/src/server/deviceDescriptorsSource.json | 4 ++-- packages/playwright-core/src/server/firefox/protocol.d.ts | 6 ++++++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7d100113c5..b2c569a402 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🎭 Playwright -[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) [![Chromium version](https://img.shields.io/badge/chromium-132.0.6834.57-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-132.0-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-18.2-blue.svg?logo=safari)](https://webkit.org/) [![Join Discord](https://img.shields.io/badge/join-discord-infomational)](https://aka.ms/playwright/discord) +[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) [![Chromium version](https://img.shields.io/badge/chromium-132.0.6834.57-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-133.0.3-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-18.2-blue.svg?logo=safari)](https://webkit.org/) [![Join Discord](https://img.shields.io/badge/join-discord-infomational)](https://aka.ms/playwright/discord) ## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright) @@ -10,7 +10,7 @@ Playwright is a framework for Web Testing and Automation. It allows testing [Chr | :--- | :---: | :---: | :---: | | Chromium 132.0.6834.57 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | WebKit 18.2 | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| Firefox 132.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| Firefox 133.0.3 | :white_check_mark: | :white_check_mark: | :white_check_mark: | Headless execution is supported for all browsers on all platforms. Check out [system requirements](https://playwright.dev/docs/intro#system-requirements) for details. diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index b597ef98f9..1d7fb330c5 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -15,9 +15,9 @@ }, { "name": "firefox", - "revision": "1466", + "revision": "1470", "installByDefault": true, - "browserVersion": "132.0" + "browserVersion": "133.0.3" }, { "name": "firefox-beta", diff --git a/packages/playwright-core/src/server/deviceDescriptorsSource.json b/packages/playwright-core/src/server/deviceDescriptorsSource.json index d2777c80e9..5b455bd485 100644 --- a/packages/playwright-core/src/server/deviceDescriptorsSource.json +++ b/packages/playwright-core/src/server/deviceDescriptorsSource.json @@ -1592,7 +1592,7 @@ "defaultBrowserType": "chromium" }, "Desktop Firefox HiDPI": { - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0.3) Gecko/20100101 Firefox/133.0.3", "screen": { "width": 1792, "height": 1120 @@ -1652,7 +1652,7 @@ "defaultBrowserType": "chromium" }, "Desktop Firefox": { - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0.3) Gecko/20100101 Firefox/133.0.3", "screen": { "width": 1920, "height": 1080 diff --git a/packages/playwright-core/src/server/firefox/protocol.d.ts b/packages/playwright-core/src/server/firefox/protocol.d.ts index f4a44d9d4d..3b661cb6cb 100644 --- a/packages/playwright-core/src/server/firefox/protocol.d.ts +++ b/packages/playwright-core/src/server/firefox/protocol.d.ts @@ -518,6 +518,10 @@ export module Protocol { }|null; }; export type setViewportSizeReturnValue = void; + export type setZoomParameters = { + zoom: number; + }; + export type setZoomReturnValue = void; export type bringToFrontParameters = { }; export type bringToFrontReturnValue = void; @@ -1134,6 +1138,7 @@ export module Protocol { "Page.setFileInputFiles": Page.setFileInputFilesParameters; "Page.addBinding": Page.addBindingParameters; "Page.setViewportSize": Page.setViewportSizeParameters; + "Page.setZoom": Page.setZoomParameters; "Page.bringToFront": Page.bringToFrontParameters; "Page.setEmulatedMedia": Page.setEmulatedMediaParameters; "Page.setCacheDisabled": Page.setCacheDisabledParameters; @@ -1215,6 +1220,7 @@ export module Protocol { "Page.setFileInputFiles": Page.setFileInputFilesReturnValue; "Page.addBinding": Page.addBindingReturnValue; "Page.setViewportSize": Page.setViewportSizeReturnValue; + "Page.setZoom": Page.setZoomReturnValue; "Page.bringToFront": Page.bringToFrontReturnValue; "Page.setEmulatedMedia": Page.setEmulatedMediaReturnValue; "Page.setCacheDisabled": Page.setCacheDisabledReturnValue; From a33659f2a89bf5fead26217518831c873aa9d2aa Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Mon, 13 Jan 2025 10:07:54 +0100 Subject: [PATCH 2/6] chore: move attachments link to step body (#34196) --- packages/html-reporter/src/links.css | 10 ++++++++ packages/html-reporter/src/testResultView.tsx | 24 ++++++++++++++----- tests/playwright-test/reporter-html.spec.ts | 10 ++++---- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/packages/html-reporter/src/links.css b/packages/html-reporter/src/links.css index 4abe8a6caa..eb9390844b 100644 --- a/packages/html-reporter/src/links.css +++ b/packages/html-reporter/src/links.css @@ -60,6 +60,11 @@ color: var(--color-scale-orange-6); border: 1px solid var(--color-scale-orange-4); } + .label-color-gray { + background-color: var(--color-scale-gray-0); + color: var(--color-scale-gray-6); + border: 1px solid var(--color-scale-gray-4); + } } @media(prefers-color-scheme: dark) { @@ -93,6 +98,11 @@ color: var(--color-scale-orange-2); border: 1px solid var(--color-scale-orange-4); } + .label-color-gray { + background-color: var(--color-scale-gray-9); + color: var(--color-scale-gray-2); + border: 1px solid var(--color-scale-gray-4); + } } .attachment-body { diff --git a/packages/html-reporter/src/testResultView.tsx b/packages/html-reporter/src/testResultView.tsx index 9dcdf29092..4c504a0118 100644 --- a/packages/html-reporter/src/testResultView.tsx +++ b/packages/html-reporter/src/testResultView.tsx @@ -134,7 +134,7 @@ export const TestResultView: React.FC<{ )} } - {!!otherAttachments.size && + {!!otherAttachments.size && {[...otherAttachments].map((a, i) => @@ -176,15 +176,27 @@ const StepTreeItem: React.FC<{ }> = ({ test, step, result, depth }) => { return {msToString(step.duration)} - {step.attachments.length > 0 && { evt.stopPropagation(); }}>{icons.attachment()}} {statusIcon(step.error || step.duration === -1 ? 'failed' : 'passed')} {step.title} {step.count > 1 && <> ✕ {step.count}} {step.location && — {step.location.file}:{step.location.line}} } loadChildren={step.steps.length + (step.snippet ? 1 : 0) ? () => { - const children = step.steps.map((s, i) => ); - if (step.snippet) - children.unshift(); - return children; + const snippet = step.snippet ? [] : []; + const steps = step.steps.map((s, i) => ); + const attachments = step.attachments.map(attachmentIndex => ( + + + {icons.attachment()}{result.attachments[attachmentIndex].name} + + + )); + return snippet.concat(steps, attachments); } : undefined} depth={depth}/>; }; diff --git a/tests/playwright-test/reporter-html.spec.ts b/tests/playwright-test/reporter-html.spec.ts index 7c7c60836f..f1e2bb4eda 100644 --- a/tests/playwright-test/reporter-html.spec.ts +++ b/tests/playwright-test/reporter-html.spec.ts @@ -932,9 +932,10 @@ for (const useIntermediateMergeReport of [true, false] as const) { await showReport(); await page.getByRole('link', { name: 'passing' }).click(); - const attachment = page.getByText('foo-2', { exact: true }); + const attachment = page.getByTestId('attachments').getByText('foo-2', { exact: true }); await expect(attachment).not.toBeInViewport(); - await page.getByLabel('attach "foo-2"').getByTitle('link to attachment').click(); + await page.getByLabel('attach "foo-2"').click(); + await page.getByTitle('see "foo-2"').click(); await expect(attachment).toBeInViewport(); await page.reload(); @@ -961,9 +962,10 @@ for (const useIntermediateMergeReport of [true, false] as const) { await showReport(); await page.getByRole('link', { name: 'passing' }).click(); - const attachment = page.getByText('attachment', { exact: true }); + const attachment = page.getByTestId('attachments').getByText('attachment', { exact: true }); await expect(attachment).not.toBeInViewport(); - await page.getByLabel('step').getByTitle('link to attachment').click(); + await page.getByLabel('step').click(); + await page.getByTitle('see "attachment"').click(); await expect(attachment).toBeInViewport(); }); From f74a4d55cdc75a131f487498985039cc1b88b6a4 Mon Sep 17 00:00:00 2001 From: Zachary Blackwood Date: Mon, 13 Jan 2025 15:30:19 -0500 Subject: [PATCH 3/6] Fix typo "fore" -> "for" (#34315) --- docs/src/browsers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/browsers.md b/docs/src/browsers.md index 1cc10d7a8d..4b13b35c4c 100644 --- a/docs/src/browsers.md +++ b/docs/src/browsers.md @@ -452,7 +452,7 @@ Certain Enterprise Browser Policies may impact Playwright's ability to launch an ::: :::warning -Google Chrome and Microsoft Edge have switched to a [new headless mode](https://developer.chrome.com/docs/chromium/headless) implementation that is closer to a regular headed mode. This differs from [chromium headless shell](https://developer.chrome.com/blog/chrome-headless-shell) that is used in Playwright by default when running headless, so expect different behavior in some cases. See [issue #33566](https://github.com/microsoft/playwright/issues/33566) fore details. +Google Chrome and Microsoft Edge have switched to a [new headless mode](https://developer.chrome.com/docs/chromium/headless) implementation that is closer to a regular headed mode. This differs from [chromium headless shell](https://developer.chrome.com/blog/chrome-headless-shell) that is used in Playwright by default when running headless, so expect different behavior in some cases. See [issue #33566](https://github.com/microsoft/playwright/issues/33566) for details. ::: ```js From 6b73ec6092ae665b9f4856a033141122d7c7019f Mon Sep 17 00:00:00 2001 From: Playwright Service <89237858+playwrightmachine@users.noreply.github.com> Date: Mon, 13 Jan 2025 13:53:18 -0800 Subject: [PATCH 4/6] feat(webkit): roll to r2123 (#34260) --- packages/playwright-core/browsers.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index 1d7fb330c5..753ed5e26d 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -27,7 +27,7 @@ }, { "name": "webkit", - "revision": "2122", + "revision": "2123", "installByDefault": true, "revisionOverrides": { "debian11-x64": "2105", From 454b6f938d98c7982b8278e63dd4b1a6dcfdf395 Mon Sep 17 00:00:00 2001 From: Julian Descottes Date: Mon, 13 Jan 2025 22:56:00 +0100 Subject: [PATCH 5/6] test(bidi): Update browserName used for har file tests when using bidi (#34313) --- tests/library/har.spec.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/library/har.spec.ts b/tests/library/har.spec.ts index 92358608e9..88419e742c 100644 --- a/tests/library/har.spec.ts +++ b/tests/library/har.spec.ts @@ -60,7 +60,10 @@ it('should have browser', async ({ browserName, browser, contextFactory, server const { page, getLog } = await pageWithHar(contextFactory, testInfo); await page.goto(server.EMPTY_PAGE); const log = await getLog(); - expect(log.browser!.name.toLowerCase()).toBe(browserName); + + // _bidiFirefox and _bidiChromium are initialized with 'bidi' as browser name. + const harBrowserName = browserName.startsWith('_bidi') ? 'bidi' : browserName; + expect(log.browser!.name.toLowerCase()).toBe(harBrowserName); expect(log.browser!.version).toBe(browser.version()); }); @@ -957,6 +960,9 @@ it('should not hang on slow chunked response', async ({ browserName, browser, co await page.goto(server.EMPTY_PAGE); await page.evaluate(() => (window as any).receivedFirstData); const log = await getLog(); - expect(log.browser!.name.toLowerCase()).toBe(browserName); + + // _bidiFirefox and _bidiChromium are initialized with 'bidi' as browser name. + const harBrowserName = browserName.startsWith('_bidi') ? 'bidi' : browserName; + expect(log.browser!.name.toLowerCase()).toBe(harBrowserName); expect(log.browser!.version).toBe(browser.version()); }); From d2e7ad38d56f94fc5eb9e25dc6b01de8a308368e Mon Sep 17 00:00:00 2001 From: Playwright Service <89237858+playwrightmachine@users.noreply.github.com> Date: Mon, 13 Jan 2025 13:58:34 -0800 Subject: [PATCH 6/6] feat(firefox-beta): roll to r1467 (#34303) --- packages/playwright-core/browsers.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index 753ed5e26d..94e1c425d6 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -21,7 +21,7 @@ }, { "name": "firefox-beta", - "revision": "1466", + "revision": "1467", "installByDefault": false, "browserVersion": "133.0b9" },