From 83b5dfb2fcd9685551e4232de8abe66d16de206b Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Tue, 26 Mar 2024 12:11:26 -0700 Subject: [PATCH] docs: release notes 1.43 for js --- docs/src/release-notes-js.md | 70 ++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/docs/src/release-notes-js.md b/docs/src/release-notes-js.md index 423dcc9b602c3a..072192238d68fe 100644 --- a/docs/src/release-notes-js.md +++ b/docs/src/release-notes-js.md @@ -6,6 +6,76 @@ toc_max_heading_level: 2 import LiteYouTube from '@site/src/components/LiteYouTube'; +## Version 1.43 + +### New APIs + +- Method [`method: BrowserContext.clearCookies`] now supports filters to remove only some cookies. + + ```js + // Clear all cookies. + await context.clearCookies(); + // New: clear cookies with a particular name. + await context.clearCookies({ name: 'session-id' }); + // New: clear cookies for a particular domain. + await context.clearCookies({ domain: 'my-origin.com' }); + ``` + +- New trace mode `retain-on-first-failure`. In this mode, trace is recorded for the first run of each test, but not for retires. When test run failes, the trace file is retained, otherwise it is removed. + + ```js title=playwright.config.ts + import { defineConfig } from '@playwright/test'; + + export default defineConfig({ + use: { + trace: 'retain-on-first-failure', + }, + }); + ``` + +- New property [`property: TestInfo.tags`] exposes test tags during test execution. + +- New method [`method: Locator.contentFrame`] converts a [Locator] object to a [FrameLocator]. Useful when you have a [Locator] object obtained somewhere, and later on would like to interact with the content inside the frame. + + ```js + const locator = page.locator('iframe[name="embedded"]'); + // ... + const frameLocator = locator.contentFrame(); + await frameLocator.getByRole('button').click(); + ``` + +- New method [`method: FrameLocator.owner`] converts a [FrameLocator] object to a [Locator]. Useful when you have a [FrameLocator] object obtained somewhere, and later on would like to interact with the `iframe` element. + + + ```js + const frameLocator = page.frameLocator('iframe[name="embedded"]'); + // ... + const locator = frameLocator.owner(); + await expect(locator).toBeVisible(); + ``` + +### UI Mode Updates + +![Playwright UI Mode](https://github.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300) + +* See tags in the test list. +* Filter by tags by typing `@fast` or clicking on the tag itself. +* New shortcuts: + - "F5" to run tests. + - "Shift F5" to stop running tests. + - "Ctrl `" to toggle test output. + +### Browser Versions + +* Chromium 124.0.6367.8 +* Mozilla Firefox 124.0 +* WebKit 17.4 + +This version was also tested against the following stable channels: + +* Google Chrome 123 +* Microsoft Edge 123 + ## Version 1.42