playwright-ruby-client 1.45.0 → 1.46.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/docs/api/api_request_context.md +7 -0
  3. data/documentation/docs/api/browser.md +2 -0
  4. data/documentation/docs/api/browser_type.md +1 -0
  5. data/documentation/docs/api/element_handle.md +0 -6
  6. data/documentation/docs/api/frame.md +1 -7
  7. data/documentation/docs/api/locator.md +0 -6
  8. data/documentation/docs/api/page.md +2 -8
  9. data/documentation/docs/api/request.md +1 -1
  10. data/documentation/docs/api/response.md +2 -2
  11. data/documentation/docs/api/route.md +1 -0
  12. data/documentation/docs/article/guides/rspec_integration.md +3 -3
  13. data/lib/playwright/channel_owners/api_request_context.rb +7 -0
  14. data/lib/playwright/channel_owners/route.rb +2 -1
  15. data/lib/playwright/javascript/value_parser.rb +8 -0
  16. data/lib/playwright/javascript/value_serializer.rb +16 -0
  17. data/lib/playwright/locator_assertions_impl.rb +2 -0
  18. data/lib/playwright/utils.rb +24 -0
  19. data/lib/playwright/version.rb +2 -2
  20. data/lib/playwright_api/android_device.rb +4 -4
  21. data/lib/playwright_api/api_request.rb +1 -0
  22. data/lib/playwright_api/api_request_context.rb +14 -7
  23. data/lib/playwright_api/browser.rb +4 -2
  24. data/lib/playwright_api/browser_type.rb +2 -1
  25. data/lib/playwright_api/element_handle.rb +0 -6
  26. data/lib/playwright_api/frame.rb +5 -11
  27. data/lib/playwright_api/locator.rb +0 -6
  28. data/lib/playwright_api/page.rb +6 -12
  29. data/lib/playwright_api/request.rb +1 -1
  30. data/lib/playwright_api/response.rb +2 -2
  31. data/lib/playwright_api/route.rb +2 -1
  32. data/lib/playwright_api/worker.rb +4 -4
  33. data/sig/playwright.rbs +17 -17
  34. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 61d1fe5862b1d039cee887b00ac4f561c4d1158d21e582262738bcabe6c5614b
4
- data.tar.gz: 5041a590c2d79d0b6885b140be6ef581e7d50f52ca44cb7b975999cb70c4eacb
3
+ metadata.gz: d4dfaaa01a0911c2ec833a1c484a0c4823e83fcc871b51aa9e1775b483d7dc4f
4
+ data.tar.gz: 63c4c3f3b3965192380d8a54cfb2fe4010af6aef5dee5bf5b88e3a68407e638b
5
5
  SHA512:
6
- metadata.gz: c4bed1453a41a06716fa4df121cdbbec291bd9a0338993c90a2961745fdebb0c3ba09a160179a4b649b8342adbd83f95193639764ac75600cf0dc7be11ff833b
7
- data.tar.gz: f2ed6829ad907d3a9862ba0be498348e834c46fa7ab352b50da81ef29d68ce6a2ecac7f6e003b20a58abae6d69e14a2391d7825326ad17c614032f118b7a8410
6
+ metadata.gz: 6708627d5d398fd5250d519000d2a11668bca206de9d99e52b4c560b38db41755165ead1382ef9c9996d8253a01628a2450960b6c0abc787dce5c346631c69a3
7
+ data.tar.gz: 8c81aff0857d03e40f9397ec2735c1dfc5d93068831b35b0b15466d016968c318f6b3c2f7d556470bd3cc0d274befcdfa9eb880d482cea11cef1bd91c62ef94d
@@ -68,6 +68,7 @@ def delete(
68
68
  headers: nil,
69
69
  ignoreHTTPSErrors: nil,
70
70
  maxRedirects: nil,
71
+ maxRetries: nil,
71
72
  multipart: nil,
72
73
  params: nil,
73
74
  timeout: nil)
