New APIs
-
Method browserContext.clearCookies() now supports filters to remove only some cookies.
// 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 mode
retain-on-first-failure
for testOptions.trace. In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed.import { defineConfig } from '@playwright/test'; export default defineConfig({ use: { trace: 'retain-on-first-failure', }, });
-
New property testInfo.tags exposes test tags during test execution.
test('example', async ({ page }) => { console.log(test.info().tags); });
-
New method locator.contentFrame() converts a
Locator
object to aFrameLocator
. This can be useful when you have aLocator
object obtained somewhere, and later on would like to interact with the content inside the frame.const locator = page.locator('iframe[name="embedded"]'); // ... const frameLocator = locator.contentFrame(); await frameLocator.getByRole('button').click();
-
New method frameLocator.owner() converts a
FrameLocator
object to aLocator
. This can be useful when you have aFrameLocator
object obtained somewhere, and later on would like to interact with theiframe
element.const frameLocator = page.frameLocator('iframe[name="embedded"]'); // ... const locator = frameLocator.owner(); await expect(locator).toBeVisible();
UI Mode Updates
- 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.29
- Mozilla Firefox 124.0
- WebKit 17.4
This version was also tested against the following stable channels:
- Google Chrome 123
- Microsoft Edge 123