playwright-ruby-client 1.20.2 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/documentation/docs/api/api_request_context.md +15 -2
- data/documentation/docs/api/browser_type.md +1 -1
- data/documentation/docs/api/console_message.md +27 -1
- data/documentation/docs/api/element_handle.md +4 -2
- data/documentation/docs/api/experimental/android.md +1 -1
- data/documentation/docs/api/frame_locator.md +1 -1
- data/documentation/docs/api/locator.md +3 -1
- data/documentation/docs/api/page.md +4 -1
- data/documentation/package.json +6 -6
- data/documentation/yarn.lock +2931 -3220
- data/lib/playwright/channel_owners/browser_context.rb +8 -0
- data/lib/playwright/channel_owners/element_handle.rb +12 -3
- data/lib/playwright/channel_owners/frame.rb +4 -5
- data/lib/playwright/channel_owners/page.rb +11 -7
- data/lib/playwright/channel_owners/writable_stream.rb +14 -0
- data/lib/playwright/input_files.rb +60 -8
- data/lib/playwright/locator_impl.rb +5 -0
- data/lib/playwright/transport.rb +12 -2
- data/lib/playwright/version.rb +2 -2
- data/lib/playwright_api/accessibility.rb +2 -1
- data/lib/playwright_api/android.rb +8 -8
- data/lib/playwright_api/android_device.rb +6 -6
- data/lib/playwright_api/api_request.rb +3 -3
- data/lib/playwright_api/api_request_context.rb +21 -8
- data/lib/playwright_api/browser.rb +6 -6
- data/lib/playwright_api/browser_context.rb +11 -11
- data/lib/playwright_api/browser_type.rb +8 -8
- data/lib/playwright_api/cdp_session.rb +6 -6
- data/lib/playwright_api/console_message.rb +26 -7
- data/lib/playwright_api/dialog.rb +6 -6
- data/lib/playwright_api/element_handle.rb +40 -38
- data/lib/playwright_api/frame.rb +24 -24
- data/lib/playwright_api/frame_locator.rb +1 -1
- data/lib/playwright_api/js_handle.rb +6 -6
- data/lib/playwright_api/locator.rb +22 -20
- data/lib/playwright_api/page.rb +31 -28
- data/lib/playwright_api/playwright.rb +9 -9
- data/lib/playwright_api/request.rb +6 -6
- data/lib/playwright_api/response.rb +6 -6
- data/lib/playwright_api/route.rb +6 -6
- data/lib/playwright_api/selectors.rb +7 -7
- data/lib/playwright_api/tracing.rb +7 -7
- data/lib/playwright_api/web_socket.rb +6 -6
- data/lib/playwright_api/worker.rb +8 -8
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e2dee736be02c56e75b6a89e2eab014c4d205ca23688b30084ea3854f50dfda
|
4
|
+
data.tar.gz: a213f955daad15c58bc1edd1b123cb6768cbc6df5ec6be0b09e537a8b6ea22ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eba2fed3585b9ef5aa1b068cfc3294acc0f134e1ecccec6fae465bfd8df52c2395d02d706cb8958342c8e1af8be2066b537bc7af9eb3da1fe3748536677ba0c0
|
7
|
+
data.tar.gz: 2264ea9fd32bd7b02e15453a17876c2ee5fa8d51fb5eca652242959254ead0fda4ee721e9c35a1a24c1dc005d42268fd49b4566bd844841499bb8933ba83b8a3
|
@@ -5,10 +5,23 @@ sidebar_position: 10
|
|
5
5
|
# APIRequestContext
|
6
6
|
|
7
7
|
This API is used for the Web API testing. You can use it to trigger API endpoints, configure micro-services, prepare
|
8
|
-
environment or the service to your e2e test.
|
9
|
-
|
8
|
+
environment or the service to your e2e test.
|
9
|
+
|
10
|
+
Each Playwright browser context has associated with it [APIRequestContext](./api_request_context) instance which shares cookie storage with the
|
11
|
+
browser context and can be accessed via [BrowserContext#request](./browser_context#request) or [Page#request](./page#request). It is also
|
12
|
+
possible to create a new APIRequestContext instance manually by calling [APIRequest#new_context](./api_request#new_context).
|
13
|
+
|
14
|
+
**Cookie management**
|
15
|
+
|
16
|
+
[APIRequestContext](./api_request_context) retuned by [BrowserContext#request](./browser_context#request) and [Page#request](./page#request) shares cookie storage
|
17
|
+
with the corresponding [BrowserContext](./browser_context). Each API request will have `Cookie` header populated with the values from the
|
18
|
+
browser context. If the API response contains `Set-Cookie` header it will automatically update [BrowserContext](./browser_context) cookies
|
19
|
+
and requests made from the page will pick them up. This means that if you log in using this API, your e2e test will be
|
10
20
|
logged in and vice versa.
|
11
21
|
|
22
|
+
If you want API requests to not interfere with the browser cookies you shoud create a new [APIRequestContext](./api_request_context) by calling
|
23
|
+
[APIRequest#new_context](./api_request#new_context). Such [APIRequestContext](./api_request_context) object will have its own isolated cookie storage.
|
24
|
+
|
12
25
|
```ruby
|
13
26
|
playwright.chromium.launch do |browser|
|
14
27
|
# This will launch a new browser, create a context and page. When making HTTP
|
@@ -31,7 +31,7 @@ def connect_over_cdp(
|
|
31
31
|
&block)
|
32
32
|
```
|
33
33
|
|
34
|
-
This
|
34
|
+
This method attaches Playwright to an existing browser instance using the Chrome DevTools Protocol.
|
35
35
|
|
36
36
|
The default browser context is accessible via [Browser#contexts](./browser#contexts).
|
37
37
|
|
@@ -4,7 +4,33 @@ sidebar_position: 10
|
|
4
4
|
|
5
5
|
# ConsoleMessage
|
6
6
|
|
7
|
-
[ConsoleMessage](./console_message) objects are dispatched by page via the [`event: Page.console`] event.
|
7
|
+
[ConsoleMessage](./console_message) objects are dispatched by page via the [`event: Page.console`] event. For each console messages logged
|
8
|
+
in the page there will be corresponding event in the Playwright context.
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
# Listen for all console logs
|
12
|
+
page.on("console", ->(msg) { puts msg.text })
|
13
|
+
|
14
|
+
# Listen for all console events and handle errors
|
15
|
+
page.on("console", ->(msg) {
|
16
|
+
if msg.type == 'error'
|
17
|
+
puts "error: #{msg.text}"
|
18
|
+
end
|
19
|
+
})
|
20
|
+
|
21
|
+
# Get the next console log
|
22
|
+
msg = page.expect_console_message do
|
23
|
+
# Issue console.log inside the page
|
24
|
+
page.evaluate("console.error('hello', 42, { foo: 'bar' })")
|
25
|
+
end
|
26
|
+
|
27
|
+
# Deconstruct print arguments
|
28
|
+
msg.args[0].json_value # => 'hello'
|
29
|
+
msg.args[1].json_value # => 42
|
30
|
+
msg.args[2].json_value # => { 'foo' => 'bar' }
|
31
|
+
```
|
32
|
+
|
33
|
+
|
8
34
|
|
9
35
|
## args
|
10
36
|
|
@@ -436,10 +436,12 @@ The method finds all elements matching the specified selector in the [ElementHan
|
|
436
436
|
```
|
437
437
|
def screenshot(
|
438
438
|
animations: nil,
|
439
|
+
caret: nil,
|
439
440
|
mask: nil,
|
440
441
|
omitBackground: nil,
|
441
442
|
path: nil,
|
442
443
|
quality: nil,
|
444
|
+
scale: nil,
|
443
445
|
timeout: nil,
|
444
446
|
type: nil)
|
445
447
|
```
|
@@ -641,8 +643,8 @@ def wait_for_element_state(state, timeout: nil)
|
|
641
643
|
|
642
644
|
Returns when the element satisfies the `state`.
|
643
645
|
|
644
|
-
Depending on the `state` parameter, this method waits for one of the [actionability](https://playwright.dev/python/docs/actionability) checks to
|
645
|
-
This method throws when the element is detached while waiting, unless waiting for the `"hidden"` state.
|
646
|
+
Depending on the `state` parameter, this method waits for one of the [actionability](https://playwright.dev/python/docs/actionability) checks to
|
647
|
+
pass. This method throws when the element is detached while waiting, unless waiting for the `"hidden"` state.
|
646
648
|
- `"visible"` Wait until the element is [visible](https://playwright.dev/python/docs/actionability).
|
647
649
|
- `"hidden"` Wait until the element is [not visible](https://playwright.dev/python/docs/actionability) or
|
648
650
|
[not attached](https://playwright.dev/python/docs/actionability). Note that waiting for hidden does not throw when the element detaches.
|
@@ -450,7 +450,7 @@ The method finds an element matching the specified selector in the [Locator](./l
|
|
450
450
|
def nth(index)
|
451
451
|
```
|
452
452
|
|
453
|
-
Returns locator to the n-th matching element.
|
453
|
+
Returns locator to the n-th matching element. It's zero based, `nth(0)` selects the first element.
|
454
454
|
|
455
455
|
## page
|
456
456
|
|
@@ -490,10 +490,12 @@ modifier, modifier is pressed and being held while the subsequent key is being p
|
|
490
490
|
```
|
491
491
|
def screenshot(
|
492
492
|
animations: nil,
|
493
|
+
caret: nil,
|
493
494
|
mask: nil,
|
494
495
|
omitBackground: nil,
|
495
496
|
path: nil,
|
496
497
|
quality: nil,
|
498
|
+
scale: nil,
|
497
499
|
timeout: nil,
|
498
500
|
type: nil)
|
499
501
|
```
|
@@ -1013,12 +1013,14 @@ To remove a route with its handler you can use [Page#unroute](./page#unroute).
|
|
1013
1013
|
```
|
1014
1014
|
def screenshot(
|
1015
1015
|
animations: nil,
|
1016
|
+
caret: nil,
|
1016
1017
|
clip: nil,
|
1017
1018
|
fullPage: nil,
|
1018
1019
|
mask: nil,
|
1019
1020
|
omitBackground: nil,
|
1020
1021
|
path: nil,
|
1021
1022
|
quality: nil,
|
1023
|
+
scale: nil,
|
1022
1024
|
timeout: nil,
|
1023
1025
|
type: nil)
|
1024
1026
|
```
|
@@ -1606,6 +1608,7 @@ associated with the page.
|
|
1606
1608
|
|
1607
1609
|
## request
|
1608
1610
|
|
1609
|
-
API testing helper associated with this page.
|
1611
|
+
API testing helper associated with this page. This method returns the same instance as
|
1612
|
+
[BrowserContext#request](./browser_context#request) on the page's context. See [BrowserContext#request](./browser_context#request) for more details.
|
1610
1613
|
|
1611
1614
|
## touchscreen
|
data/documentation/package.json
CHANGED
@@ -14,14 +14,14 @@
|
|
14
14
|
"write-heading-ids": "docusaurus write-heading-ids"
|
15
15
|
},
|
16
16
|
"dependencies": {
|
17
|
-
"@docusaurus/core": "^2.0.0-beta.
|
18
|
-
"@docusaurus/preset-classic": "^2.0.0-beta.
|
19
|
-
"@mdx-js/react": "^1.6.
|
20
|
-
"@svgr/webpack": "^
|
17
|
+
"@docusaurus/core": "^2.0.0-beta.18",
|
18
|
+
"@docusaurus/preset-classic": "^2.0.0-beta.18",
|
19
|
+
"@mdx-js/react": "^1.6.22",
|
20
|
+
"@svgr/webpack": "^6.2.1",
|
21
21
|
"clsx": "^1.1.1",
|
22
22
|
"file-loader": "^6.2.0",
|
23
|
-
"react": "^
|
24
|
-
"react-dom": "^
|
23
|
+
"react": "^18.0.0",
|
24
|
+
"react-dom": "^18.0.0",
|
25
25
|
"url-loader": "^4.1.1"
|
26
26
|
},
|
27
27
|
"browserslist": {
|