playwright-ruby-client 0.2.1 → 0.3.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/docs/api_coverage.md +102 -49
- data/lib/playwright.rb +1 -0
- data/lib/playwright/channel.rb +10 -10
- data/lib/playwright/channel_owners/binding_call.rb +3 -0
- data/lib/playwright/channel_owners/browser_context.rb +149 -3
- data/lib/playwright/channel_owners/dialog.rb +28 -0
- data/lib/playwright/channel_owners/page.rb +47 -10
- data/lib/playwright/channel_owners/playwright.rb +4 -0
- data/lib/playwright/channel_owners/request.rb +26 -2
- data/lib/playwright/channel_owners/response.rb +60 -0
- data/lib/playwright/channel_owners/route.rb +78 -0
- data/lib/playwright/channel_owners/selectors.rb +19 -1
- data/lib/playwright/route_handler_entry.rb +36 -0
- data/lib/playwright/utils.rb +1 -0
- data/lib/playwright/version.rb +1 -1
- data/lib/playwright_api/android.rb +80 -8
- data/lib/playwright_api/android_device.rb +145 -28
- data/lib/playwright_api/android_input.rb +17 -13
- data/lib/playwright_api/android_socket.rb +16 -0
- data/lib/playwright_api/android_web_view.rb +21 -0
- data/lib/playwright_api/binding_call.rb +11 -6
- data/lib/playwright_api/browser.rb +6 -6
- data/lib/playwright_api/browser_context.rb +33 -28
- data/lib/playwright_api/browser_type.rb +14 -14
- data/lib/playwright_api/chromium_browser_context.rb +6 -6
- data/lib/playwright_api/console_message.rb +6 -6
- data/lib/playwright_api/dialog.rb +32 -5
- data/lib/playwright_api/download.rb +6 -6
- data/lib/playwright_api/element_handle.rb +6 -6
- data/lib/playwright_api/file_chooser.rb +1 -1
- data/lib/playwright_api/frame.rb +13 -11
- data/lib/playwright_api/js_handle.rb +6 -6
- data/lib/playwright_api/page.rb +48 -46
- data/lib/playwright_api/playwright.rb +7 -7
- data/lib/playwright_api/request.rb +8 -8
- data/lib/playwright_api/response.rb +27 -17
- data/lib/playwright_api/route.rb +27 -5
- data/lib/playwright_api/selectors.rb +7 -7
- metadata +7 -2
@@ -1,55 +1,178 @@
|
|
1
1
|
module Playwright
|
2
|
-
#
|
2
|
+
# `AndroidDevice` represents a connected device, either real hardware or emulated. Devices can be obtained using
|
3
|
+
# [`method: Android.devices`].
|
3
4
|
class AndroidDevice < PlaywrightApi
|
4
5
|
|
5
|
-
#
|
6
|
-
|
7
|
-
wrap_impl(@impl.tree)
|
6
|
+
def input # property
|
7
|
+
wrap_impl(@impl.input)
|
8
8
|
end
|
9
9
|
|
10
|
-
#
|
10
|
+
# Disconnects from the device.
|
11
11
|
def close
|
12
12
|
wrap_impl(@impl.close)
|
13
13
|
end
|
14
14
|
|
15
|
-
#
|
16
|
-
def
|
17
|
-
|
15
|
+
# Drags the widget defined by `selector` towards `dest` point.
|
16
|
+
def drag(selector, dest, speed: nil)
|
17
|
+
raise NotImplementedError.new('drag is not implemented yet.')
|
18
18
|
end
|
19
19
|
|
20
|
-
#
|
20
|
+
# Fills the specific `selector` input box with `text`.
|
21
|
+
def fill(selector, text)
|
22
|
+
raise NotImplementedError.new('fill is not implemented yet.')
|
23
|
+
end
|
24
|
+
|
25
|
+
# Flings the widget defined by `selector` in the specified `direction`.
|
26
|
+
def fling(selector, direction, speed: nil)
|
27
|
+
raise NotImplementedError.new('fling is not implemented yet.')
|
28
|
+
end
|
29
|
+
|
30
|
+
# Returns information about a widget defined by `selector`.
|
31
|
+
def info(selector)
|
32
|
+
wrap_impl(@impl.info(unwrap_impl(selector)))
|
33
|
+
end
|
34
|
+
|
35
|
+
# Installs an apk on the device.
|
36
|
+
def install_apk(file, args: nil)
|
37
|
+
raise NotImplementedError.new('install_apk is not implemented yet.')
|
38
|
+
end
|
39
|
+
|
40
|
+
# Launches Chrome browser on the device, and returns its persistent context.
|
41
|
+
def launch_browser(
|
42
|
+
acceptDownloads: nil,
|
43
|
+
bypassCSP: nil,
|
44
|
+
colorScheme: nil,
|
45
|
+
command: nil,
|
46
|
+
deviceScaleFactor: nil,
|
47
|
+
extraHTTPHeaders: nil,
|
48
|
+
geolocation: nil,
|
49
|
+
hasTouch: nil,
|
50
|
+
httpCredentials: nil,
|
51
|
+
ignoreHTTPSErrors: nil,
|
52
|
+
isMobile: nil,
|
53
|
+
javaScriptEnabled: nil,
|
54
|
+
locale: nil,
|
55
|
+
noViewport: nil,
|
56
|
+
offline: nil,
|
57
|
+
permissions: nil,
|
58
|
+
record_har_omit_content: nil,
|
59
|
+
record_har_path: nil,
|
60
|
+
record_video_dir: nil,
|
61
|
+
record_video_size: nil,
|
62
|
+
timezoneId: nil,
|
63
|
+
userAgent: nil,
|
64
|
+
viewport: nil,
|
65
|
+
&block)
|
66
|
+
wrap_impl(@impl.launch_browser(acceptDownloads: unwrap_impl(acceptDownloads), bypassCSP: unwrap_impl(bypassCSP), colorScheme: unwrap_impl(colorScheme), command: unwrap_impl(command), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), 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), record_har_omit_content: unwrap_impl(record_har_omit_content), record_har_path: unwrap_impl(record_har_path), record_video_dir: unwrap_impl(record_video_dir), record_video_size: unwrap_impl(record_video_size), timezoneId: unwrap_impl(timezoneId), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
|
67
|
+
end
|
68
|
+
|
69
|
+
# Performs a long tap on the widget defined by `selector`.
|
70
|
+
def long_tap(selector)
|
71
|
+
raise NotImplementedError.new('long_tap is not implemented yet.')
|
72
|
+
end
|
73
|
+
|
74
|
+
# Device model.
|
75
|
+
def model
|
76
|
+
wrap_impl(@impl.model)
|
77
|
+
end
|
78
|
+
|
79
|
+
# Launches a process in the shell on the device and returns a socket to communicate with the launched process.
|
80
|
+
def open(command)
|
81
|
+
raise NotImplementedError.new('open is not implemented yet.')
|
82
|
+
end
|
83
|
+
|
84
|
+
# Pinches the widget defined by `selector` in the closing direction.
|
85
|
+
def pinch_close(selector, percent, speed: nil)
|
86
|
+
raise NotImplementedError.new('pinch_close is not implemented yet.')
|
87
|
+
end
|
88
|
+
|
89
|
+
# Pinches the widget defined by `selector` in the open direction.
|
90
|
+
def pinch_open(selector, percent, speed: nil)
|
91
|
+
raise NotImplementedError.new('pinch_open is not implemented yet.')
|
92
|
+
end
|
93
|
+
|
94
|
+
# Presses the specific `key` in the widget defined by `selector`.
|
95
|
+
def press(selector, key)
|
96
|
+
raise NotImplementedError.new('press is not implemented yet.')
|
97
|
+
end
|
98
|
+
|
99
|
+
# Copies a file to the device.
|
100
|
+
def push(file, path, mode: nil)
|
101
|
+
raise NotImplementedError.new('push is not implemented yet.')
|
102
|
+
end
|
103
|
+
|
104
|
+
# Returns the buffer with the captured screenshot of the device.
|
21
105
|
def screenshot(path: nil)
|
22
106
|
wrap_impl(@impl.screenshot(path: unwrap_impl(path)))
|
23
107
|
end
|
24
108
|
|
25
|
-
#
|
109
|
+
# Scrolls the widget defined by `selector` in the specified `direction`.
|
110
|
+
def scroll(selector, direction, percent, speed: nil)
|
111
|
+
raise NotImplementedError.new('scroll is not implemented yet.')
|
112
|
+
end
|
113
|
+
|
114
|
+
# Device serial number.
|
115
|
+
def serial
|
116
|
+
wrap_impl(@impl.serial)
|
117
|
+
end
|
118
|
+
|
119
|
+
# This setting will change the default maximum time for all the methods accepting `timeout` option.
|
120
|
+
def set_default_timeout(timeout)
|
121
|
+
raise NotImplementedError.new('set_default_timeout is not implemented yet.')
|
122
|
+
end
|
123
|
+
alias_method :default_timeout=, :set_default_timeout
|
124
|
+
|
125
|
+
# Executes a shell command on the device and returns its output.
|
26
126
|
def shell(command)
|
27
127
|
wrap_impl(@impl.shell(unwrap_impl(command)))
|
28
128
|
end
|
29
129
|
|
30
|
-
#
|
31
|
-
def
|
32
|
-
|
130
|
+
# Swipes the widget defined by `selector` in the specified `direction`.
|
131
|
+
def swipe(selector, direction, percent, speed: nil)
|
132
|
+
raise NotImplementedError.new('swipe is not implemented yet.')
|
33
133
|
end
|
34
134
|
|
35
|
-
#
|
36
|
-
def
|
37
|
-
|
135
|
+
# Taps on the widget defined by `selector`.
|
136
|
+
def tap_point(selector, duration: nil)
|
137
|
+
raise NotImplementedError.new('tap_point is not implemented yet.')
|
138
|
+
end
|
139
|
+
|
140
|
+
# Waits for the specific `selector` to either appear or disappear, depending on the `state`.
|
141
|
+
def wait(selector, state: nil)
|
142
|
+
raise NotImplementedError.new('wait is not implemented yet.')
|
143
|
+
end
|
144
|
+
|
145
|
+
# Waits for event to fire and passes its value into the predicate function. Returns when the predicate returns truthy
|
146
|
+
# value.
|
147
|
+
def wait_for_event(event, optionsOrPredicate: nil)
|
148
|
+
raise NotImplementedError.new('wait_for_event is not implemented yet.')
|
149
|
+
end
|
150
|
+
|
151
|
+
# This method waits until `AndroidWebView` matching the `selector` is opened and returns it. If there is already an open
|
152
|
+
# `AndroidWebView` matching the `selector`, returns immediately.
|
153
|
+
def web_view(selector)
|
154
|
+
raise NotImplementedError.new('web_view is not implemented yet.')
|
155
|
+
end
|
156
|
+
|
157
|
+
# Currently open WebViews.
|
158
|
+
def web_views
|
159
|
+
raise NotImplementedError.new('web_views is not implemented yet.')
|
38
160
|
end
|
39
161
|
|
40
162
|
# @nodoc
|
41
|
-
def
|
42
|
-
wrap_impl(@impl.
|
163
|
+
def tree
|
164
|
+
wrap_impl(@impl.tree)
|
43
165
|
end
|
44
166
|
|
45
167
|
# @nodoc
|
46
|
-
def
|
47
|
-
wrap_impl(@impl.
|
168
|
+
def tap_on(selector, duration: nil, timeout: nil)
|
169
|
+
wrap_impl(@impl.tap_on(unwrap_impl(selector), duration: unwrap_impl(duration), timeout: unwrap_impl(timeout)))
|
48
170
|
end
|
49
171
|
|
172
|
+
# -- inherited from EventEmitter --
|
50
173
|
# @nodoc
|
51
|
-
def
|
52
|
-
|
174
|
+
def off(event, callback)
|
175
|
+
event_emitter_proxy.off(event, callback)
|
53
176
|
end
|
54
177
|
|
55
178
|
# -- inherited from EventEmitter --
|
@@ -64,12 +187,6 @@ module Playwright
|
|
64
187
|
event_emitter_proxy.on(event, callback)
|
65
188
|
end
|
66
189
|
|
67
|
-
# -- inherited from EventEmitter --
|
68
|
-
# @nodoc
|
69
|
-
def off(event, callback)
|
70
|
-
event_emitter_proxy.off(event, callback)
|
71
|
-
end
|
72
|
-
|
73
190
|
private def event_emitter_proxy
|
74
191
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
75
192
|
end
|
@@ -1,25 +1,29 @@
|
|
1
1
|
module Playwright
|
2
|
-
# @nodoc
|
3
2
|
class AndroidInput < PlaywrightApi
|
4
3
|
|
5
|
-
#
|
6
|
-
def type(text)
|
7
|
-
wrap_impl(@impl.type(unwrap_impl(text)))
|
8
|
-
end
|
9
|
-
|
10
|
-
# @nodoc
|
11
|
-
def tap_point(point)
|
12
|
-
wrap_impl(@impl.tap_point(unwrap_impl(point)))
|
13
|
-
end
|
14
|
-
|
15
|
-
# @nodoc
|
4
|
+
# Performs a drag between `from` and `to` points.
|
16
5
|
def drag(from, to, steps)
|
17
6
|
wrap_impl(@impl.drag(unwrap_impl(from), unwrap_impl(to), unwrap_impl(steps)))
|
18
7
|
end
|
19
8
|
|
20
|
-
#
|
9
|
+
# Presses the `key`.
|
21
10
|
def press(key)
|
22
11
|
wrap_impl(@impl.press(unwrap_impl(key)))
|
23
12
|
end
|
13
|
+
|
14
|
+
# Swipes following the path defined by `segments`.
|
15
|
+
def swipe(from, segments, steps)
|
16
|
+
raise NotImplementedError.new('swipe is not implemented yet.')
|
17
|
+
end
|
18
|
+
|
19
|
+
# Taps at the specified `point`.
|
20
|
+
def tap_point(point)
|
21
|
+
wrap_impl(@impl.tap_point(unwrap_impl(point)))
|
22
|
+
end
|
23
|
+
|
24
|
+
# Types `text` into currently focused widget.
|
25
|
+
def type(text)
|
26
|
+
wrap_impl(@impl.type(unwrap_impl(text)))
|
27
|
+
end
|
24
28
|
end
|
25
29
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Playwright
|
2
|
+
# `AndroidSocket` is a way to communicate with a process launched on the `AndroidDevice`. Use
|
3
|
+
# [`method: AndroidDevice.open`] to open a socket.
|
4
|
+
class AndroidSocket < PlaywrightApi
|
5
|
+
|
6
|
+
# Closes the socket.
|
7
|
+
def close
|
8
|
+
raise NotImplementedError.new('close is not implemented yet.')
|
9
|
+
end
|
10
|
+
|
11
|
+
# Writes some `data` to the socket.
|
12
|
+
def write(data)
|
13
|
+
raise NotImplementedError.new('write is not implemented yet.')
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Playwright
|
2
|
+
# `AndroidWebView` represents a WebView open on the `AndroidDevice`. WebView is usually obtained using
|
3
|
+
# [`method: AndroidDevice.webView`].
|
4
|
+
class AndroidWebView < PlaywrightApi
|
5
|
+
|
6
|
+
# Connects to the WebView and returns a regular Playwright `Page` to interact with.
|
7
|
+
def page
|
8
|
+
raise NotImplementedError.new('page is not implemented yet.')
|
9
|
+
end
|
10
|
+
|
11
|
+
# WebView process PID.
|
12
|
+
def pid
|
13
|
+
raise NotImplementedError.new('pid is not implemented yet.')
|
14
|
+
end
|
15
|
+
|
16
|
+
# WebView package identifier.
|
17
|
+
def pkg
|
18
|
+
raise NotImplementedError.new('pkg is not implemented yet.')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -2,22 +2,27 @@ module Playwright
|
|
2
2
|
# @nodoc
|
3
3
|
class BindingCall < PlaywrightApi
|
4
4
|
|
5
|
+
# @nodoc
|
6
|
+
def name
|
7
|
+
wrap_impl(@impl.name)
|
8
|
+
end
|
9
|
+
|
5
10
|
# -- inherited from EventEmitter --
|
6
11
|
# @nodoc
|
7
|
-
def
|
8
|
-
event_emitter_proxy.
|
12
|
+
def off(event, callback)
|
13
|
+
event_emitter_proxy.off(event, callback)
|
9
14
|
end
|
10
15
|
|
11
16
|
# -- inherited from EventEmitter --
|
12
17
|
# @nodoc
|
13
|
-
def
|
14
|
-
event_emitter_proxy.
|
18
|
+
def once(event, callback)
|
19
|
+
event_emitter_proxy.once(event, callback)
|
15
20
|
end
|
16
21
|
|
17
22
|
# -- inherited from EventEmitter --
|
18
23
|
# @nodoc
|
19
|
-
def
|
20
|
-
event_emitter_proxy.
|
24
|
+
def on(event, callback)
|
25
|
+
event_emitter_proxy.on(event, callback)
|
21
26
|
end
|
22
27
|
|
23
28
|
private def event_emitter_proxy
|
@@ -191,20 +191,20 @@ module Playwright
|
|
191
191
|
|
192
192
|
# -- inherited from EventEmitter --
|
193
193
|
# @nodoc
|
194
|
-
def
|
195
|
-
event_emitter_proxy.
|
194
|
+
def off(event, callback)
|
195
|
+
event_emitter_proxy.off(event, callback)
|
196
196
|
end
|
197
197
|
|
198
198
|
# -- inherited from EventEmitter --
|
199
199
|
# @nodoc
|
200
|
-
def
|
201
|
-
event_emitter_proxy.
|
200
|
+
def once(event, callback)
|
201
|
+
event_emitter_proxy.once(event, callback)
|
202
202
|
end
|
203
203
|
|
204
204
|
# -- inherited from EventEmitter --
|
205
205
|
# @nodoc
|
206
|
-
def
|
207
|
-
event_emitter_proxy.
|
206
|
+
def on(event, callback)
|
207
|
+
event_emitter_proxy.on(event, callback)
|
208
208
|
end
|
209
209
|
|
210
210
|
private def event_emitter_proxy
|
@@ -57,7 +57,7 @@ module Playwright
|
|
57
57
|
# browser_context.add_cookies([cookie_object1, cookie_object2])
|
58
58
|
# ```
|
59
59
|
def add_cookies(cookies)
|
60
|
-
|
60
|
+
wrap_impl(@impl.add_cookies(unwrap_impl(cookies)))
|
61
61
|
end
|
62
62
|
|
63
63
|
# Adds a script which would be evaluated in one of the following scenarios:
|
@@ -97,17 +97,17 @@ module Playwright
|
|
97
97
|
# > NOTE: The order of evaluation of multiple scripts installed via [`method: BrowserContext.addInitScript`] and
|
98
98
|
# [`method: Page.addInitScript`] is not defined.
|
99
99
|
def add_init_script(path: nil, script: nil)
|
100
|
-
|
100
|
+
wrap_impl(@impl.add_init_script(path: unwrap_impl(path), script: unwrap_impl(script)))
|
101
101
|
end
|
102
102
|
|
103
103
|
# Returns the browser instance of the context. If it was launched as a persistent context null gets returned.
|
104
104
|
def browser
|
105
|
-
|
105
|
+
wrap_impl(@impl.browser)
|
106
106
|
end
|
107
107
|
|
108
108
|
# Clears context cookies.
|
109
109
|
def clear_cookies
|
110
|
-
|
110
|
+
wrap_impl(@impl.clear_cookies)
|
111
111
|
end
|
112
112
|
|
113
113
|
# Clears all permission overrides for the browser context.
|
@@ -134,7 +134,7 @@ module Playwright
|
|
134
134
|
# context.clear_permissions()
|
135
135
|
# ```
|
136
136
|
def clear_permissions
|
137
|
-
|
137
|
+
wrap_impl(@impl.clear_permissions)
|
138
138
|
end
|
139
139
|
|
140
140
|
# Closes the browser context. All the pages that belong to the browser context will be closed.
|
@@ -147,7 +147,7 @@ module Playwright
|
|
147
147
|
# If no URLs are specified, this method returns all cookies. If URLs are specified, only cookies that affect those URLs
|
148
148
|
# are returned.
|
149
149
|
def cookies(urls: nil)
|
150
|
-
|
150
|
+
wrap_impl(@impl.cookies(urls: unwrap_impl(urls)))
|
151
151
|
end
|
152
152
|
|
153
153
|
# The method adds a function called `name` on the `window` object of every frame in every page in the context. When
|
@@ -278,7 +278,7 @@ module Playwright
|
|
278
278
|
# """)
|
279
279
|
# ```
|
280
280
|
def expose_binding(name, callback, handle: nil)
|
281
|
-
|
281
|
+
wrap_impl(@impl.expose_binding(unwrap_impl(name), unwrap_impl(callback), handle: unwrap_impl(handle)))
|
282
282
|
end
|
283
283
|
|
284
284
|
# The method adds a function called `name` on the `window` object of every frame in every page in the context. When
|
@@ -379,13 +379,13 @@ module Playwright
|
|
379
379
|
# run(playwright)
|
380
380
|
# ```
|
381
381
|
def expose_function(name, callback)
|
382
|
-
|
382
|
+
wrap_impl(@impl.expose_function(unwrap_impl(name), unwrap_impl(callback)))
|
383
383
|
end
|
384
384
|
|
385
385
|
# Grants specified permissions to the browser context. Only grants corresponding permissions to the given origin if
|
386
386
|
# specified.
|
387
387
|
def grant_permissions(permissions, origin: nil)
|
388
|
-
|
388
|
+
wrap_impl(@impl.grant_permissions(unwrap_impl(permissions), origin: unwrap_impl(origin)))
|
389
389
|
end
|
390
390
|
|
391
391
|
# Creates a new page in the browser context.
|
@@ -464,7 +464,7 @@ module Playwright
|
|
464
464
|
#
|
465
465
|
# > NOTE: Enabling routing disables http cache.
|
466
466
|
def route(url, handler)
|
467
|
-
|
467
|
+
wrap_impl(@impl.route(unwrap_impl(url), unwrap_impl(handler)))
|
468
468
|
end
|
469
469
|
|
470
470
|
# This setting will change the default maximum navigation time for the following methods and related shortcuts:
|
@@ -478,7 +478,7 @@ module Playwright
|
|
478
478
|
# > NOTE: [`method: Page.setDefaultNavigationTimeout`] and [`method: Page.setDefaultTimeout`] take priority over
|
479
479
|
# [`method: BrowserContext.setDefaultNavigationTimeout`].
|
480
480
|
def set_default_navigation_timeout(timeout)
|
481
|
-
|
481
|
+
wrap_impl(@impl.set_default_navigation_timeout(unwrap_impl(timeout)))
|
482
482
|
end
|
483
483
|
alias_method :default_navigation_timeout=, :set_default_navigation_timeout
|
484
484
|
|
@@ -487,7 +487,7 @@ module Playwright
|
|
487
487
|
# > NOTE: [`method: Page.setDefaultNavigationTimeout`], [`method: Page.setDefaultTimeout`] and
|
488
488
|
# [`method: BrowserContext.setDefaultNavigationTimeout`] take priority over [`method: BrowserContext.setDefaultTimeout`].
|
489
489
|
def set_default_timeout(timeout)
|
490
|
-
|
490
|
+
wrap_impl(@impl.set_default_timeout(unwrap_impl(timeout)))
|
491
491
|
end
|
492
492
|
alias_method :default_timeout=, :set_default_timeout
|
493
493
|
|
@@ -497,7 +497,7 @@ module Playwright
|
|
497
497
|
#
|
498
498
|
# > NOTE: [`method: BrowserContext.setExtraHTTPHeaders`] does not guarantee the order of headers in the outgoing requests.
|
499
499
|
def set_extra_http_headers(headers)
|
500
|
-
|
500
|
+
wrap_impl(@impl.set_extra_http_headers(unwrap_impl(headers)))
|
501
501
|
end
|
502
502
|
alias_method :extra_http_headers=, :set_extra_http_headers
|
503
503
|
|
@@ -519,12 +519,12 @@ module Playwright
|
|
519
519
|
# > NOTE: Consider using [`method: BrowserContext.grantPermissions`] to grant permissions for the browser context pages to
|
520
520
|
# read its geolocation.
|
521
521
|
def set_geolocation(geolocation)
|
522
|
-
|
522
|
+
wrap_impl(@impl.set_geolocation(unwrap_impl(geolocation)))
|
523
523
|
end
|
524
524
|
alias_method :geolocation=, :set_geolocation
|
525
525
|
|
526
526
|
def set_offline(offline)
|
527
|
-
|
527
|
+
wrap_impl(@impl.set_offline(unwrap_impl(offline)))
|
528
528
|
end
|
529
529
|
alias_method :offline=, :set_offline
|
530
530
|
|
@@ -536,7 +536,7 @@ module Playwright
|
|
536
536
|
# Removes a route created with [`method: BrowserContext.route`]. When `handler` is not specified, removes all routes for
|
537
537
|
# the `url`.
|
538
538
|
def unroute(url, handler: nil)
|
539
|
-
|
539
|
+
wrap_impl(@impl.unroute(unwrap_impl(url), handler: unwrap_impl(handler)))
|
540
540
|
end
|
541
541
|
|
542
542
|
# Waits for event to fire and passes its value into the predicate function. Returns when the predicate returns truthy
|
@@ -561,15 +561,15 @@ module Playwright
|
|
561
561
|
# page.click("button")
|
562
562
|
# page = event_info.value
|
563
563
|
# ```
|
564
|
-
def expect_event(event, predicate: nil, timeout: nil)
|
565
|
-
|
564
|
+
def expect_event(event, predicate: nil, timeout: nil, &block)
|
565
|
+
wrap_impl(@impl.expect_event(unwrap_impl(event), predicate: unwrap_impl(predicate), timeout: unwrap_impl(timeout), &wrap_block_call(block)))
|
566
566
|
end
|
567
567
|
|
568
|
-
# Performs action and waits for `
|
569
|
-
# `predicate` function and waits for `predicate(event)` to return a truthy value. Will throw an error if
|
570
|
-
#
|
568
|
+
# Performs action and waits for a new `Page` to be created in the context. If predicate is provided, it passes `Page`
|
569
|
+
# value into the `predicate` function and waits for `predicate(event)` to return a truthy value. Will throw an error if
|
570
|
+
# the context closes before new `Page` is created.
|
571
571
|
def expect_page(predicate: nil, timeout: nil)
|
572
|
-
|
572
|
+
wrap_impl(@impl.expect_page(predicate: unwrap_impl(predicate), timeout: unwrap_impl(timeout)))
|
573
573
|
end
|
574
574
|
|
575
575
|
# > NOTE: In most cases, you should use [`method: BrowserContext.waitForEvent`].
|
@@ -596,22 +596,27 @@ module Playwright
|
|
596
596
|
wrap_impl(@impl.options=(unwrap_impl(req)))
|
597
597
|
end
|
598
598
|
|
599
|
+
# @nodoc
|
600
|
+
def pause
|
601
|
+
wrap_impl(@impl.pause)
|
602
|
+
end
|
603
|
+
|
599
604
|
# -- inherited from EventEmitter --
|
600
605
|
# @nodoc
|
601
|
-
def
|
602
|
-
event_emitter_proxy.
|
606
|
+
def off(event, callback)
|
607
|
+
event_emitter_proxy.off(event, callback)
|
603
608
|
end
|
604
609
|
|
605
610
|
# -- inherited from EventEmitter --
|
606
611
|
# @nodoc
|
607
|
-
def
|
608
|
-
event_emitter_proxy.
|
612
|
+
def once(event, callback)
|
613
|
+
event_emitter_proxy.once(event, callback)
|
609
614
|
end
|
610
615
|
|
611
616
|
# -- inherited from EventEmitter --
|
612
617
|
# @nodoc
|
613
|
-
def
|
614
|
-
event_emitter_proxy.
|
618
|
+
def on(event, callback)
|
619
|
+
event_emitter_proxy.on(event, callback)
|
615
620
|
end
|
616
621
|
|
617
622
|
private def event_emitter_proxy
|