@@ -98,6 +99,7 @@ def fetch(
98
99
  headers: nil,
99
100
  ignoreHTTPSErrors: nil,
100
101
  maxRedirects: nil,
102
+ maxRetries: nil,
101
103
  method: nil,
102
104
  multipart: nil,
103
105
  params: nil,
@@ -147,6 +149,7 @@ def get(
147
149
  headers: nil,
148
150
  ignoreHTTPSErrors: nil,
149
151
  maxRedirects: nil,
152
+ maxRetries: nil,
150
153
  multipart: nil,
151
154
  params: nil,
152
155
  timeout: nil)
@@ -180,6 +183,7 @@ def head(
180
183
  headers: nil,
181
184
  ignoreHTTPSErrors: nil,
182
185
  maxRedirects: nil,
186
+ maxRetries: nil,
183
187
  multipart: nil,
184
188
  params: nil,
185
189
  timeout: nil)
@@ -201,6 +205,7 @@ def patch(
201
205
  headers: nil,
202
206
  ignoreHTTPSErrors: nil,
203
207
  maxRedirects: nil,
208
+ maxRetries: nil,
204
209
  multipart: nil,
205
210
  params: nil,
206
211
  timeout: nil)
@@ -222,6 +227,7 @@ def post(
222
227
  headers: nil,
223
228
  ignoreHTTPSErrors: nil,
224
229
  maxRedirects: nil,
230
+ maxRetries: nil,
225
231
  multipart: nil,
226
232
  params: nil,
227
233
  timeout: nil)
@@ -280,6 +286,7 @@ def put(
280
286
  headers: nil,
281
287
  ignoreHTTPSErrors: nil,
282
288
  maxRedirects: nil,
289
+ maxRetries: nil,
283
290
  multipart: nil,
284
291
  params: nil,
285
292
  timeout: nil)
@@ -91,6 +91,7 @@ def new_context(
91
91
  acceptDownloads: nil,
92
92
  baseURL: nil,
93
93
  bypassCSP: nil,
94
+ clientCertificates: nil,
94
95
  colorScheme: nil,
95
96
  deviceScaleFactor: nil,
96
97
  extraHTTPHeaders: nil,
@@ -150,6 +151,7 @@ def new_page(
150
151
  acceptDownloads: nil,
151
152
  baseURL: nil,
152
153
  bypassCSP: nil,
154
+ clientCertificates: nil,
153
155
  colorScheme: nil,
154
156
  deviceScaleFactor: nil,
155
157
  extraHTTPHeaders: nil,
@@ -120,6 +120,7 @@ def launch_persistent_context(
120
120
  bypassCSP: nil,
121
121
  channel: nil,
122
122
  chromiumSandbox: nil,
123
+ clientCertificates: nil,
123
124
  colorScheme: nil,
124
125
  deviceScaleFactor: nil,
125
126
  devtools: nil,
@@ -85,7 +85,6 @@ This method checks the element by performing the following steps:
85
85
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
86
86
  1. Scroll the element into view if needed.
87
87
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
88
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
89
88
  1. Ensure that the element is now checked. If not, this method throws.
90
89
 
91
90
  If the element is detached from the DOM at any moment during the action, this method throws.
@@ -148,7 +147,6 @@ This method double clicks the element by performing the following steps:
148
147
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
149
148
  1. Scroll the element into view if needed.
150
149
  1. Use [Page#mouse](./page#mouse) to double click in the center of the element, or the specified `position`.
151
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set. Note that if the first click of the `dblclick()` triggers a navigation event, this method will throw.
152
150
 
153
151
  If the element is detached from the DOM at any moment during the action, this method throws.
154
152
 
@@ -300,7 +298,6 @@ This method hovers over the element by performing the following steps:
300
298
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
301
299
  1. Scroll the element into view if needed.
302
300
  1. Use [Page#mouse](./page#mouse) to hover over the center of the element, or the specified `position`.
303
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
304
301
 
305
302
  If the element is detached from the DOM at any moment during the action, this method throws.
306
303
 
@@ -552,7 +549,6 @@ This method checks or unchecks an element by performing the following steps:
552
549
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
553
550
  1. Scroll the element into view if needed.
554
551
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
555
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
556
552
  1. Ensure that the element is now checked or unchecked. If not, this method throws.
557
553
 
558
554
  When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -590,7 +586,6 @@ This method taps the element by performing the following steps:
590
586
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
591
587
  1. Scroll the element into view if needed.
592
588
  1. Use [Page#touchscreen](./page#touchscreen) to tap the center of the element, or the specified `position`.
593
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
594
589
 
595
590
  If the element is detached from the DOM at any moment during the action, this method throws.
596
591
 
@@ -638,7 +633,6 @@ This method checks the element by performing the following steps:
638
633
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
639
634
  1. Scroll the element into view if needed.
640
635
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
641
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
642
636
  1. Ensure that the element is now unchecked. If not, this method throws.
643
637
 
644
638
  If the element is detached from the DOM at any moment during the action, this method throws.
@@ -70,7 +70,6 @@ This method checks an element matching `selector` by performing the following st
70
70
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
71
71
  1. Scroll the element into view if needed.
72
72
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
73
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
74
73
  1. Ensure that the element is now checked. If not, this method throws.
75
74
 
76
75
  When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -142,8 +141,7 @@ This method double clicks an element matching `selector` by performing the follo
142
141
  1. Find an element matching `selector`. If there is none, wait until a matching element is attached to the DOM.
143
142
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
144
143
  1. Scroll the element into view if needed.
145
- 1. Use [Page#mouse](./page#mouse) to double click in the center of the element, or the specified `position`.
146
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set. Note that if the first click of the `dblclick()` triggers a navigation event, this method will throw.
144
+ 1. Use [Page#mouse](./page#mouse) to double click in the center of the element, or the specified `position`. if the first click of the `dblclick()` triggers a navigation event, this method will throw.
147
145
 
148
146
  When all steps combined have not finished during the specified `timeout`, this method throws a
149
147
  `TimeoutError`. Passing zero timeout disables this.
@@ -682,7 +680,6 @@ This method hovers over an element matching `selector` by performing the followi
682
680
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
683
681
  1. Scroll the element into view if needed.
684
682
  1. Use [Page#mouse](./page#mouse) to hover over the center of the element, or the specified `position`.
685
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
686
683
 
687
684
  When all steps combined have not finished during the specified `timeout`, this method throws a
688
685
  `TimeoutError`. Passing zero timeout disables this.
@@ -946,7 +943,6 @@ This method checks or unchecks an element matching `selector` by performing the
946
943
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
947
944
  1. Scroll the element into view if needed.
948
945
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
949
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
950
946
  1. Ensure that the element is now checked or unchecked. If not, this method throws.
951
947
 
952
948
  When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -1000,7 +996,6 @@ This method taps an element matching `selector` by performing the following step
1000
996
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1001
997
  1. Scroll the element into view if needed.
1002
998
  1. Use [Page#touchscreen](./page#touchscreen) to tap the center of the element, or the specified `position`.
1003
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1004
999
 
1005
1000
  When all steps combined have not finished during the specified `timeout`, this method throws a
1006
1001
  `TimeoutError`. Passing zero timeout disables this.
@@ -1065,7 +1060,6 @@ This method checks an element matching `selector` by performing the following st
1065
1060
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1066
1061
  1. Scroll the element into view if needed.
1067
1062
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
1068
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1069
1063
  1. Ensure that the element is now unchecked. If not, this method throws.
1070
1064
 
1071
1065
  When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -147,7 +147,6 @@ Performs the following steps:
147
147
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
148
148
  1. Scroll the element into view if needed.
149
149
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
150
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
151
150
  1. Ensure that the element is now checked. If not, this method throws.
152
151
 
153
152
  If the element is detached from the DOM at any moment during the action, this method throws.
@@ -267,7 +266,6 @@ This method double clicks the element by performing the following steps:
267
266
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
268
267
  1. Scroll the element into view if needed.
269
268
  1. Use [Page#mouse](./page#mouse) to double click in the center of the element, or the specified `position`.
270
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set. Note that if the first click of the `dblclick()` triggers a navigation event, this method will throw.
271
269
 
272
270
  If the element is detached from the DOM at any moment during the action, this method throws.
273
271
 
@@ -816,7 +814,6 @@ This method hovers over the element by performing the following steps:
816
814
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
817
815
  1. Scroll the element into view if needed.
818
816
  1. Use [Page#mouse](./page#mouse) to hover over the center of the element, or the specified `position`.
819
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
820
817
 
821
818
  If the element is detached from the DOM at any moment during the action, this method throws.
822
819
 
@@ -1252,7 +1249,6 @@ This method checks or unchecks an element by performing the following steps:
1252
1249
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1253
1250
  1. Scroll the element into view if needed.
1254
1251
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
1255
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1256
1252
  1. Ensure that the element is now checked or unchecked. If not, this method throws.
1257
1253
 
1258
1254
  When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -1314,7 +1310,6 @@ This method taps the element by performing the following steps:
1314
1310
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
1315
1311
  1. Scroll the element into view if needed.
1316
1312
  1. Use [Page#touchscreen](./page#touchscreen) to tap the center of the element, or the specified `position`.
1317
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1318
1313
 
1319
1314
  If the element is detached from the DOM at any moment during the action, this method throws.
1320
1315
 
@@ -1374,7 +1369,6 @@ This method unchecks the element by performing the following steps:
1374
1369
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the element, unless `force` option is set.
1375
1370
  1. Scroll the element into view if needed.
1376
1371
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
1377
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1378
1372
  1. Ensure that the element is now unchecked. If not, this method throws.
1379
1373
 
1380
1374
  If the element is detached from the DOM at any moment during the action, this method throws.
@@ -115,7 +115,6 @@ This method checks an element matching `selector` by performing the following st
115
115
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
116
116
  1. Scroll the element into view if needed.
117
117
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
118
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
119
118
  1. Ensure that the element is now checked. If not, this method throws.
120
119
 
121
120
  When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -204,7 +203,6 @@ This method double clicks an element matching `selector` by performing the follo
204
203
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
205
204
  1. Scroll the element into view if needed.
206
205
  1. Use [Page#mouse](./page#mouse) to double click in the center of the element, or the specified `position`.
207
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set. Note that if the first click of the `dblclick()` triggers a navigation event, this method will throw.
208
206
 
209
207
  When all steps combined have not finished during the specified `timeout`, this method throws a
210
208
  `TimeoutError`. Passing zero timeout disables this.
@@ -834,7 +832,7 @@ def go_back(timeout: nil, waitUntil: nil)
834
832
 
835
833
 
836
834
  Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the
837
- last redirect. If can not go back, returns `null`.
835
+ last redirect. If cannot go back, returns `null`.
838
836
 
839
837
  Navigate to the previous page in history.
840
838
 
@@ -846,7 +844,7 @@ def go_forward(timeout: nil, waitUntil: nil)
846
844
 
847
845
 
848
846
  Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the
849
- last redirect. If can not go forward, returns `null`.
847
+ last redirect. If cannot go forward, returns `null`.
850
848
 
851
849
  Navigate to the next page in history.
852
850
 
@@ -897,7 +895,6 @@ This method hovers over an element matching `selector` by performing the followi
897
895
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
898
896
  1. Scroll the element into view if needed.
899
897
  1. Use [Page#mouse](./page#mouse) to hover over the center of the element, or the specified `position`.
900
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
901
898
 
902
899
  When all steps combined have not finished during the specified `timeout`, this method throws a
903
900
  `TimeoutError`. Passing zero timeout disables this.
@@ -1343,7 +1340,6 @@ This method checks or unchecks an element matching `selector` by performing the
1343
1340
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1344
1341
  1. Scroll the element into view if needed.
1345
1342
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
1346
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1347
1343
  1. Ensure that the element is now checked or unchecked. If not, this method throws.
1348
1344
 
1349
1345
  When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -1463,7 +1459,6 @@ This method taps an element matching `selector` by performing the following step
1463
1459
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1464
1460
  1. Scroll the element into view if needed.
1465
1461
  1. Use [Page#touchscreen](./page#touchscreen) to tap the center of the element, or the specified `position`.
1466
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1467
1462
 
1468
1463
  When all steps combined have not finished during the specified `timeout`, this method throws a
1469
1464
  `TimeoutError`. Passing zero timeout disables this.
@@ -1528,7 +1523,6 @@ This method unchecks an element matching `selector` by performing the following
1528
1523
  1. Wait for [actionability](https://playwright.dev/python/docs/actionability) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1529
1524
  1. Scroll the element into view if needed.
1530
1525
  1. Use [Page#mouse](./page#mouse) to click in the center of the element.
1531
- 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1532
1526
  1. Ensure that the element is now unchecked. If not, this method throws.
1533
1527
 
1534
1528
  When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -96,7 +96,7 @@ def header_value(name)
96
96
  ```
97
97
 
98
98
 
99
- Returns the value of the header matching the name. The name is case insensitive.
99
+ Returns the value of the header matching the name. The name is case-insensitive.
100
100
 
101
101
  ## navigation_request?
102
102
 
@@ -80,7 +80,7 @@ def header_value(name)
80
80
  ```
81
81
 
82
82
 
83
- Returns the value of the header matching the name. The name is case insensitive. If multiple headers have
83
+ Returns the value of the header matching the name. The name is case-insensitive. If multiple headers have
84
84
  the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned.
85
85
 
86
86
  ## header_values
@@ -90,7 +90,7 @@ def header_values(name)
90
90
  ```
91
91
 
92
92
 
93
- Returns all values of the headers matching the name, for example `set-cookie`. The name is case insensitive.
93
+ Returns all values of the headers matching the name, for example `set-cookie`. The name is case-insensitive.
94
94
 
95
95
  ## json
96
96
 
@@ -120,6 +120,7 @@ page.route("**/*", method(:handle))
120
120
  def fetch(
121
121
  headers: nil,
122
122
  maxRedirects: nil,
123
+ maxRetries: nil,
123
124
  method: nil,
124
125
  postData: nil,
125
126
  timeout: nil,
@@ -37,18 +37,18 @@ require 'playwright/test'
37
37
 
38
38
  RSpec.configure do |config|
39
39
  # include web-first assertions just for feature specs.
40
- config.include Playwright::RSpec::Matchers, type: :feature
40
+ config.include Playwright::Test::Matchers, type: :feature
41
41
  end
42
42
  ```
43
43
 
44
- If you want to use web-first assertions only for some specs, you can include `Playwright::RSpec::Matchers` in the spec file directly.
44
+ If you want to use web-first assertions only for some specs, you can include `Playwright::Test::Matchers` in the spec file directly.
45
45
 
46
46
  ```ruby title=spec/system/example_spec.rb
47
47
  require 'rails_helper'
48
48
  require 'playwright/test'
49
49
 
50
50
  describe 'example' do
51
- include Playwright::RSpec::Matchers
51
+ include Playwright::Test::Matchers
52
52
 
53
53
  it 'should work' do
54
54
  ...
@@ -49,6 +49,7 @@ module Playwright
49
49
  headers: nil,
50
50
  ignoreHTTPSErrors: nil,
51
51
  maxRedirects: nil,
52
+ maxRetries: nil,
52
53
  method: nil,
53
54
  multipart: nil,
54
55
  params: nil,
@@ -73,6 +74,7 @@ module Playwright
73
74
  headers: headers,
74
75
  ignoreHTTPSErrors: ignoreHTTPSErrors,
75
76
  maxRedirects: maxRedirects,
77
+ maxRetries: maxRetries,
76
78
  method: method,
77
79
  multipart: multipart,
78
80
  params: params,
@@ -89,6 +91,7 @@ module Playwright
89
91
  headers: nil,
90
92
  ignoreHTTPSErrors: nil,
91
93
  maxRedirects: nil,
94
+ maxRetries: nil,
92
95
  method: nil,
93
96
  multipart: nil,
94
97
  params: nil,
@@ -102,6 +105,9 @@ module Playwright
102
105
  if maxRedirects && maxRedirects < 0
103
106
  raise ArgumentError.new("'maxRedirects' should be greater than or equal to '0'")
104
107
  end
108
+ if maxRetries && maxRetries < 0
109
+ raise ArgumentError.new("'maxRetries' should be greater than or equal to '0'")
110
+ end
105
111
 
106
112
  headers_obj = headers || request&.headers
107
113
  fetch_params = {
@@ -153,6 +159,7 @@ module Playwright
153
159
  fetch_params[:failOnStatusCode] = failOnStatusCode
154
160
  fetch_params[:ignoreHTTPSErrors] = ignoreHTTPSErrors
155
161
  fetch_params[:maxRedirects] = maxRedirects
162
+ fetch_params[:maxRetries] = maxRetries
156
163
  fetch_params.compact!
157
164
  response = @channel.send_message_to_server('fetch', fetch_params)
158
165
 
@@ -110,7 +110,7 @@ module Playwright
110
110
  end
111
111
  end
112
112
 
113
- def fetch(headers: nil, method: nil, postData: nil, url: nil, maxRedirects: nil, timeout: nil)
113
+ def fetch(headers: nil, method: nil, postData: nil, url: nil, maxRedirects: nil, maxRetries: nil, timeout: nil)
114
114
  api_request_context = @context.request
115
115
  api_request_context.send(:_inner_fetch,
116
116
  request,
@@ -119,6 +119,7 @@ module Playwright
119
119
  method: method,
120
120
  data: postData,
121
121
  maxRedirects: maxRedirects,
122
+ maxRetries: maxRetries,
122
123
  timeout: timeout,
123
124
  )
124
125
  end
@@ -56,6 +56,14 @@ module Playwright
56
56
  return hash['bi'].to_i
57
57
  end
58
58
 
59
+ if hash.key?('e')
60
+ return ::Playwright::Error.new(
61
+ message: hash['e']['m'],
62
+ name: hash['e']['n'],
63
+ stack: hash['e']['s'].split("\n"),
64
+ )
65
+ end
66
+
59
67
  if hash.key?('m')
60
68
  return parse_hash(hash['m']).to_h
61
69
  end
@@ -31,6 +31,22 @@ module Playwright
31
31
  { v: 'Infinity' }
32
32
  when -Float::INFINITY
33
33
  { v: '-Infinity' }
34
+ when ::Playwright::Error
35
+ {
36
+ e: {
37
+ n: value.name,
38
+ m: value.message,
39
+ s: value.stack.join("\n")
40
+ }
41
+ }
42
+ when StandardError
43
+ {
44
+ e: {
45
+ n: value.class.name,
46
+ m: value.message,
47
+ s: (value.backtrace || []).join("\n")
48
+ }
49
+ }
34
50
  when true, false
35
51
  { b: value }
36
52
  when Numeric
@@ -99,6 +99,8 @@ module Playwright
99
99
  }
100
100
  elsif item.is_a?(Regexp)
101
101
  expected_regex(item, match_substring, normalize_white_space, ignore_case)
102
+ else
103
+ raise ArgumentError.new("Expected value provided to assertion to be a string or regex, got #{item.class}")
102
104
  end
103
105
  end
104
106
  end
@@ -1,3 +1,5 @@
1
+ require 'base64'
2
+
1
3
  module Playwright
2
4
  module Utils
3
5
  module PrepareBrowserContextOptions
@@ -65,6 +67,28 @@ module Playwright
65
67
  params[:acceptDownloads] = params[:acceptDownloads] ? 'accept' : 'deny'
66
68
  end
67
69
 
70
+ if params[:clientCertificates].is_a?(Array)
71
+ params[:clientCertificates] = params[:clientCertificates].filter_map do |item|
72
+ out_record = {
73
+ origin: item[:origin],
74
+ passphrase: item[:passphrase],
75
+ }
76
+
77
+ { pfxPath: 'pfx', certPath: 'cert', keyPath: 'key' }.each do |key, out_key|
78
+ if (filepath = item[key])
79
+ out_record[out_key] = Base64.encode64(File.read(filepath)) rescue ''
80
+ elsif (value = item[out_key.to_sym])
81
+ out_record[out_key] = value
82
+ end
83
+ end
84
+
85
+ out_record.compact!
86
+ next nil if out_record.empty?
87
+
88
+ out_record
89
+ end
90
+ end
91
+
68
92
  params
69
93
  end
70
94
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playwright
4
- VERSION = '1.45.0'
5
- COMPATIBLE_PLAYWRIGHT_VERSION = '1.45.0'
4
+ VERSION = '1.46.0'
5
+ COMPATIBLE_PLAYWRIGHT_VERSION = '1.46.1'
6
6
  end
@@ -194,13 +194,13 @@ module Playwright
194
194
  end
195
195
 
196
196
  # @nodoc
197
- def tap_on(selector, duration: nil, timeout: nil)
198
- wrap_impl(@impl.tap_on(unwrap_impl(selector), duration: unwrap_impl(duration), timeout: unwrap_impl(timeout)))
197
+ def should_close_connection_on_close!
198
+ wrap_impl(@impl.should_close_connection_on_close!)
199
199
  end
200
200
 
201
201
  # @nodoc
202
- def should_close_connection_on_close!
203
- wrap_impl(@impl.should_close_connection_on_close!)
202
+ def tap_on(selector, duration: nil, timeout: nil)
203
+ wrap_impl(@impl.tap_on(unwrap_impl(selector), duration: unwrap_impl(duration), timeout: unwrap_impl(timeout)))
204
204
  end
205
205
 
206
206
  # -- inherited from EventEmitter --
@@ -10,6 +10,7 @@ module Playwright
10
10
  # Creates new instances of `APIRequestContext`.
11
11
  def new_context(
12
12
  baseURL: nil,
13
+ clientCertificates: nil,
13
14
  extraHTTPHeaders: nil,
14
15
  httpCredentials: nil,
15
16
  ignoreHTTPSErrors: nil,
@@ -79,10 +79,11 @@ module Playwright
79
79
  headers: nil,
80
80
  ignoreHTTPSErrors: nil,
81
81
  maxRedirects: nil,
82
+ maxRetries: nil,
82
83
  multipart: nil,
83
84
  params: nil,
84
85
  timeout: nil)
85
- wrap_impl(@impl.delete(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
86
+ wrap_impl(@impl.delete(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), maxRetries: unwrap_impl(maxRetries), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
86
87
  end
87
88
 
88
89
  #
@@ -128,11 +129,12 @@ module Playwright
128
129
  headers: nil,
129
130
  ignoreHTTPSErrors: nil,
130
131
  maxRedirects: nil,
132
+ maxRetries: nil,
131
133
  method: nil,
132
134
  multipart: nil,
133
135
  params: nil,
134
136
  timeout: nil)
135
- wrap_impl(@impl.fetch(unwrap_impl(urlOrRequest), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), method: unwrap_impl(method), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
137
+ wrap_impl(@impl.fetch(unwrap_impl(urlOrRequest), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), maxRetries: unwrap_impl(maxRetries), method: unwrap_impl(method), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
136
138
  end
137
139
 
138
140
  #
@@ -159,10 +161,11 @@ module Playwright
159
161
  headers: nil,
160
162
  ignoreHTTPSErrors: nil,
161
163
  maxRedirects: nil,
164
+ maxRetries: nil,
162
165
  multipart: nil,
163
166
  params: nil,
164
167
  timeout: nil)
165
- wrap_impl(@impl.get(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
168
+ wrap_impl(@impl.get(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), maxRetries: unwrap_impl(maxRetries), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
166
169
  end
167
170
 
168
171
  #
@@ -177,10 +180,11 @@ module Playwright
177
180
  headers: nil,
178
181
  ignoreHTTPSErrors: nil,
179
182
  maxRedirects: nil,
183
+ maxRetries: nil,
180
184
  multipart: nil,
181
185
  params: nil,
182
186
  timeout: nil)
183
- wrap_impl(@impl.head(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
187
+ wrap_impl(@impl.head(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), maxRetries: unwrap_impl(maxRetries), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
184
188
  end
185
189
 
186
190
  #
@@ -195,10 +199,11 @@ module Playwright
195
199
  headers: nil,
196
200
  ignoreHTTPSErrors: nil,
197
201
  maxRedirects: nil,
202
+ maxRetries: nil,
198
203
  multipart: nil,
199
204
  params: nil,
200
205
  timeout: nil)
201
- wrap_impl(@impl.patch(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
206
+ wrap_impl(@impl.patch(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), maxRetries: unwrap_impl(maxRetries), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
202
207
  end
203
208
 
204
209
  #
@@ -249,10 +254,11 @@ module Playwright
249
254
  headers: nil,
250
255
  ignoreHTTPSErrors: nil,
251
256
  maxRedirects: nil,
257
+ maxRetries: nil,
252
258
  multipart: nil,
253
259
  params: nil,
254
260
  timeout: nil)
255
- wrap_impl(@impl.post(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
261
+ wrap_impl(@impl.post(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), maxRetries: unwrap_impl(maxRetries), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
256
262
  end
257
263
 
258
264
  #
@@ -267,10 +273,11 @@ module Playwright
267
273
  headers: nil,
268
274
  ignoreHTTPSErrors: nil,
269
275
  maxRedirects: nil,
276
+ maxRetries: nil,
270
277
  multipart: nil,
271
278
  params: nil,
272
279
  timeout: nil)
273
- wrap_impl(@impl.put(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
280
+ wrap_impl(@impl.put(unwrap_impl(url), data: unwrap_impl(data), failOnStatusCode: unwrap_impl(failOnStatusCode), form: unwrap_impl(form), headers: unwrap_impl(headers), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), maxRedirects: unwrap_impl(maxRedirects), maxRetries: unwrap_impl(maxRetries), multipart: unwrap_impl(multipart), params: unwrap_impl(params), timeout: unwrap_impl(timeout)))
274
281
  end
275
282
 
276
283
  #
@@ -91,6 +91,7 @@ module Playwright
91
91
  acceptDownloads: nil,
92
92
  baseURL: nil,
93
93
  bypassCSP: nil,
94
+ clientCertificates: nil,
94
95
  colorScheme: nil,
95
96
  deviceScaleFactor: nil,
96
97
  extraHTTPHeaders: nil,
@@ -122,7 +123,7 @@ module Playwright
122
123
  userAgent: nil,
123
124
  viewport: nil,
124
125
  &block)
125
- wrap_impl(@impl.new_context(acceptDownloads: unwrap_impl(acceptDownloads), baseURL: unwrap_impl(baseURL), bypassCSP: unwrap_impl(bypassCSP), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), forcedColors: unwrap_impl(forcedColors), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale), noViewport: unwrap_impl(noViewport), offline: unwrap_impl(offline), permissions: unwrap_impl(permissions), proxy: unwrap_impl(proxy), record_har_content: unwrap_impl(record_har_content), record_har_mode: unwrap_impl(record_har_mode), record_har_omit_content: unwrap_impl(record_har_omit_content), record_har_path: unwrap_impl(record_har_path), record_har_url_filter: unwrap_impl(record_har_url_filter), record_video_dir: unwrap_impl(record_video_dir), record_video_size: unwrap_impl(record_video_size), reducedMotion: unwrap_impl(reducedMotion), screen: unwrap_impl(screen), serviceWorkers: unwrap_impl(serviceWorkers), storageState: unwrap_impl(storageState), strictSelectors: unwrap_impl(strictSelectors), timezoneId: unwrap_impl(timezoneId), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
126
+ wrap_impl(@impl.new_context(acceptDownloads: unwrap_impl(acceptDownloads), baseURL: unwrap_impl(baseURL), bypassCSP: unwrap_impl(bypassCSP), clientCertificates: unwrap_impl(clientCertificates), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), forcedColors: unwrap_impl(forcedColors), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale), noViewport: unwrap_impl(noViewport), offline: unwrap_impl(offline), permissions: unwrap_impl(permissions), proxy: unwrap_impl(proxy), record_har_content: unwrap_impl(record_har_content), record_har_mode: unwrap_impl(record_har_mode), record_har_omit_content: unwrap_impl(record_har_omit_content), record_har_path: unwrap_impl(record_har_path), record_har_url_filter: unwrap_impl(record_har_url_filter), record_video_dir: unwrap_impl(record_video_dir), record_video_size: unwrap_impl(record_video_size), reducedMotion: unwrap_impl(reducedMotion), screen: unwrap_impl(screen), serviceWorkers: unwrap_impl(serviceWorkers), storageState: unwrap_impl(storageState), strictSelectors: unwrap_impl(strictSelectors), timezoneId: unwrap_impl(timezoneId), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
126
127
  end
127
128
 
128
129
  #
@@ -135,6 +136,7 @@ module Playwright
135
136
  acceptDownloads: nil,
136
137
  baseURL: nil,
137
138
  bypassCSP: nil,
139
+ clientCertificates: nil,
138
140
  colorScheme: nil,
139
141
  deviceScaleFactor: nil,
140
142
  extraHTTPHeaders: nil,
@@ -166,7 +168,7 @@ module Playwright
166
168
  userAgent: nil,
167
169
  viewport: nil,
168
170
  &block)
169
- wrap_impl(@impl.new_page(acceptDownloads: unwrap_impl(acceptDownloads), baseURL: unwrap_impl(baseURL), bypassCSP: unwrap_impl(bypassCSP), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), forcedColors: unwrap_impl(forcedColors), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale), noViewport: unwrap_impl(noViewport), offline: unwrap_impl(offline), permissions: unwrap_impl(permissions), proxy: unwrap_impl(proxy), record_har_content: unwrap_impl(record_har_content), record_har_mode: unwrap_impl(record_har_mode), record_har_omit_content: unwrap_impl(record_har_omit_content), record_har_path: unwrap_impl(record_har_path), record_har_url_filter: unwrap_impl(record_har_url_filter), record_video_dir: unwrap_impl(record_video_dir), record_video_size: unwrap_impl(record_video_size), reducedMotion: unwrap_impl(reducedMotion), screen: unwrap_impl(screen), serviceWorkers: unwrap_impl(serviceWorkers), storageState: unwrap_impl(storageState), strictSelectors: unwrap_impl(strictSelectors), timezoneId: unwrap_impl(timezoneId), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
171
+ wrap_impl(@impl.new_page(acceptDownloads: unwrap_impl(acceptDownloads), baseURL: unwrap_impl(baseURL), bypassCSP: unwrap_impl(bypassCSP), clientCertificates: unwrap_impl(clientCertificates), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), forcedColors: unwrap_impl(forcedColors), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale), noViewport: unwrap_impl(noViewport), offline: unwrap_impl(offline), permissions: unwrap_impl(permissions), proxy: unwrap_impl(proxy), record_har_content: unwrap_impl(record_har_content), record_har_mode: unwrap_impl(record_har_mode), record_har_omit_content: unwrap_impl(record_har_omit_content), record_har_path: unwrap_impl(record_har_path), record_har_url_filter: unwrap_impl(record_har_url_filter), record_video_dir: unwrap_impl(record_video_dir), record_video_size: unwrap_impl(record_video_size), reducedMotion: unwrap_impl(reducedMotion), screen: unwrap_impl(screen), serviceWorkers: unwrap_impl(serviceWorkers), storageState: unwrap_impl(storageState), strictSelectors: unwrap_impl(strictSelectors), timezoneId: unwrap_impl(timezoneId), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
170
172
  end
171
173
 
172
174
  #
@@ -122,6 +122,7 @@ module Playwright
122
122
  bypassCSP: nil,
123
123
  channel: nil,
124
124
  chromiumSandbox: nil,
125
+ clientCertificates: nil,
125
126
  colorScheme: nil,
126
127
  deviceScaleFactor: nil,
127
128
  devtools: nil,
@@ -165,7 +166,7 @@ module Playwright
165
166
  userAgent: nil,
166
167
  viewport: nil,
167
168
  &block)
168
- wrap_impl(@impl.launch_persistent_context(unwrap_impl(userDataDir), acceptDownloads: unwrap_impl(acceptDownloads), args: unwrap_impl(args), baseURL: unwrap_impl(baseURL), bypassCSP: unwrap_impl(bypassCSP), channel: unwrap_impl(channel), chromiumSandbox: unwrap_impl(chromiumSandbox), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), devtools: unwrap_impl(devtools), downloadsPath: unwrap_impl(downloadsPath), env: unwrap_impl(env), executablePath: unwrap_impl(executablePath), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), firefoxUserPrefs: unwrap_impl(firefoxUserPrefs), forcedColors: unwrap_impl(forcedColors), geolocation: unwrap_impl(geolocation), handleSIGHUP: unwrap_impl(handleSIGHUP), handleSIGINT: unwrap_impl(handleSIGINT), handleSIGTERM: unwrap_impl(handleSIGTERM), hasTouch: unwrap_impl(hasTouch), headless: unwrap_impl(headless), httpCredentials: unwrap_impl(httpCredentials), ignoreDefaultArgs: unwrap_impl(ignoreDefaultArgs), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale), noViewport: unwrap_impl(noViewport), offline: unwrap_impl(offline), permissions: unwrap_impl(permissions), proxy: unwrap_impl(proxy), record_har_content: unwrap_impl(record_har_content), record_har_mode: unwrap_impl(record_har_mode), record_har_omit_content: unwrap_impl(record_har_omit_content), record_har_path: unwrap_impl(record_har_path), record_har_url_filter: unwrap_impl(record_har_url_filter), record_video_dir: unwrap_impl(record_video_dir), record_video_size: unwrap_impl(record_video_size), reducedMotion: unwrap_impl(reducedMotion), screen: unwrap_impl(screen), serviceWorkers: unwrap_impl(serviceWorkers), slowMo: unwrap_impl(slowMo), strictSelectors: unwrap_impl(strictSelectors), timeout: unwrap_impl(timeout), timezoneId: unwrap_impl(timezoneId), tracesDir: unwrap_impl(tracesDir), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
169
+ wrap_impl(@impl.launch_persistent_context(unwrap_impl(userDataDir), acceptDownloads: unwrap_impl(acceptDownloads), args: unwrap_impl(args), baseURL: unwrap_impl(baseURL), bypassCSP: unwrap_impl(bypassCSP), channel: unwrap_impl(channel), chromiumSandbox: unwrap_impl(chromiumSandbox), clientCertificates: unwrap_impl(clientCertificates), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), devtools: unwrap_impl(devtools), downloadsPath: unwrap_impl(downloadsPath), env: unwrap_impl(env), executablePath: unwrap_impl(executablePath), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), firefoxUserPrefs: unwrap_impl(firefoxUserPrefs), forcedColors: unwrap_impl(forcedColors), geolocation: unwrap_impl(geolocation), handleSIGHUP: unwrap_impl(handleSIGHUP), handleSIGINT: unwrap_impl(handleSIGINT), handleSIGTERM: unwrap_impl(handleSIGTERM), hasTouch: unwrap_impl(hasTouch), headless: unwrap_impl(headless), httpCredentials: unwrap_impl(httpCredentials), ignoreDefaultArgs: unwrap_impl(ignoreDefaultArgs), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale), noViewport: unwrap_impl(noViewport), offline: unwrap_impl(offline), permissions: unwrap_impl(permissions), proxy: unwrap_impl(proxy), record_har_content: unwrap_impl(record_har_content), record_har_mode: unwrap_impl(record_har_mode), record_har_omit_content: unwrap_impl(record_har_omit_content), record_har_path: unwrap_impl(record_har_path), record_har_url_filter: unwrap_impl(record_har_url_filter), record_video_dir: unwrap_impl(record_video_dir), record_video_size: unwrap_impl(record_video_size), reducedMotion: unwrap_impl(reducedMotion), screen: unwrap_impl(screen), serviceWorkers: unwrap_impl(serviceWorkers), slowMo: unwrap_impl(slowMo), strictSelectors: unwrap_impl(strictSelectors), timeout: unwrap_impl(timeout), timezoneId: unwrap_impl(timezoneId), tracesDir: unwrap_impl(tracesDir), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
169
170
  end
170
171
 
171
172
  #
@@ -66,7 +66,6 @@ module Playwright
66
66
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
67
67
  # 1. Scroll the element into view if needed.
68
68
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
69
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
70
69
  # 1. Ensure that the element is now checked. If not, this method throws.
71
70
  #
72
71
  # If the element is detached from the DOM at any moment during the action, this method throws.
@@ -117,7 +116,6 @@ module Playwright
117
116
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
118
117
  # 1. Scroll the element into view if needed.
119
118
  # 1. Use [`property: Page.mouse`] to double click in the center of the element, or the specified `position`.
120
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set. Note that if the first click of the `dblclick()` triggers a navigation event, this method will throw.
121
119
  #
122
120
  # If the element is detached from the DOM at any moment during the action, this method throws.
123
121
  #
@@ -250,7 +248,6 @@ module Playwright
250
248
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
251
249
  # 1. Scroll the element into view if needed.
252
250
  # 1. Use [`property: Page.mouse`] to hover over the center of the element, or the specified `position`.
253
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
254
251
  #
255
252
  # If the element is detached from the DOM at any moment during the action, this method throws.
256
253
  #
@@ -447,7 +444,6 @@ module Playwright
447
444
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
448
445
  # 1. Scroll the element into view if needed.
449
446
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
450
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
451
447
  # 1. Ensure that the element is now checked or unchecked. If not, this method throws.
452
448
  #
453
449
  # When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -480,7 +476,6 @@ module Playwright
480
476
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
481
477
  # 1. Scroll the element into view if needed.
482
478
  # 1. Use [`property: Page.touchscreen`] to tap the center of the element, or the specified `position`.
483
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
484
479
  #
485
480
  # If the element is detached from the DOM at any moment during the action, this method throws.
486
481
  #
@@ -520,7 +515,6 @@ module Playwright
520
515
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
521
516
  # 1. Scroll the element into view if needed.
522
517
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
523
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
524
518
  # 1. Ensure that the element is now unchecked. If not, this method throws.
525
519
  #
526
520
  # If the element is detached from the DOM at any moment during the action, this method throws.
@@ -55,7 +55,6 @@ module Playwright
55
55
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
56
56
  # 1. Scroll the element into view if needed.
57
57
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
58
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
59
58
  # 1. Ensure that the element is now checked. If not, this method throws.
60
59
  #
61
60
  # When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -111,8 +110,7 @@ module Playwright
111
110
  # 1. Find an element matching `selector`. If there is none, wait until a matching element is attached to the DOM.
112
111
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
113
112
  # 1. Scroll the element into view if needed.
114
- # 1. Use [`property: Page.mouse`] to double click in the center of the element, or the specified `position`.
115
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set. Note that if the first click of the `dblclick()` triggers a navigation event, this method will throw.
113
+ # 1. Use [`property: Page.mouse`] to double click in the center of the element, or the specified `position`. if the first click of the `dblclick()` triggers a navigation event, this method will throw.
116
114
  #
117
115
  # When all steps combined have not finished during the specified `timeout`, this method throws a
118
116
  # `TimeoutError`. Passing zero timeout disables this.
@@ -582,7 +580,6 @@ module Playwright
582
580
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
583
581
  # 1. Scroll the element into view if needed.
584
582
  # 1. Use [`property: Page.mouse`] to hover over the center of the element, or the specified `position`.
585
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
586
583
  #
587
584
  # When all steps combined have not finished during the specified `timeout`, this method throws a
588
585
  # `TimeoutError`. Passing zero timeout disables this.
@@ -789,7 +786,6 @@ module Playwright
789
786
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
790
787
  # 1. Scroll the element into view if needed.
791
788
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
792
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
793
789
  # 1. Ensure that the element is now checked or unchecked. If not, this method throws.
794
790
  #
795
791
  # When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -834,7 +830,6 @@ module Playwright
834
830
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
835
831
  # 1. Scroll the element into view if needed.
836
832
  # 1. Use [`property: Page.touchscreen`] to tap the center of the element, or the specified `position`.
837
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
838
833
  #
839
834
  # When all steps combined have not finished during the specified `timeout`, this method throws a
840
835
  # `TimeoutError`. Passing zero timeout disables this.
@@ -888,7 +883,6 @@ module Playwright
888
883
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
889
884
  # 1. Scroll the element into view if needed.
890
885
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
891
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
892
886
  # 1. Ensure that the element is now unchecked. If not, this method throws.
893
887
  #
894
888
  # When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -1041,13 +1035,13 @@ module Playwright
1041
1035
  end
1042
1036
 
1043
1037
  # @nodoc
1044
- def highlight(selector)
1045
- wrap_impl(@impl.highlight(unwrap_impl(selector)))
1038
+ def detached=(req)
1039
+ wrap_impl(@impl.detached=(unwrap_impl(req)))
1046
1040
  end
1047
1041
 
1048
1042
  # @nodoc
1049
- def detached=(req)
1050
- wrap_impl(@impl.detached=(unwrap_impl(req)))
1043
+ def highlight(selector)
1044
+ wrap_impl(@impl.highlight(unwrap_impl(selector)))
1051
1045
  end
1052
1046
 
1053
1047
  # -- inherited from EventEmitter --
@@ -109,7 +109,6 @@ module Playwright
109
109
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
110
110
  # 1. Scroll the element into view if needed.
111
111
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
112
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
113
112
  # 1. Ensure that the element is now checked. If not, this method throws.
114
113
  #
115
114
  # If the element is detached from the DOM at any moment during the action, this method throws.
@@ -216,7 +215,6 @@ module Playwright
216
215
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
217
216
  # 1. Scroll the element into view if needed.
218
217
  # 1. Use [`property: Page.mouse`] to double click in the center of the element, or the specified `position`.
219
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set. Note that if the first click of the `dblclick()` triggers a navigation event, this method will throw.
220
218
  #
221
219
  # If the element is detached from the DOM at any moment during the action, this method throws.
222
220
  #
@@ -687,7 +685,6 @@ module Playwright
687
685
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
688
686
  # 1. Scroll the element into view if needed.
689
687
  # 1. Use [`property: Page.mouse`] to hover over the center of the element, or the specified `position`.
690
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
691
688
  #
692
689
  # If the element is detached from the DOM at any moment during the action, this method throws.
693
690
  #
@@ -1057,7 +1054,6 @@ module Playwright
1057
1054
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1058
1055
  # 1. Scroll the element into view if needed.
1059
1056
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
1060
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1061
1057
  # 1. Ensure that the element is now checked or unchecked. If not, this method throws.
1062
1058
  #
1063
1059
  # When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -1121,7 +1117,6 @@ module Playwright
1121
1117
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
1122
1118
  # 1. Scroll the element into view if needed.
1123
1119
  # 1. Use [`property: Page.touchscreen`] to tap the center of the element, or the specified `position`.
1124
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1125
1120
  #
1126
1121
  # If the element is detached from the DOM at any moment during the action, this method throws.
1127
1122
  #
@@ -1173,7 +1168,6 @@ module Playwright
1173
1168
  # 1. Wait for [actionability](../actionability.md) checks on the element, unless `force` option is set.
1174
1169
  # 1. Scroll the element into view if needed.
1175
1170
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
1176
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1177
1171
  # 1. Ensure that the element is now unchecked. If not, this method throws.
1178
1172
  #
1179
1173
  # If the element is detached from the DOM at any moment during the action, this method throws.
@@ -123,7 +123,6 @@ module Playwright
123
123
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
124
124
  # 1. Scroll the element into view if needed.
125
125
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
126
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
127
126
  # 1. Ensure that the element is now checked. If not, this method throws.
128
127
  #
129
128
  # When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -194,7 +193,6 @@ module Playwright
194
193
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
195
194
  # 1. Scroll the element into view if needed.
196
195
  # 1. Use [`property: Page.mouse`] to double click in the center of the element, or the specified `position`.
197
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set. Note that if the first click of the `dblclick()` triggers a navigation event, this method will throw.
198
196
  #
199
197
  # When all steps combined have not finished during the specified `timeout`, this method throws a
200
198
  # `TimeoutError`. Passing zero timeout disables this.
@@ -780,7 +778,7 @@ module Playwright
780
778
 
781
779
  #
782
780
  # Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the
783
- # last redirect. If can not go back, returns `null`.
781
+ # last redirect. If cannot go back, returns `null`.
784
782
  #
785
783
  # Navigate to the previous page in history.
786
784
  def go_back(timeout: nil, waitUntil: nil)
@@ -789,7 +787,7 @@ module Playwright
789
787
 
790
788
  #
791
789
  # Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the
792
- # last redirect. If can not go forward, returns `null`.
790
+ # last redirect. If cannot go forward, returns `null`.
793
791
  #
794
792
  # Navigate to the next page in history.
795
793
  def go_forward(timeout: nil, waitUntil: nil)
@@ -826,7 +824,6 @@ module Playwright
826
824
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
827
825
  # 1. Scroll the element into view if needed.
828
826
  # 1. Use [`property: Page.mouse`] to hover over the center of the element, or the specified `position`.
829
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
830
827
  #
831
828
  # When all steps combined have not finished during the specified `timeout`, this method throws a
832
829
  # `TimeoutError`. Passing zero timeout disables this.
@@ -1281,7 +1278,6 @@ module Playwright
1281
1278
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1282
1279
  # 1. Scroll the element into view if needed.
1283
1280
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
1284
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1285
1281
  # 1. Ensure that the element is now checked or unchecked. If not, this method throws.
1286
1282
  #
1287
1283
  # When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -1381,7 +1377,6 @@ module Playwright
1381
1377
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1382
1378
  # 1. Scroll the element into view if needed.
1383
1379
  # 1. Use [`property: Page.touchscreen`] to tap the center of the element, or the specified `position`.
1384
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1385
1380
  #
1386
1381
  # When all steps combined have not finished during the specified `timeout`, this method throws a
1387
1382
  # `TimeoutError`. Passing zero timeout disables this.
@@ -1435,7 +1430,6 @@ module Playwright
1435
1430
  # 1. Wait for [actionability](../actionability.md) checks on the matched element, unless `force` option is set. If the element is detached during the checks, the whole action is retried.
1436
1431
  # 1. Scroll the element into view if needed.
1437
1432
  # 1. Use [`property: Page.mouse`] to click in the center of the element.
1438
- # 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
1439
1433
  # 1. Ensure that the element is now unchecked. If not, this method throws.
1440
1434
  #
1441
1435
  # When all steps combined have not finished during the specified `timeout`, this method throws a
@@ -1777,13 +1771,13 @@ module Playwright
1777
1771
  end
1778
1772
 
1779
1773
  # @nodoc
1780
- def stop_css_coverage
1781
- wrap_impl(@impl.stop_css_coverage)
1774
+ def stop_js_coverage
1775
+ wrap_impl(@impl.stop_js_coverage)
1782
1776
  end
1783
1777
 
1784
1778
  # @nodoc
1785
- def stop_js_coverage
1786
- wrap_impl(@impl.stop_js_coverage)
1779
+ def stop_css_coverage
1780
+ wrap_impl(@impl.stop_css_coverage)
1787
1781
  end
1788
1782
 
1789
1783
  # -- inherited from EventEmitter --
@@ -71,7 +71,7 @@ module Playwright
71
71
  end
72
72
 
73
73
  #
74
- # Returns the value of the header matching the name. The name is case insensitive.
74
+ # Returns the value of the header matching the name. The name is case-insensitive.
75
75
  def header_value(name)
76
76
  wrap_impl(@impl.header_value(unwrap_impl(name)))
77
77
  end
@@ -49,14 +49,14 @@ module Playwright
49
49
  end
50
50
 
51
51
  #
52
- # Returns the value of the header matching the name. The name is case insensitive. If multiple headers have
52
+ # Returns the value of the header matching the name. The name is case-insensitive. If multiple headers have
53
53
  # the same name (except `set-cookie`), they are returned as a list separated by `, `. For `set-cookie`, the `\n` separator is used. If no headers are found, `null` is returned.
54
54
  def header_value(name)
55
55
  wrap_impl(@impl.header_value(unwrap_impl(name)))
56
56
  end
57
57
 
58
58
  #
59
- # Returns all values of the headers matching the name, for example `set-cookie`. The name is case insensitive.
59
+ # Returns all values of the headers matching the name, for example `set-cookie`. The name is case-insensitive.
60
60
  def header_values(name)
61
61
  wrap_impl(@impl.header_values(unwrap_impl(name)))
62
62
  end
@@ -117,11 +117,12 @@ module Playwright
117
117
  def fetch(
118
118
  headers: nil,
119
119
  maxRedirects: nil,
120
+ maxRetries: nil,
120
121
  method: nil,
121
122
  postData: nil,
122
123
  timeout: nil,
123
124
  url: nil)
124
- wrap_impl(@impl.fetch(headers: unwrap_impl(headers), maxRedirects: unwrap_impl(maxRedirects), method: unwrap_impl(method), postData: unwrap_impl(postData), timeout: unwrap_impl(timeout), url: unwrap_impl(url)))
125
+ wrap_impl(@impl.fetch(headers: unwrap_impl(headers), maxRedirects: unwrap_impl(maxRedirects), maxRetries: unwrap_impl(maxRetries), method: unwrap_impl(method), postData: unwrap_impl(postData), timeout: unwrap_impl(timeout), url: unwrap_impl(url)))
125
126
  end
126
127
 
127
128
  #
@@ -47,13 +47,13 @@ module Playwright
47
47
  end
48
48
 
49
49
  # @nodoc
50
- def context=(req)
51
- wrap_impl(@impl.context=(unwrap_impl(req)))
50
+ def page=(req)
51
+ wrap_impl(@impl.page=(unwrap_impl(req)))
52
52
  end
53
53
 
54
54
  # @nodoc
55
- def page=(req)
56
- wrap_impl(@impl.page=(unwrap_impl(req)))
55
+ def context=(req)
56
+ wrap_impl(@impl.context=(unwrap_impl(req)))
57
57
  end
58
58
 
59
59
  # -- inherited from EventEmitter --
data/sig/playwright.rbs CHANGED
@@ -47,7 +47,7 @@ module Playwright
47
47
  def abort: (?errorCode: String) -> void
48
48
  def continue: (?headers: Hash[untyped, untyped], ?method: String, ?postData: (String | String | untyped), ?url: String) -> void
49
49
  def fallback: (?headers: Hash[untyped, untyped], ?method: String, ?postData: (String | String | untyped), ?url: String) -> void
50
- def fetch: (?headers: Hash[untyped, untyped], ?maxRedirects: Integer, ?method: String, ?postData: (String | String | untyped), ?timeout: Float, ?url: String) -> APIResponse
50
+ def fetch: (?headers: Hash[untyped, untyped], ?maxRedirects: Integer, ?maxRetries: Integer, ?method: String, ?postData: (String | String | untyped), ?timeout: Float, ?url: String) -> APIResponse
51
51
  def fulfill: (?body: (String | String), ?contentType: String, ?headers: Hash[untyped, untyped], ?json: untyped, ?path: (String | File), ?response: APIResponse, ?status: Integer) -> void
52
52
  def request: -> Request
53
53
  end
@@ -222,14 +222,14 @@ module Playwright
222
222
 
223
223
  class Clock
224
224
  def fast_forward: ((Integer | String) ticks) -> void
225
- def install: (?time: (Integer | String | Time)) -> void
225
+ def install: (?time: (Float | String | Time)) -> void
226
226
  def run_for: ((Integer | String) ticks) -> void
227
- def pause_at: ((Integer | String | Time) time) -> void
227
+ def pause_at: ((Float | String | Time) time) -> void
228
228
  def resume: -> void
229
- def set_fixed_time: ((Integer | String | Time) time) -> void
230
- def fixed_time=: ((Integer | String | Time) time) -> void
231
- def set_system_time: ((Integer | String | Time) time) -> void
232
- def system_time=: ((Integer | String | Time) time) -> void
229
+ def set_fixed_time: ((Float | String | Time) time) -> void
230
+ def fixed_time=: ((Float | String | Time) time) -> void
231
+ def set_system_time: ((Float | String | Time) time) -> void
232
+ def system_time=: ((Float | String | Time) time) -> void
233
233
  end
234
234
 
235
235
  class ConsoleMessage
@@ -419,8 +419,8 @@ module Playwright
419
419
  def contexts: -> Array[untyped]
420
420
  def connected?: -> bool
421
421
  def new_browser_cdp_session: -> CDPSession
422
- def new_context: (?acceptDownloads: bool, ?baseURL: String, ?bypassCSP: bool, ?colorScheme: ("light" | "dark" | "no-preference" | "null"), ?deviceScaleFactor: Float, ?extraHTTPHeaders: Hash[untyped, untyped], ?forcedColors: ("active" | "none" | "null"), ?geolocation: Hash[untyped, untyped], ?hasTouch: bool, ?httpCredentials: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?isMobile: bool, ?javaScriptEnabled: bool, ?locale: String, ?noViewport: bool, ?offline: bool, ?permissions: Array[untyped], ?proxy: Hash[untyped, untyped], ?record_har_content: ("omit" | "embed" | "attach"), ?record_har_mode: ("full" | "minimal"), ?record_har_omit_content: bool, ?record_har_path: (String | File), ?record_har_url_filter: (String | Regexp), ?record_video_dir: (String | File), ?record_video_size: Hash[untyped, untyped], ?reducedMotion: ("reduce" | "no-preference" | "null"), ?screen: Hash[untyped, untyped], ?serviceWorkers: ("allow" | "block"), ?storageState: ((String | File) | Hash[untyped, untyped]), ?strictSelectors: bool, ?timezoneId: String, ?userAgent: String, ?viewport: (nil | Hash[untyped, untyped])) ?{ (BrowserContext) -> untyped } -> BrowserContext
423
- def new_page: (?acceptDownloads: bool, ?baseURL: String, ?bypassCSP: bool, ?colorScheme: ("light" | "dark" | "no-preference" | "null"), ?deviceScaleFactor: Float, ?extraHTTPHeaders: Hash[untyped, untyped], ?forcedColors: ("active" | "none" | "null"), ?geolocation: Hash[untyped, untyped], ?hasTouch: bool, ?httpCredentials: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?isMobile: bool, ?javaScriptEnabled: bool, ?locale: String, ?noViewport: bool, ?offline: bool, ?permissions: Array[untyped], ?proxy: Hash[untyped, untyped], ?record_har_content: ("omit" | "embed" | "attach"), ?record_har_mode: ("full" | "minimal"), ?record_har_omit_content: bool, ?record_har_path: (String | File), ?record_har_url_filter: (String | Regexp), ?record_video_dir: (String | File), ?record_video_size: Hash[untyped, untyped], ?reducedMotion: ("reduce" | "no-preference" | "null"), ?screen: Hash[untyped, untyped], ?serviceWorkers: ("allow" | "block"), ?storageState: ((String | File) | Hash[untyped, untyped]), ?strictSelectors: bool, ?timezoneId: String, ?userAgent: String, ?viewport: (nil | Hash[untyped, untyped])) ?{ (Page) -> untyped } -> Page
422
+ def new_context: (?acceptDownloads: bool, ?baseURL: String, ?bypassCSP: bool, ?clientCertificates: Array[untyped], ?colorScheme: ("light" | "dark" | "no-preference" | "null"), ?deviceScaleFactor: Float, ?extraHTTPHeaders: Hash[untyped, untyped], ?forcedColors: ("active" | "none" | "null"), ?geolocation: Hash[untyped, untyped], ?hasTouch: bool, ?httpCredentials: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?isMobile: bool, ?javaScriptEnabled: bool, ?locale: String, ?noViewport: bool, ?offline: bool, ?permissions: Array[untyped], ?proxy: Hash[untyped, untyped], ?record_har_content: ("omit" | "embed" | "attach"), ?record_har_mode: ("full" | "minimal"), ?record_har_omit_content: bool, ?record_har_path: (String | File), ?record_har_url_filter: (String | Regexp), ?record_video_dir: (String | File), ?record_video_size: Hash[untyped, untyped], ?reducedMotion: ("reduce" | "no-preference" | "null"), ?screen: Hash[untyped, untyped], ?serviceWorkers: ("allow" | "block"), ?storageState: ((String | File) | Hash[untyped, untyped]), ?strictSelectors: bool, ?timezoneId: String, ?userAgent: String, ?viewport: (nil | Hash[untyped, untyped])) ?{ (BrowserContext) -> untyped } -> BrowserContext
423
+ def new_page: (?acceptDownloads: bool, ?baseURL: String, ?bypassCSP: bool, ?clientCertificates: Array[untyped], ?colorScheme: ("light" | "dark" | "no-preference" | "null"), ?deviceScaleFactor: Float, ?extraHTTPHeaders: Hash[untyped, untyped], ?forcedColors: ("active" | "none" | "null"), ?geolocation: Hash[untyped, untyped], ?hasTouch: bool, ?httpCredentials: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?isMobile: bool, ?javaScriptEnabled: bool, ?locale: String, ?noViewport: bool, ?offline: bool, ?permissions: Array[untyped], ?proxy: Hash[untyped, untyped], ?record_har_content: ("omit" | "embed" | "attach"), ?record_har_mode: ("full" | "minimal"), ?record_har_omit_content: bool, ?record_har_path: (String | File), ?record_har_url_filter: (String | Regexp), ?record_video_dir: (String | File), ?record_video_size: Hash[untyped, untyped], ?reducedMotion: ("reduce" | "no-preference" | "null"), ?screen: Hash[untyped, untyped], ?serviceWorkers: ("allow" | "block"), ?storageState: ((String | File) | Hash[untyped, untyped]), ?strictSelectors: bool, ?timezoneId: String, ?userAgent: String, ?viewport: (nil | Hash[untyped, untyped])) ?{ (Page) -> untyped } -> Page
424
424
  def start_tracing: (?page: Page, ?categories: Array[untyped], ?path: (String | File), ?screenshots: bool) -> void
425
425
  def stop_tracing: -> String
426
426
  def version: -> String
@@ -430,7 +430,7 @@ module Playwright
430
430
  def connect_over_cdp: (String endpointURL, ?headers: Hash[untyped, untyped], ?slowMo: Float, ?timeout: Float) ?{ (untyped) -> untyped } -> Browser
431
431
  def executable_path: -> String
432
432
  def launch: (?args: Array[untyped], ?channel: String, ?chromiumSandbox: bool, ?devtools: bool, ?downloadsPath: (String | File), ?env: Hash[untyped, untyped], ?executablePath: (String | File), ?firefoxUserPrefs: Hash[untyped, untyped], ?handleSIGHUP: bool, ?handleSIGINT: bool, ?handleSIGTERM: bool, ?headless: bool, ?ignoreDefaultArgs: (bool | Array[untyped]), ?proxy: Hash[untyped, untyped], ?slowMo: Float, ?timeout: Float, ?tracesDir: (String | File)) ?{ (Browser) -> untyped } -> Browser
433
- def launch_persistent_context: ((String | File) userDataDir, ?acceptDownloads: bool, ?args: Array[untyped], ?baseURL: String, ?bypassCSP: bool, ?channel: String, ?chromiumSandbox: bool, ?colorScheme: ("light" | "dark" | "no-preference" | "null"), ?deviceScaleFactor: Float, ?devtools: bool, ?downloadsPath: (String | File), ?env: Hash[untyped, untyped], ?executablePath: (String | File), ?extraHTTPHeaders: Hash[untyped, untyped], ?firefoxUserPrefs: Hash[untyped, untyped], ?forcedColors: ("active" | "none" | "null"), ?geolocation: Hash[untyped, untyped], ?handleSIGHUP: bool, ?handleSIGINT: bool, ?handleSIGTERM: bool, ?hasTouch: bool, ?headless: bool, ?httpCredentials: Hash[untyped, untyped], ?ignoreDefaultArgs: (bool | Array[untyped]), ?ignoreHTTPSErrors: bool, ?isMobile: bool, ?javaScriptEnabled: bool, ?locale: String, ?noViewport: bool, ?offline: bool, ?permissions: Array[untyped], ?proxy: Hash[untyped, untyped], ?record_har_content: ("omit" | "embed" | "attach"), ?record_har_mode: ("full" | "minimal"), ?record_har_omit_content: bool, ?record_har_path: (String | File), ?record_har_url_filter: (String | Regexp), ?record_video_dir: (String | File), ?record_video_size: Hash[untyped, untyped], ?reducedMotion: ("reduce" | "no-preference" | "null"), ?screen: Hash[untyped, untyped], ?serviceWorkers: ("allow" | "block"), ?slowMo: Float, ?strictSelectors: bool, ?timeout: Float, ?timezoneId: String, ?tracesDir: (String | File), ?userAgent: String, ?viewport: (nil | Hash[untyped, untyped])) ?{ (untyped) -> untyped } -> BrowserContext
433
+ def launch_persistent_context: ((String | File) userDataDir, ?acceptDownloads: bool, ?args: Array[untyped], ?baseURL: String, ?bypassCSP: bool, ?channel: String, ?chromiumSandbox: bool, ?clientCertificates: Array[untyped], ?colorScheme: ("light" | "dark" | "no-preference" | "null"), ?deviceScaleFactor: Float, ?devtools: bool, ?downloadsPath: (String | File), ?env: Hash[untyped, untyped], ?executablePath: (String | File), ?extraHTTPHeaders: Hash[untyped, untyped], ?firefoxUserPrefs: Hash[untyped, untyped], ?forcedColors: ("active" | "none" | "null"), ?geolocation: Hash[untyped, untyped], ?handleSIGHUP: bool, ?handleSIGINT: bool, ?handleSIGTERM: bool, ?hasTouch: bool, ?headless: bool, ?httpCredentials: Hash[untyped, untyped], ?ignoreDefaultArgs: (bool | Array[untyped]), ?ignoreHTTPSErrors: bool, ?isMobile: bool, ?javaScriptEnabled: bool, ?locale: String, ?noViewport: bool, ?offline: bool, ?permissions: Array[untyped], ?proxy: Hash[untyped, untyped], ?record_har_content: ("omit" | "embed" | "attach"), ?record_har_mode: ("full" | "minimal"), ?record_har_omit_content: bool, ?record_har_path: (String | File), ?record_har_url_filter: (String | Regexp), ?record_video_dir: (String | File), ?record_video_size: Hash[untyped, untyped], ?reducedMotion: ("reduce" | "no-preference" | "null"), ?screen: Hash[untyped, untyped], ?serviceWorkers: ("allow" | "block"), ?slowMo: Float, ?strictSelectors: bool, ?timeout: Float, ?timezoneId: String, ?tracesDir: (String | File), ?userAgent: String, ?viewport: (nil | Hash[untyped, untyped])) ?{ (untyped) -> untyped } -> BrowserContext
434
434
  def name: -> String
435
435
  end
436
436
 
@@ -546,14 +546,14 @@ module Playwright
546
546
  end
547
547
 
548
548
  class APIRequestContext
549
- def delete: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
549
+ def delete: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?maxRetries: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
550
550
  def dispose: (?reason: String) -> void
551
- def fetch: ((String | Request) urlOrRequest, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?method: String, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
552
- def get: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
553
- def head: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
554
- def patch: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
555
- def post: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
556
- def put: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
551
+ def fetch: ((String | Request) urlOrRequest, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?maxRetries: Integer, ?method: String, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
552
+ def get: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?maxRetries: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
553
+ def head: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?maxRetries: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
554
+ def patch: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?maxRetries: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
555
+ def post: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?maxRetries: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
556
+ def put: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?maxRetries: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
557
557
  end
558
558
 
559
559
  class LocatorAssertions
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playwright-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.45.0
4
+ version: 1.46.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-30 00:00:00.000000000 Z
11
+ date: 2024-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -413,5 +413,5 @@ requirements: []
413
413
  rubygems_version: 3.3.27
414
414
  signing_key:
415
415
  specification_version: 4
416
- summary: The Ruby binding of playwright driver 1.45.0
416
+ summary: The Ruby binding of playwright driver 1.46.1
417
417
  test_files: []