docs: add release-notes for language ports (#30868)
This commit is contained in:
parent
b6a7d0a17e
commit
9188ff7917
|
|
@ -4,6 +4,82 @@ title: "Release notes"
|
||||||
toc_max_heading_level: 2
|
toc_max_heading_level: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Version 1.44
|
||||||
|
|
||||||
|
### New APIs
|
||||||
|
|
||||||
|
**Accessibility assertions**
|
||||||
|
|
||||||
|
- [`method: LocatorAssertions.toHaveAccessibleName`] checks if the element has the specified accessible name:
|
||||||
|
```csharp
|
||||||
|
var locator = Page.GetByRole(AriaRole.Button);
|
||||||
|
await Expect(locator).ToHaveAccessibleNameAsync("Submit");
|
||||||
|
```
|
||||||
|
|
||||||
|
- [`method: LocatorAssertions.toHaveAccessibleDescription`] checks if the element has the specified accessible description:
|
||||||
|
```csharp
|
||||||
|
var locator = Page.GetByRole(AriaRole.Button);
|
||||||
|
await Expect(locator).ToHaveAccessibleDescriptionAsync("Upload a photo");
|
||||||
|
```
|
||||||
|
|
||||||
|
- [`method: LocatorAssertions.toHaveRole`] checks if the element has the specified ARIA role:
|
||||||
|
```csharp
|
||||||
|
var locator = Page.GetByTestId("save-button");
|
||||||
|
await Expect(locator).ToHaveRoleAsync(AriaRole.Button);
|
||||||
|
```
|
||||||
|
|
||||||
|
**Locator handler**
|
||||||
|
|
||||||
|
- After executing the handler added with [`method: Page.addLocatorHandler`], Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `NoWaitAfter` option.
|
||||||
|
- You can use new `Times` option in [`method: Page.addLocatorHandler`] to specify maximum number of times the handler should be run.
|
||||||
|
- The handler in [`method: Page.addLocatorHandler`] now accepts the locator as argument.
|
||||||
|
- New [`method: Page.removeLocatorHandler`] method for removing previously added locator handlers.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
var locator = Page.GetByText("This interstitial covers the button");
|
||||||
|
await Page.AddLocatorHandlerAsync(locator, async (overlay) =>
|
||||||
|
{
|
||||||
|
await overlay.Locator("#close").ClickAsync();
|
||||||
|
}, new() { Times = 3, NoWaitAfter = true });
|
||||||
|
// Run your tests that can be interrupted by the overlay.
|
||||||
|
// ...
|
||||||
|
await Page.RemoveLocatorHandlerAsync(locator);
|
||||||
|
```
|
||||||
|
|
||||||
|
**Miscellaneous options**
|
||||||
|
|
||||||
|
- New method [`method: FormData.append`] allows to specify repeating fields with the same name in [`Multipart`](./api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `APIRequestContext.FetchAsync()`:
|
||||||
|
- ```
|
||||||
|
```csharp
|
||||||
|
var formData = Context.APIRequest.CreateFormData();
|
||||||
|
formData.Append("file", new FilePayload()
|
||||||
|
{
|
||||||
|
Name = "f1.js",
|
||||||
|
MimeType = "text/javascript",
|
||||||
|
Buffer = System.Text.Encoding.UTF8.GetBytes("var x = 2024;")
|
||||||
|
});
|
||||||
|
formData.Append("file", new FilePayload()
|
||||||
|
{
|
||||||
|
Name = "f2.txt",
|
||||||
|
MimeType = "text/plain",
|
||||||
|
Buffer = System.Text.Encoding.UTF8.GetBytes("hello")
|
||||||
|
});
|
||||||
|
var response = await Context.APIRequest.PostAsync("https://example.com/uploadFiles", new() { Multipart = formData });
|
||||||
|
```
|
||||||
|
|
||||||
|
- [`method: PageAssertions.toHaveURL`] now supports `IgnoreCase` [option](./api/class-pageassertions#page-assertions-to-have-url-option-ignore-case).
|
||||||
|
|
||||||
|
### Browser Versions
|
||||||
|
|
||||||
|
* Chromium 125.0.6422.14
|
||||||
|
* Mozilla Firefox 125.0.1
|
||||||
|
* WebKit 17.4
|
||||||
|
|
||||||
|
This version was also tested against the following stable channels:
|
||||||
|
|
||||||
|
* Google Chrome 124
|
||||||
|
* Microsoft Edge 124
|
||||||
|
|
||||||
## Version 1.43
|
## Version 1.43
|
||||||
|
|
||||||
### New APIs
|
### New APIs
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,72 @@ title: "Release notes"
|
||||||
toc_max_heading_level: 2
|
toc_max_heading_level: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Version 1.44
|
||||||
|
|
||||||
|
### New APIs
|
||||||
|
|
||||||
|
**Accessibility assertions**
|
||||||
|
|
||||||
|
- [`method: LocatorAssertions.toHaveAccessibleName`] checks if the element has the specified accessible name:
|
||||||
|
```java
|
||||||
|
Locator locator = page.getByRole(AriaRole.BUTTON);
|
||||||
|
assertThat(locator).hasAccessibleName("Submit");
|
||||||
|
```
|
||||||
|
|
||||||
|
- [`method: LocatorAssertions.toHaveAccessibleDescription`] checks if the element has the specified accessible description:
|
||||||
|
```java
|
||||||
|
Locator locator = page.getByRole(AriaRole.BUTTON);
|
||||||
|
assertThat(locator).hasAccessibleDescription("Upload a photo");
|
||||||
|
```
|
||||||
|
|
||||||
|
- [`method: LocatorAssertions.toHaveRole`] checks if the element has the specified ARIA role:
|
||||||
|
```java
|
||||||
|
Locator locator = page.getByTestId("save-button");
|
||||||
|
assertThat(locator).hasRole(AriaRole.BUTTON);
|
||||||
|
```
|
||||||
|
|
||||||
|
**Locator handler**
|
||||||
|
|
||||||
|
- After executing the handler added with [`method: Page.addLocatorHandler`], Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `setNoWaitAfter` option.
|
||||||
|
- You can use new `setTimes` option in [`method: Page.addLocatorHandler`] to specify maximum number of times the handler should be run.
|
||||||
|
- The handler in [`method: Page.addLocatorHandler`] now accepts the locator as argument.
|
||||||
|
- New [`method: Page.removeLocatorHandler`] method for removing previously added locator handlers.
|
||||||
|
|
||||||
|
```java
|
||||||
|
Locator locator = page.getByText("This interstitial covers the button");
|
||||||
|
page.addLocatorHandler(locator, overlay -> {
|
||||||
|
overlay.locator("#close").click();
|
||||||
|
}, new Page.AddLocatorHandlerOptions().setTimes(3).setNoWaitAfter(true));
|
||||||
|
// Run your tests that can be interrupted by the overlay.
|
||||||
|
// ...
|
||||||
|
page.removeLocatorHandler(locator);
|
||||||
|
```
|
||||||
|
|
||||||
|
**Miscellaneous options**
|
||||||
|
|
||||||
|
- New method [`method: FormData.append`] allows to specify repeating fields with the same name in [`setMultipart`](./api/class-requestoptions#request-options-set-multipart) option in `RequestOptions`:
|
||||||
|
```java
|
||||||
|
FormData formData = FormData.create();
|
||||||
|
formData.append("file", new FilePayload("f1.js", "text/javascript",
|
||||||
|
"var x = 2024;".getBytes(StandardCharsets.UTF_8)));
|
||||||
|
formData.append("file", new FilePayload("f2.txt", "text/plain",
|
||||||
|
"hello".getBytes(StandardCharsets.UTF_8)));
|
||||||
|
APIResponse response = context.request().post("https://example.com/uploadFile", RequestOptions.create().setMultipart(formData));
|
||||||
|
```
|
||||||
|
|
||||||
|
- `expect(page).toHaveURL(url)` now supports `setIgnoreCase` [option](./api/class-pageassertions#page-assertions-to-have-url-option-ignore-case).
|
||||||
|
|
||||||
|
### Browser Versions
|
||||||
|
|
||||||
|
* Chromium 125.0.6422.14
|
||||||
|
* Mozilla Firefox 125.0.1
|
||||||
|
* WebKit 17.4
|
||||||
|
|
||||||
|
This version was also tested against the following stable channels:
|
||||||
|
|
||||||
|
* Google Chrome 124
|
||||||
|
* Microsoft Edge 124
|
||||||
|
|
||||||
## Version 1.43
|
## Version 1.43
|
||||||
|
|
||||||
### New APIs
|
### New APIs
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,60 @@ title: "Release notes"
|
||||||
toc_max_heading_level: 2
|
toc_max_heading_level: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Version 1.44
|
||||||
|
|
||||||
|
### New APIs
|
||||||
|
|
||||||
|
**Accessibility assertions**
|
||||||
|
|
||||||
|
- [`method: LocatorAssertions.toHaveAccessibleName`] checks if the element has the specified accessible name:
|
||||||
|
```python
|
||||||
|
locator = page.get_by_role("button")
|
||||||
|
expect(locator).to_have_accessible_name("Submit")
|
||||||
|
```
|
||||||
|
|
||||||
|
- [`method: LocatorAssertions.toHaveAccessibleDescription`] checks if the element has the specified accessible description:
|
||||||
|
```python
|
||||||
|
locator = page.get_by_role("button")
|
||||||
|
expect(locator).to_have_accessible_description("Upload a photo")
|
||||||
|
```
|
||||||
|
|
||||||
|
- [`method: LocatorAssertions.toHaveRole`] checks if the element has the specified ARIA role:
|
||||||
|
```python
|
||||||
|
locator = page.get_by_test_id("save-button")
|
||||||
|
expect(locator).to_have_role("button")
|
||||||
|
```
|
||||||
|
|
||||||
|
**Locator handler**
|
||||||
|
|
||||||
|
- After executing the handler added with [`method: Page.addLocatorHandler`], Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `no_wait_after` option.
|
||||||
|
- You can use new `times` option in [`method: Page.addLocatorHandler`] to specify maximum number of times the handler should be run.
|
||||||
|
- The handler in [`method: Page.addLocatorHandler`] now accepts the locator as argument.
|
||||||
|
- New [`method: Page.removeLocatorHandler`] method for removing previously added locator handlers.
|
||||||
|
|
||||||
|
```python
|
||||||
|
locator = page.get_by_text("This interstitial covers the button")
|
||||||
|
page.add_locator_handler(locator, lambda overlay: overlay.locator("#close").click(), times=3, no_wait_after=True)
|
||||||
|
# Run your tests that can be interrupted by the overlay.
|
||||||
|
# ...
|
||||||
|
page.remove_locator_handler(locator)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Miscellaneous options**
|
||||||
|
|
||||||
|
- [`method: PageAssertions.toHaveURL`] now supports `ignore_case` [option](./api/class-pageassertions#page-assertions-to-have-url-option-ignore-case).
|
||||||
|
|
||||||
|
### Browser Versions
|
||||||
|
|
||||||
|
* Chromium 125.0.6422.14
|
||||||
|
* Mozilla Firefox 125.0.1
|
||||||
|
* WebKit 17.4
|
||||||
|
|
||||||
|
This version was also tested against the following stable channels:
|
||||||
|
|
||||||
|
* Google Chrome 124
|
||||||
|
* Microsoft Edge 124
|
||||||
|
|
||||||
## Version 1.43
|
## Version 1.43
|
||||||
|
|
||||||
### New APIs
|
### New APIs
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue