playwright-ruby-client 0.5.6 → 0.6.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/README.md +1 -1
- data/docs/api_coverage.md +10 -1
- data/lib/playwright/channel_owner.rb +3 -0
- data/lib/playwright/channel_owners/browser.rb +27 -2
- data/lib/playwright/channel_owners/browser_context.rb +52 -1
- data/lib/playwright/channel_owners/browser_type.rb +8 -1
- data/lib/playwright/channel_owners/element_handle.rb +15 -6
- data/lib/playwright/channel_owners/frame.rb +23 -6
- data/lib/playwright/channel_owners/page.rb +25 -44
- data/lib/playwright/download.rb +3 -2
- data/lib/playwright/events.rb +4 -0
- data/lib/playwright/playwright_api.rb +1 -5
- data/lib/playwright/tracing_impl.rb +31 -0
- data/lib/playwright/version.rb +2 -1
- data/lib/playwright_api/accessibility.rb +8 -7
- data/lib/playwright_api/android.rb +7 -7
- data/lib/playwright_api/android_device.rb +6 -6
- data/lib/playwright_api/browser.rb +49 -6
- data/lib/playwright_api/browser_context.rb +205 -9
- data/lib/playwright_api/browser_type.rb +48 -9
- data/lib/playwright_api/console_message.rb +8 -6
- data/lib/playwright_api/dialog.rb +29 -6
- data/lib/playwright_api/element_handle.rb +130 -26
- data/lib/playwright_api/file_chooser.rb +7 -0
- data/lib/playwright_api/frame.rb +200 -27
- data/lib/playwright_api/js_handle.rb +23 -6
- data/lib/playwright_api/keyboard.rb +48 -0
- data/lib/playwright_api/page.rb +514 -44
- data/lib/playwright_api/playwright.rb +24 -6
- data/lib/playwright_api/request.rb +34 -6
- data/lib/playwright_api/response.rb +8 -8
- data/lib/playwright_api/route.rb +28 -8
- data/lib/playwright_api/selectors.rb +31 -6
- data/lib/playwright_api/tracing.rb +99 -0
- data/lib/playwright_api/worker.rb +2 -2
- data/playwright.gemspec +2 -2
- metadata +6 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a283a84899327e4b56db01800535c7231c1c2e94e7cbf11bd72ec60b1415c92c
|
4
|
+
data.tar.gz: 5e929e57b0b8d3b0970c2a0cb5029acd6cc5bd23e419bf06bc1b0a45e2f5e781
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d13545073c8a110c55098547c7f7c5c4adae5c542b6b18f78be4cf3e5187cf2c92d8ccc86484c0e7bdfbeaf619ff6c8f77ce2f9c82b5eccad4c72dffb22603a5
|
7
|
+
data.tar.gz: ea4a751f747e5738121c8603eb3e495dd2ef32082d1fbd92841c2a0182637300b7c3bde0a00acbf1b25bdc572b140ff4e8a5a694dda95152f568ea5aa2760fef
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# 🎭 Playwright client for Ruby
|
4
4
|
|
5
|
-
|
5
|
+
#### [Docs](https://playwright-ruby-client.vercel.app/docs/article/getting_started) | [API](https://playwright-ruby-client.vercel.app/docs/api/playwright)
|
6
6
|
|
7
7
|
## Getting Started
|
8
8
|
|
data/docs/api_coverage.md
CHANGED
@@ -140,7 +140,7 @@
|
|
140
140
|
* evaluate_handle
|
141
141
|
* fill
|
142
142
|
* focus
|
143
|
-
*
|
143
|
+
* frame_element
|
144
144
|
* get_attribute
|
145
145
|
* goto
|
146
146
|
* hover
|
@@ -313,6 +313,7 @@
|
|
313
313
|
* expect_event
|
314
314
|
* expect_page
|
315
315
|
* ~~wait_for_event~~
|
316
|
+
* tracing
|
316
317
|
|
317
318
|
## ~~CDPSession~~
|
318
319
|
|
@@ -333,6 +334,8 @@
|
|
333
334
|
|
334
335
|
## BrowserType
|
335
336
|
|
337
|
+
* ~~connect~~
|
338
|
+
* connect_over_cdp
|
336
339
|
* executable_path
|
337
340
|
* launch
|
338
341
|
* ~~launch_persistent_context~~
|
@@ -347,6 +350,12 @@
|
|
347
350
|
* selectors
|
348
351
|
* webkit
|
349
352
|
|
353
|
+
## Tracing
|
354
|
+
|
355
|
+
* export
|
356
|
+
* start
|
357
|
+
* stop
|
358
|
+
|
350
359
|
## Android
|
351
360
|
|
352
361
|
* devices
|
@@ -5,6 +5,10 @@ module Playwright
|
|
5
5
|
include Utils::PrepareBrowserContextOptions
|
6
6
|
|
7
7
|
private def after_initialize
|
8
|
+
@connected = true
|
9
|
+
@closed_or_closing = false
|
10
|
+
@remote = true
|
11
|
+
|
8
12
|
@contexts = Set.new
|
9
13
|
@channel.on('close', method(:on_close))
|
10
14
|
end
|
@@ -48,6 +52,14 @@ module Playwright
|
|
48
52
|
|
49
53
|
def close
|
50
54
|
return if @closed_or_closing
|
55
|
+
if @remote
|
56
|
+
@contexts.each do |context|
|
57
|
+
context.pages.each do |page|
|
58
|
+
page.send(:on_close)
|
59
|
+
end
|
60
|
+
context.send(:on_close)
|
61
|
+
end
|
62
|
+
end
|
51
63
|
@closed_or_closing = true
|
52
64
|
@channel.send_message_to_server('close')
|
53
65
|
nil
|
@@ -77,8 +89,16 @@ module Playwright
|
|
77
89
|
|
78
90
|
private def on_close(_ = {})
|
79
91
|
@connected = false
|
80
|
-
|
81
|
-
|
92
|
+
if @remote
|
93
|
+
@contexts.each do |context|
|
94
|
+
context.pages.each do |page|
|
95
|
+
page.send(:on_close)
|
96
|
+
end
|
97
|
+
context.send(:on_close)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
emit(Events::Browser::Disconnected, self)
|
101
|
+
@closed_or_closing = true
|
82
102
|
end
|
83
103
|
|
84
104
|
# called from BrowserType#connectOverCDP
|
@@ -86,6 +106,11 @@ module Playwright
|
|
86
106
|
@contexts << context
|
87
107
|
end
|
88
108
|
|
109
|
+
# called from BrowserType#connectOverCDP
|
110
|
+
private def update_as_remote
|
111
|
+
@remote = true
|
112
|
+
end
|
113
|
+
|
89
114
|
# called from BrowserContext#on_close with send(:remove_context), so keep private.
|
90
115
|
private def remove_context(context)
|
91
116
|
@contexts.delete(context)
|
@@ -4,6 +4,7 @@ module Playwright
|
|
4
4
|
include Utils::Errors::SafeCloseError
|
5
5
|
attr_accessor :browser
|
6
6
|
attr_writer :owner_page, :options
|
7
|
+
attr_reader :tracing
|
7
8
|
|
8
9
|
private def after_initialize
|
9
10
|
@pages = Set.new
|
@@ -11,16 +12,43 @@ module Playwright
|
|
11
12
|
@bindings = {}
|
12
13
|
@timeout_settings = TimeoutSettings.new
|
13
14
|
|
15
|
+
@tracing = TracingImpl.new(@channel, self)
|
14
16
|
@channel.on('bindingCall', ->(params) { on_binding(ChannelOwners::BindingCall.from(params['binding'])) })
|
15
17
|
@channel.once('close', ->(_) { on_close })
|
16
18
|
@channel.on('page', ->(params) { on_page(ChannelOwners::Page.from(params['page']) )})
|
17
19
|
@channel.on('route', ->(params) {
|
18
20
|
on_route(ChannelOwners::Route.from(params['route']), ChannelOwners::Request.from(params['request']))
|
19
21
|
})
|
22
|
+
@channel.on('request', ->(params) {
|
23
|
+
on_request(
|
24
|
+
ChannelOwners::Request.from(params['request']),
|
25
|
+
ChannelOwners::Request.from_nullable(params['page']),
|
26
|
+
)
|
27
|
+
})
|
28
|
+
@channel.on('requestFailed', ->(params) {
|
29
|
+
on_request_failed(
|
30
|
+
ChannelOwners::Request.from(params['request']),
|
31
|
+
params['responseEndTiming'],
|
32
|
+
params['failureText'],
|
33
|
+
ChannelOwners::Request.from_nullable(params['page']),
|
34
|
+
)
|
35
|
+
})
|
36
|
+
@channel.on('requestFinished', ->(params) {
|
37
|
+
on_request_finished(
|
38
|
+
ChannelOwners::Request.from(params['request']),
|
39
|
+
params['responseEndTiming'],
|
40
|
+
ChannelOwners::Request.from_nullable(params['page']),
|
41
|
+
)
|
42
|
+
})
|
43
|
+
@channel.on('response', ->(params) {
|
44
|
+
on_response(
|
45
|
+
ChannelOwners::Response.from(params['response']),
|
46
|
+
ChannelOwners::Request.from_nullable(params['page']),
|
47
|
+
)
|
48
|
+
})
|
20
49
|
end
|
21
50
|
|
22
51
|
private def on_page(page)
|
23
|
-
page.send(:update_browser_context, self)
|
24
52
|
@pages << page
|
25
53
|
emit(Events::BrowserContext::Page, page)
|
26
54
|
page.send(:emit_popup_event_from_browser_context)
|
@@ -45,6 +73,29 @@ module Playwright
|
|
45
73
|
end
|
46
74
|
end
|
47
75
|
|
76
|
+
private def on_request_failed(request, response_end_timing, failure_text, page)
|
77
|
+
request.send(:update_failure_text, failure_text)
|
78
|
+
request.send(:update_response_end_timing, response_end_timing)
|
79
|
+
emit(Events::BrowserContext::RequestFailed, request)
|
80
|
+
page&.emit(Events::Page::RequestFailed, request)
|
81
|
+
end
|
82
|
+
|
83
|
+
private def on_request_finished(request, response_end_timing, page)
|
84
|
+
request.send(:update_response_end_timing, response_end_timing)
|
85
|
+
emit(Events::BrowserContext::RequestFinished, request)
|
86
|
+
page&.emit(Events::Page::RequestFinished, request)
|
87
|
+
end
|
88
|
+
|
89
|
+
private def on_request(request, page)
|
90
|
+
emit(Events::BrowserContext::Request, request)
|
91
|
+
page&.emit(Events::Page::Request, request)
|
92
|
+
end
|
93
|
+
|
94
|
+
private def on_response(response, page)
|
95
|
+
emit(Events::BrowserContext::Response, response)
|
96
|
+
page&.emit(Events::Page::Response, response)
|
97
|
+
end
|
98
|
+
|
48
99
|
def set_default_navigation_timeout(timeout)
|
49
100
|
@timeout_settings.default_navigation_timeout = timeout
|
50
101
|
@channel.send_message_to_server('setDefaultNavigationTimeoutNoReply', timeout: timeout)
|
@@ -23,17 +23,24 @@ module Playwright
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
def connect_over_cdp(endpointURL, slowMo: nil, timeout: nil, &block)
|
26
|
+
def connect_over_cdp(endpointURL, headers: nil, slowMo: nil, timeout: nil, &block)
|
27
27
|
raise 'Connecting over CDP is only supported in Chromium.' unless name == 'chromium'
|
28
28
|
|
29
29
|
params = {
|
30
30
|
sdkLanguage: 'ruby',
|
31
31
|
endpointURL: endpointURL,
|
32
|
+
headers: headers,
|
32
33
|
slowMo: slowMo,
|
33
34
|
timeout: timeout,
|
34
35
|
}.compact
|
36
|
+
|
37
|
+
if headers
|
38
|
+
params[:headers] = HttpHeaders.new(headers).as_serialized
|
39
|
+
end
|
40
|
+
|
35
41
|
result = @channel.send_message_to_server_result('connectOverCDP', params)
|
36
42
|
browser = ChannelOwners::Browser.from(result['browser'])
|
43
|
+
browser.send(:update_as_remote)
|
37
44
|
|
38
45
|
if result['defaultContext']
|
39
46
|
context = ChannelOwners::BrowserContext.from(result['defaultContext'])
|
@@ -76,12 +76,13 @@ module Playwright
|
|
76
76
|
nil
|
77
77
|
end
|
78
78
|
|
79
|
-
def hover(force: nil, modifiers: nil, position: nil, timeout: nil)
|
79
|
+
def hover(force: nil, modifiers: nil, position: nil, timeout: nil, trial: nil)
|
80
80
|
params = {
|
81
81
|
force: force,
|
82
82
|
modifiers: modifiers,
|
83
83
|
position: position,
|
84
84
|
timeout: timeout,
|
85
|
+
trial: trial,
|
85
86
|
}.compact
|
86
87
|
@channel.send_message_to_server('hover', params)
|
87
88
|
|
@@ -96,7 +97,8 @@ module Playwright
|
|
96
97
|
modifiers: nil,
|
97
98
|
noWaitAfter: nil,
|
98
99
|
position: nil,
|
99
|
-
timeout: nil
|
100
|
+
timeout: nil,
|
101
|
+
trial: nil)
|
100
102
|
|
101
103
|
params = {
|
102
104
|
button: button,
|
@@ -107,6 +109,7 @@ module Playwright
|
|
107
109
|
noWaitAfter: noWaitAfter,
|
108
110
|
position: position,
|
109
111
|
timeout: timeout,
|
112
|
+
trial: trial,
|
110
113
|
}.compact
|
111
114
|
@channel.send_message_to_server('click', params)
|
112
115
|
|
@@ -120,7 +123,8 @@ module Playwright
|
|
120
123
|
modifiers: nil,
|
121
124
|
noWaitAfter: nil,
|
122
125
|
position: nil,
|
123
|
-
timeout: nil
|
126
|
+
timeout: nil,
|
127
|
+
trial: nil)
|
124
128
|
|
125
129
|
params = {
|
126
130
|
button: button,
|
@@ -130,6 +134,7 @@ module Playwright
|
|
130
134
|
noWaitAfter: noWaitAfter,
|
131
135
|
position: position,
|
132
136
|
timeout: timeout,
|
137
|
+
trial: trial,
|
133
138
|
}.compact
|
134
139
|
@channel.send_message_to_server('dblclick', params)
|
135
140
|
|
@@ -158,7 +163,8 @@ module Playwright
|
|
158
163
|
modifiers: nil,
|
159
164
|
noWaitAfter: nil,
|
160
165
|
position: nil,
|
161
|
-
timeout: nil
|
166
|
+
timeout: nil,
|
167
|
+
trial: nil)
|
162
168
|
|
163
169
|
params = {
|
164
170
|
force: force,
|
@@ -166,6 +172,7 @@ module Playwright
|
|
166
172
|
noWaitAfter: noWaitAfter,
|
167
173
|
position: position,
|
168
174
|
timeout: timeout,
|
175
|
+
trial: trial,
|
169
176
|
}.compact
|
170
177
|
@channel.send_message_to_server('tap', params)
|
171
178
|
|
@@ -228,24 +235,26 @@ module Playwright
|
|
228
235
|
nil
|
229
236
|
end
|
230
237
|
|
231
|
-
def check(force: nil, noWaitAfter: nil, position: nil, timeout: nil)
|
238
|
+
def check(force: nil, noWaitAfter: nil, position: nil, timeout: nil, trial: nil)
|
232
239
|
params = {
|
233
240
|
force: force,
|
234
241
|
noWaitAfter: noWaitAfter,
|
235
242
|
position: position,
|
236
243
|
timeout: timeout,
|
244
|
+
trial: trial,
|
237
245
|
}.compact
|
238
246
|
@channel.send_message_to_server('check', params)
|
239
247
|
|
240
248
|
nil
|
241
249
|
end
|
242
250
|
|
243
|
-
def uncheck(force: nil, noWaitAfter: nil, position: nil, timeout: nil)
|
251
|
+
def uncheck(force: nil, noWaitAfter: nil, position: nil, timeout: nil, trial: nil)
|
244
252
|
params = {
|
245
253
|
force: force,
|
246
254
|
noWaitAfter: noWaitAfter,
|
247
255
|
position: position,
|
248
256
|
timeout: timeout,
|
257
|
+
trial: trial,
|
249
258
|
}.compact
|
250
259
|
@channel.send_message_to_server('uncheck', params)
|
251
260
|
|
@@ -126,6 +126,11 @@ module Playwright
|
|
126
126
|
nil
|
127
127
|
end
|
128
128
|
|
129
|
+
def frame_element
|
130
|
+
resp = @channel.send_message_to_server('frameElement')
|
131
|
+
ChannelOwners::ElementHandle.from(resp)
|
132
|
+
end
|
133
|
+
|
129
134
|
def evaluate(pageFunction, arg: nil)
|
130
135
|
if JavaScript.function?(pageFunction)
|
131
136
|
JavaScript::Function.new(pageFunction, arg).evaluate(@channel)
|
@@ -284,7 +289,8 @@ module Playwright
|
|
284
289
|
modifiers: nil,
|
285
290
|
noWaitAfter: nil,
|
286
291
|
position: nil,
|
287
|
-
timeout: nil
|
292
|
+
timeout: nil,
|
293
|
+
trial: nil)
|
288
294
|
|
289
295
|
params = {
|
290
296
|
selector: selector,
|
@@ -296,6 +302,7 @@ module Playwright
|
|
296
302
|
noWaitAfter: noWaitAfter,
|
297
303
|
position: position,
|
298
304
|
timeout: timeout,
|
305
|
+
trial: trial,
|
299
306
|
}.compact
|
300
307
|
@channel.send_message_to_server('click', params)
|
301
308
|
|
@@ -310,7 +317,8 @@ module Playwright
|
|
310
317
|
modifiers: nil,
|
311
318
|
noWaitAfter: nil,
|
312
319
|
position: nil,
|
313
|
-
timeout: nil
|
320
|
+
timeout: nil,
|
321
|
+
trial: nil)
|
314
322
|
|
315
323
|
params = {
|
316
324
|
selector: selector,
|
@@ -321,6 +329,7 @@ module Playwright
|
|
321
329
|
noWaitAfter: noWaitAfter,
|
322
330
|
position: position,
|
323
331
|
timeout: timeout,
|
332
|
+
trial: trial,
|
324
333
|
}.compact
|
325
334
|
@channel.send_message_to_server('dblclick', params)
|
326
335
|
|
@@ -333,7 +342,8 @@ module Playwright
|
|
333
342
|
modifiers: nil,
|
334
343
|
noWaitAfter: nil,
|
335
344
|
position: nil,
|
336
|
-
timeout: nil
|
345
|
+
timeout: nil,
|
346
|
+
trial: nil)
|
337
347
|
params = {
|
338
348
|
selector: selector,
|
339
349
|
force: force,
|
@@ -341,6 +351,7 @@ module Playwright
|
|
341
351
|
noWaitAfter: noWaitAfter,
|
342
352
|
position: position,
|
343
353
|
timeout: timeout,
|
354
|
+
trial: trial,
|
344
355
|
}.compact
|
345
356
|
@channel.send_message_to_server('tap', params)
|
346
357
|
|
@@ -394,13 +405,15 @@ module Playwright
|
|
394
405
|
force: nil,
|
395
406
|
modifiers: nil,
|
396
407
|
position: nil,
|
397
|
-
timeout: nil
|
408
|
+
timeout: nil,
|
409
|
+
trial: nil)
|
398
410
|
params = {
|
399
411
|
selector: selector,
|
400
412
|
force: force,
|
401
413
|
modifiers: modifiers,
|
402
414
|
position: position,
|
403
415
|
timeout: timeout,
|
416
|
+
trial: trial,
|
404
417
|
}.compact
|
405
418
|
@channel.send_message_to_server('hover', params)
|
406
419
|
|
@@ -476,7 +489,8 @@ module Playwright
|
|
476
489
|
force: nil,
|
477
490
|
noWaitAfter: nil,
|
478
491
|
position: nil,
|
479
|
-
timeout: nil
|
492
|
+
timeout: nil,
|
493
|
+
trial: nil)
|
480
494
|
|
481
495
|
params = {
|
482
496
|
selector: selector,
|
@@ -484,6 +498,7 @@ module Playwright
|
|
484
498
|
noWaitAfter: noWaitAfter,
|
485
499
|
position: position,
|
486
500
|
timeout: timeout,
|
501
|
+
trial: trial,
|
487
502
|
}.compact
|
488
503
|
@channel.send_message_to_server('check', params)
|
489
504
|
|
@@ -495,7 +510,8 @@ module Playwright
|
|
495
510
|
force: nil,
|
496
511
|
noWaitAfter: nil,
|
497
512
|
position: nil,
|
498
|
-
timeout: nil
|
513
|
+
timeout: nil,
|
514
|
+
trial: nil)
|
499
515
|
|
500
516
|
params = {
|
501
517
|
selector: selector,
|
@@ -503,6 +519,7 @@ module Playwright
|
|
503
519
|
noWaitAfter: noWaitAfter,
|
504
520
|
position: position,
|
505
521
|
timeout: timeout,
|
522
|
+
trial: trial,
|
506
523
|
}.compact
|
507
524
|
@channel.send_message_to_server('uncheck', params)
|
508
525
|
|
@@ -56,25 +56,6 @@ module Playwright
|
|
56
56
|
@channel.on('pageError', ->(params) {
|
57
57
|
emit(Events::Page::PageError, Error.parse(params['error']['error']))
|
58
58
|
})
|
59
|
-
@channel.on('request', ->(params) {
|
60
|
-
emit(Events::Page::Request, ChannelOwners::Request.from(params['request']))
|
61
|
-
})
|
62
|
-
@channel.on('requestFailed', ->(params) {
|
63
|
-
on_request_failed(
|
64
|
-
ChannelOwners::Request.from(params['request']),
|
65
|
-
params['responseEndTiming'],
|
66
|
-
params['failureText'],
|
67
|
-
)
|
68
|
-
})
|
69
|
-
@channel.on('requestFinished', ->(params) {
|
70
|
-
on_request_finished(
|
71
|
-
ChannelOwners::Request.from(params['request']),
|
72
|
-
params['responseEndTiming'],
|
73
|
-
)
|
74
|
-
})
|
75
|
-
@channel.on('response', ->(params) {
|
76
|
-
emit(Events::Page::Response, ChannelOwners::Response.from(params['response']))
|
77
|
-
})
|
78
59
|
@channel.on('route', ->(params) {
|
79
60
|
on_route(ChannelOwners::Route.from(params['route']), ChannelOwners::Request.from(params['request']))
|
80
61
|
})
|
@@ -95,17 +76,6 @@ module Playwright
|
|
95
76
|
:viewport_size,
|
96
77
|
:main_frame
|
97
78
|
|
98
|
-
private def on_request_failed(request, response_end_timing, failure_text)
|
99
|
-
request.send(:update_failure_text, failure_text)
|
100
|
-
request.send(:update_response_end_timing, response_end_timing)
|
101
|
-
emit(Events::Page::RequestFailed, request)
|
102
|
-
end
|
103
|
-
|
104
|
-
private def on_request_finished(request, response_end_timing)
|
105
|
-
request.send(:update_response_end_timing, response_end_timing)
|
106
|
-
emit(Events::Page::RequestFinished, request)
|
107
|
-
end
|
108
|
-
|
109
79
|
private def on_frame_attached(frame)
|
110
80
|
frame.send(:update_page_from_page, self)
|
111
81
|
@frames << frame
|
@@ -145,6 +115,7 @@ module Playwright
|
|
145
115
|
|
146
116
|
private def on_download(params)
|
147
117
|
download = Download.new(
|
118
|
+
page: self,
|
148
119
|
url: params['url'],
|
149
120
|
suggested_filename: params['suggestedFilename'],
|
150
121
|
artifact: ChannelOwners::Artifact.from(params['artifact']),
|
@@ -464,7 +435,8 @@ module Playwright
|
|
464
435
|
modifiers: nil,
|
465
436
|
noWaitAfter: nil,
|
466
437
|
position: nil,
|
467
|
-
timeout: nil
|
438
|
+
timeout: nil,
|
439
|
+
trial: nil)
|
468
440
|
|
469
441
|
@main_frame.click(
|
470
442
|
selector,
|
@@ -476,6 +448,7 @@ module Playwright
|
|
476
448
|
noWaitAfter: noWaitAfter,
|
477
449
|
position: position,
|
478
450
|
timeout: timeout,
|
451
|
+
trial: trial,
|
479
452
|
)
|
480
453
|
end
|
481
454
|
|
@@ -487,7 +460,8 @@ module Playwright
|
|
487
460
|
modifiers: nil,
|
488
461
|
noWaitAfter: nil,
|
489
462
|
position: nil,
|
490
|
-
timeout: nil
|
463
|
+
timeout: nil,
|
464
|
+
trial: nil)
|
491
465
|
@main_frame.dblclick(
|
492
466
|
selector,
|
493
467
|
button: button,
|
@@ -497,6 +471,7 @@ module Playwright
|
|
497
471
|
noWaitAfter: noWaitAfter,
|
498
472
|
position: position,
|
499
473
|
timeout: timeout,
|
474
|
+
trial: trial,
|
500
475
|
)
|
501
476
|
end
|
502
477
|
|
@@ -506,7 +481,8 @@ module Playwright
|
|
506
481
|
modifiers: nil,
|
507
482
|
noWaitAfter: nil,
|
508
483
|
position: nil,
|
509
|
-
timeout: nil
|
484
|
+
timeout: nil,
|
485
|
+
trial: nil)
|
510
486
|
@main_frame.tap_point(
|
511
487
|
selector,
|
512
488
|
force: force,
|
@@ -514,6 +490,7 @@ module Playwright
|
|
514
490
|
noWaitAfter: noWaitAfter,
|
515
491
|
position: position,
|
516
492
|
timeout: timeout,
|
493
|
+
trial: trial,
|
517
494
|
)
|
518
495
|
end
|
519
496
|
|
@@ -546,13 +523,15 @@ module Playwright
|
|
546
523
|
force: nil,
|
547
524
|
modifiers: nil,
|
548
525
|
position: nil,
|
549
|
-
timeout: nil
|
526
|
+
timeout: nil,
|
527
|
+
trial: nil)
|
550
528
|
@main_frame.hover(
|
551
529
|
selector,
|
552
530
|
force: force,
|
553
531
|
modifiers: modifiers,
|
554
532
|
position: position,
|
555
533
|
timeout: timeout,
|
534
|
+
trial: trial,
|
556
535
|
)
|
557
536
|
end
|
558
537
|
|
@@ -604,9 +583,10 @@ module Playwright
|
|
604
583
|
force: nil,
|
605
584
|
noWaitAfter: nil,
|
606
585
|
position: nil,
|
607
|
-
timeout: nil
|
586
|
+
timeout: nil,
|
587
|
+
trial: nil)
|
608
588
|
|
609
|
-
@main_frame.check(selector, force: force, noWaitAfter: noWaitAfter, position: position, timeout: timeout)
|
589
|
+
@main_frame.check(selector, force: force, noWaitAfter: noWaitAfter, position: position, timeout: timeout, trial: trial)
|
610
590
|
end
|
611
591
|
|
612
592
|
def uncheck(
|
@@ -614,9 +594,10 @@ module Playwright
|
|
614
594
|
force: nil,
|
615
595
|
noWaitAfter: nil,
|
616
596
|
position: nil,
|
617
|
-
timeout: nil
|
597
|
+
timeout: nil,
|
598
|
+
trial: nil)
|
618
599
|
|
619
|
-
@main_frame.uncheck(selector, force: force, noWaitAfter: noWaitAfter, position: position, timeout: timeout)
|
600
|
+
@main_frame.uncheck(selector, force: force, noWaitAfter: noWaitAfter, position: position, timeout: timeout, trial: trial)
|
620
601
|
end
|
621
602
|
|
622
603
|
def wait_for_function(pageFunction, arg: nil, polling: nil, timeout: nil)
|
@@ -783,12 +764,6 @@ module Playwright
|
|
783
764
|
expect_event(Events::Page::Response, predicate: predicate, timeout: timeout)
|
784
765
|
end
|
785
766
|
|
786
|
-
# called from BrowserContext#on_page with send(:update_browser_context, page), so keep private.
|
787
|
-
private def update_browser_context(context)
|
788
|
-
@browser_context = context
|
789
|
-
@timeout_settings = TimeoutSettings.new(context.send(:_timeout_settings))
|
790
|
-
end
|
791
|
-
|
792
767
|
# called from Frame with send(:timeout_settings)
|
793
768
|
private def timeout_settings
|
794
769
|
@timeout_settings
|
@@ -798,5 +773,11 @@ module Playwright
|
|
798
773
|
private def has_bindings?(name)
|
799
774
|
@bindings.key?(name)
|
800
775
|
end
|
776
|
+
|
777
|
+
# Expose guid for library developers.
|
778
|
+
# Not intended to be used by users.
|
779
|
+
def guid
|
780
|
+
@guid
|
781
|
+
end
|
801
782
|
end
|
802
783
|
end
|