mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
chore: release notes 1.29 (#19497)
Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com> Co-authored-by: Max Schmitt <max@schmitt.mx>
This commit is contained in:
parent
1e31afd9d7
commit
e99323dd90
@ -4,6 +4,80 @@ title: "Release notes"
|
|||||||
toc_max_heading_level: 2
|
toc_max_heading_level: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Version 1.29
|
||||||
|
|
||||||
|
### New APIs
|
||||||
|
|
||||||
|
- New method [`method: Route.fetch`] and new option `json` for [`method: Route.fulfill`]:
|
||||||
|
|
||||||
|
```js
|
||||||
|
await page.route('**/api/settings', async route => {
|
||||||
|
// Fetch original settings.
|
||||||
|
const response = await route.fetch();
|
||||||
|
|
||||||
|
// Force settings theme to a predefined value.
|
||||||
|
const json = await response.json();
|
||||||
|
json.theme = 'Solorized';
|
||||||
|
|
||||||
|
// Fulfill with modified data.
|
||||||
|
await route.fulfill({ json });
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
- New method [`method: Locator.all`] to iterate over all matching elements:
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Check all checkboxes!
|
||||||
|
const checkboxes = page.getByRole('checkbox');
|
||||||
|
for (const checkbox of await checkboxes.all())
|
||||||
|
await checkbox.check();
|
||||||
|
```
|
||||||
|
|
||||||
|
- Retry blocks of code until all assertions pass:
|
||||||
|
|
||||||
|
```js
|
||||||
|
await expect(async () => {
|
||||||
|
const response = await page.request.get('https://api.example.com');
|
||||||
|
await expect(response).toBeOK();
|
||||||
|
}).toPass();
|
||||||
|
```
|
||||||
|
|
||||||
|
Read more in [our documentation](./test-assertions.md#retrying).
|
||||||
|
|
||||||
|
- Automatically capture **full page screenshot** on test failure:
|
||||||
|
```js
|
||||||
|
// playwright.config.ts
|
||||||
|
import type { PlaywrightTestConfig } from '@playwright/test';
|
||||||
|
|
||||||
|
const config: PlaywrightTestConfig = {
|
||||||
|
use: {
|
||||||
|
screenshot: {
|
||||||
|
mode: 'only-on-failure',
|
||||||
|
fullPage: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default config;
|
||||||
|
```
|
||||||
|
|
||||||
|
### Miscellaneous
|
||||||
|
|
||||||
|
- Playwright Test now respects [`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig).
|
||||||
|
- New options `args` and `proxy` for [`method: AndroidDevice.launchBrowser`].
|
||||||
|
- Option `postData` in method [`method: Route.continue`] now supports [serializable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description) values.
|
||||||
|
|
||||||
|
### Browser Versions
|
||||||
|
|
||||||
|
* Chromium 109.0.5414.46
|
||||||
|
* Mozilla Firefox 107.0
|
||||||
|
* WebKit 16.4
|
||||||
|
|
||||||
|
This version was also tested against the following stable channels:
|
||||||
|
|
||||||
|
* Google Chrome 108
|
||||||
|
* Microsoft Edge 108
|
||||||
|
|
||||||
## Version 1.28
|
## Version 1.28
|
||||||
|
|
||||||
<div className="embed-youtube">
|
<div className="embed-youtube">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user