feat(firefox): roll Firefox stable to 103 (#16224)

This commit is contained in:
Andrey Lushnikov 2022-08-03 16:55:19 -07:00 committed by GitHub
parent 74f7005c02
commit fb76d62a2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 25 additions and 16 deletions

View File

@ -1,6 +1,6 @@
# 🎭 Playwright
[![npm version](https://img.shields.io/npm/v/playwright.svg?style=flat)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-104.0.5112.81-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-102.0-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-16.0-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop -->
[![npm version](https://img.shields.io/npm/v/playwright.svg?style=flat)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-104.0.5112.81-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-103.0-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-16.0-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop -->
## [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 <!-- GEN:chromium-version -->104.0.5112.81<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| WebKit <!-- GEN:webkit-version -->16.0<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Firefox <!-- GEN:firefox-version -->102.0<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Firefox <!-- GEN:firefox-version -->103.0<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Headless execution is supported for all the browsers on all platforms. Check out [system requirements](https://playwright.dev/docs/library#system-requirements) for details.

View File

@ -21,9 +21,9 @@
},
{
"name": "firefox",
"revision": "1335",
"revision": "1342",
"installByDefault": true,
"browserVersion": "102.0"
"browserVersion": "103.0"
},
{
"name": "firefox-beta",

View File

@ -814,7 +814,7 @@
"defaultBrowserType": "webkit"
},
"JioPhone 2": {
"userAgent": "Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:102.0) Gecko/48.0 Firefox/102.0 KAIOS/2.5",
"userAgent": "Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:103.0) Gecko/48.0 Firefox/103.0 KAIOS/2.5",
"viewport": {
"width": 240,
"height": 320
@ -825,7 +825,7 @@
"defaultBrowserType": "firefox"
},
"JioPhone 2 landscape": {
"userAgent": "Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:102.0) Gecko/48.0 Firefox/102.0 KAIOS/2.5",
"userAgent": "Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:103.0) Gecko/48.0 Firefox/103.0 KAIOS/2.5",
"viewport": {
"width": 320,
"height": 240
@ -1322,7 +1322,7 @@
"defaultBrowserType": "chromium"
},
"Desktop Firefox HiDPI": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0",
"screen": {
"width": 1792,
"height": 1120
@ -1382,7 +1382,7 @@
"defaultBrowserType": "chromium"
},
"Desktop Firefox": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0",
"screen": {
"width": 1920,
"height": 1080

View File

@ -29,6 +29,7 @@ import { parseHar } from '../config/utils';
export type BrowserTestWorkerFixtures = PageWorkerFixtures & {
browserVersion: string;
defaultSameSiteCookieValue: string;
allowsThirdParty
browserMajorVersion: number;
browserType: BrowserType;
isAndroid: boolean;
@ -52,13 +53,24 @@ const test = baseTest.extend<BrowserTestTestFixtures, BrowserTestWorkerFixtures>
await run(playwright[browserName]);
}, { scope: 'worker' } ],
defaultSameSiteCookieValue: [async ({ browserName, browserMajorVersion }, run) => {
allowsThirdParty: [async ({ browserName, browserMajorVersion, channel }, run) => {
if (browserName !== 'firefox')
await run(false);
else if (channel === 'firefox-beta' && (browserMajorVersion >= 97 && browserMajorVersion < 103))
await run(true);
else if (browserMajorVersion >= 103)
await run(true);
}, { scope: 'worker' } ],
defaultSameSiteCookieValue: [async ({ browserName, browserMajorVersion, channel }, run) => {
if (browserName === 'chromium')
await run('Lax');
else if (browserName === 'webkit')
await run('None');
else if (browserName === 'firefox')
else if (browserName === 'firefox' && channel === 'firefox-beta')
await run(browserMajorVersion === 96 || browserMajorVersion >= 103 ? 'Lax' : 'None');
else if (browserName === 'firefox' && channel !== 'firefox-beta')
await run(browserMajorVersion >= 103 ? 'None' : 'Lax');
else
throw new Error('unknown browser - ' + browserName);
}, { scope: 'worker' } ],

View File

@ -353,7 +353,7 @@ it('should set cookies for a frame', async ({ context, page, server }) => {
expect(await page.frames()[1].evaluate('document.cookie')).toBe('frame-cookie=value');
});
it('should(not) block third party cookies', async ({ context, page, server, browserName, browserMajorVersion }) => {
it('should(not) block third party cookies', async ({ context, page, server, browserName, allowsThirdParty }) => {
await page.goto(server.EMPTY_PAGE);
await page.evaluate(src => {
let fulfill;
@ -366,7 +366,6 @@ it('should(not) block third party cookies', async ({ context, page, server, brow
}, server.CROSS_PROCESS_PREFIX + '/grid.html');
await page.frames()[1].evaluate(`document.cookie = 'username=John Doe'`);
await page.waitForTimeout(2000);
const allowsThirdParty = browserName === 'firefox' && (browserMajorVersion >= 97 && browserMajorVersion < 103);
const cookies = await context.cookies(server.CROSS_PROCESS_PREFIX + '/grid.html');
if (allowsThirdParty) {
expect(cookies).toEqual([

View File

@ -80,7 +80,7 @@ it('context.clearCookies() should work', async ({ server, launchPersistent }) =>
expect(await page.evaluate('document.cookie')).toBe('');
});
it('should(not) block third party cookies', async ({ server, launchPersistent, browserName, browserMajorVersion }) => {
it('should(not) block third party cookies', async ({ server, launchPersistent, browserName, allowsThirdParty }) => {
const { page, context } = await launchPersistent();
await page.goto(server.EMPTY_PAGE);
await page.evaluate(src => {
@ -97,7 +97,6 @@ it('should(not) block third party cookies', async ({ server, launchPersistent, b
return document.cookie;
});
await page.waitForTimeout(2000);
const allowsThirdParty = browserName === 'firefox' && (browserMajorVersion >= 97 && browserMajorVersion < 103);
expect(documentCookie).toBe(allowsThirdParty ? 'username=John Doe' : '');
const cookies = await context.cookies(server.CROSS_PROCESS_PREFIX + '/grid.html');
if (allowsThirdParty) {

View File

@ -86,7 +86,7 @@ it('should close browser after context menu was triggered', async ({ browserType
await browser.close();
});
it('should(not) block third party cookies', async ({ browserType, server, browserName, browserMajorVersion }) => {
it('should(not) block third party cookies', async ({ browserType, server, browserName, allowsThirdParty }) => {
const browser = await browserType.launch({ headless: false });
const page = await browser.newPage();
await page.goto(server.EMPTY_PAGE);
@ -104,7 +104,6 @@ it('should(not) block third party cookies', async ({ browserType, server, browse
return document.cookie;
});
await page.waitForTimeout(2000);
const allowsThirdParty = browserName === 'firefox' && (browserMajorVersion >= 97 && browserMajorVersion < 103);
expect(documentCookie).toBe(allowsThirdParty ? 'username=John Doe' : '');
const cookies = await page.context().cookies(server.CROSS_PROCESS_PREFIX + '/grid.html');
if (allowsThirdParty) {