playwright-ruby-client 0.6.4 → 0.8.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 +26 -0
- data/documentation/docs/api/browser.md +10 -0
- data/documentation/docs/api/browser_context.md +10 -0
- data/documentation/docs/api/browser_type.md +53 -0
- data/documentation/docs/api/cdp_session.md +41 -1
- data/documentation/docs/api/element_handle.md +11 -2
- data/documentation/docs/api/frame.md +15 -1
- data/documentation/docs/api/page.md +33 -1
- data/documentation/docs/api/response.md +16 -0
- data/documentation/docs/api/route.md +20 -21
- data/documentation/docs/api/web_socket.md +38 -1
- data/documentation/docs/article/guides/launch_browser.md +2 -0
- data/documentation/docs/article/guides/rails_integration.md +2 -2
- data/documentation/docs/article/guides/semi_automation.md +67 -0
- data/documentation/docs/include/api_coverage.md +19 -13
- data/lib/playwright.rb +36 -3
- data/lib/playwright/channel_owners/browser.rb +5 -0
- data/lib/playwright/channel_owners/browser_context.rb +5 -0
- data/lib/playwright/channel_owners/browser_type.rb +18 -0
- data/lib/playwright/channel_owners/cdp_session.rb +19 -0
- data/lib/playwright/channel_owners/element_handle.rb +11 -4
- data/lib/playwright/channel_owners/frame.rb +14 -2
- data/lib/playwright/channel_owners/page.rb +21 -2
- data/lib/playwright/channel_owners/response.rb +9 -1
- data/lib/playwright/channel_owners/web_socket.rb +87 -0
- data/lib/playwright/connection.rb +2 -4
- data/lib/playwright/transport.rb +0 -1
- data/lib/playwright/version.rb +2 -2
- data/lib/playwright/web_socket_client.rb +164 -0
- data/lib/playwright/web_socket_transport.rb +104 -0
- data/lib/playwright_api/android.rb +6 -6
- data/lib/playwright_api/android_device.rb +8 -8
- data/lib/playwright_api/browser.rb +7 -7
- data/lib/playwright_api/browser_context.rb +7 -7
- data/lib/playwright_api/browser_type.rb +9 -8
- data/lib/playwright_api/cdp_session.rb +30 -8
- data/lib/playwright_api/console_message.rb +6 -6
- data/lib/playwright_api/dialog.rb +6 -6
- data/lib/playwright_api/element_handle.rb +17 -11
- data/lib/playwright_api/frame.rb +20 -9
- data/lib/playwright_api/js_handle.rb +6 -6
- data/lib/playwright_api/page.rb +28 -17
- data/lib/playwright_api/playwright.rb +6 -6
- data/lib/playwright_api/request.rb +6 -6
- data/lib/playwright_api/response.rb +15 -10
- data/lib/playwright_api/route.rb +11 -6
- data/lib/playwright_api/selectors.rb +6 -6
- data/lib/playwright_api/web_socket.rb +28 -6
- data/lib/playwright_api/worker.rb +6 -6
- data/playwright.gemspec +2 -1
- metadata +37 -18
@@ -93,20 +93,20 @@ module Playwright
|
|
93
93
|
|
94
94
|
# -- inherited from EventEmitter --
|
95
95
|
# @nodoc
|
96
|
-
def
|
97
|
-
event_emitter_proxy.
|
96
|
+
def off(event, callback)
|
97
|
+
event_emitter_proxy.off(event, callback)
|
98
98
|
end
|
99
99
|
|
100
100
|
# -- inherited from EventEmitter --
|
101
101
|
# @nodoc
|
102
|
-
def
|
103
|
-
event_emitter_proxy.
|
102
|
+
def once(event, callback)
|
103
|
+
event_emitter_proxy.once(event, callback)
|
104
104
|
end
|
105
105
|
|
106
106
|
# -- inherited from EventEmitter --
|
107
107
|
# @nodoc
|
108
|
-
def
|
109
|
-
event_emitter_proxy.
|
108
|
+
def on(event, callback)
|
109
|
+
event_emitter_proxy.on(event, callback)
|
110
110
|
end
|
111
111
|
|
112
112
|
private def event_emitter_proxy
|
@@ -130,20 +130,20 @@ module Playwright
|
|
130
130
|
|
131
131
|
# -- inherited from EventEmitter --
|
132
132
|
# @nodoc
|
133
|
-
def
|
134
|
-
event_emitter_proxy.
|
133
|
+
def off(event, callback)
|
134
|
+
event_emitter_proxy.off(event, callback)
|
135
135
|
end
|
136
136
|
|
137
137
|
# -- inherited from EventEmitter --
|
138
138
|
# @nodoc
|
139
|
-
def
|
140
|
-
event_emitter_proxy.
|
139
|
+
def once(event, callback)
|
140
|
+
event_emitter_proxy.once(event, callback)
|
141
141
|
end
|
142
142
|
|
143
143
|
# -- inherited from EventEmitter --
|
144
144
|
# @nodoc
|
145
|
-
def
|
146
|
-
event_emitter_proxy.
|
145
|
+
def on(event, callback)
|
146
|
+
event_emitter_proxy.on(event, callback)
|
147
147
|
end
|
148
148
|
|
149
149
|
private def event_emitter_proxy
|
@@ -39,6 +39,16 @@ module Playwright
|
|
39
39
|
wrap_impl(@impl.request)
|
40
40
|
end
|
41
41
|
|
42
|
+
# Returns SSL and other security information.
|
43
|
+
def security_details
|
44
|
+
wrap_impl(@impl.security_details)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Returns the IP address and port of the server.
|
48
|
+
def server_addr
|
49
|
+
wrap_impl(@impl.server_addr)
|
50
|
+
end
|
51
|
+
|
42
52
|
# Contains the status code of the response (e.g., 200 for a success).
|
43
53
|
def status
|
44
54
|
wrap_impl(@impl.status)
|
@@ -60,13 +70,14 @@ module Playwright
|
|
60
70
|
end
|
61
71
|
|
62
72
|
# @nodoc
|
63
|
-
def
|
64
|
-
wrap_impl(@impl.
|
73
|
+
def ok?
|
74
|
+
wrap_impl(@impl.ok?)
|
65
75
|
end
|
66
76
|
|
77
|
+
# -- inherited from EventEmitter --
|
67
78
|
# @nodoc
|
68
|
-
def
|
69
|
-
|
79
|
+
def off(event, callback)
|
80
|
+
event_emitter_proxy.off(event, callback)
|
70
81
|
end
|
71
82
|
|
72
83
|
# -- inherited from EventEmitter --
|
@@ -81,12 +92,6 @@ module Playwright
|
|
81
92
|
event_emitter_proxy.on(event, callback)
|
82
93
|
end
|
83
94
|
|
84
|
-
# -- inherited from EventEmitter --
|
85
|
-
# @nodoc
|
86
|
-
def off(event, callback)
|
87
|
-
event_emitter_proxy.off(event, callback)
|
88
|
-
end
|
89
|
-
|
90
95
|
private def event_emitter_proxy
|
91
96
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
92
97
|
end
|
data/lib/playwright_api/route.rb
CHANGED
@@ -51,6 +51,11 @@ module Playwright
|
|
51
51
|
wrap_impl(@impl.fulfill(body: unwrap_impl(body), contentType: unwrap_impl(contentType), headers: unwrap_impl(headers), path: unwrap_impl(path), status: unwrap_impl(status)))
|
52
52
|
end
|
53
53
|
|
54
|
+
# Continues route's request with optional overrides and intercepts response.
|
55
|
+
def intercept(headers: nil, method: nil, postData: nil, url: nil)
|
56
|
+
raise NotImplementedError.new('intercept is not implemented yet.')
|
57
|
+
end
|
58
|
+
|
54
59
|
# A request to be routed.
|
55
60
|
def request
|
56
61
|
wrap_impl(@impl.request)
|
@@ -58,20 +63,20 @@ module Playwright
|
|
58
63
|
|
59
64
|
# -- inherited from EventEmitter --
|
60
65
|
# @nodoc
|
61
|
-
def
|
62
|
-
event_emitter_proxy.
|
66
|
+
def off(event, callback)
|
67
|
+
event_emitter_proxy.off(event, callback)
|
63
68
|
end
|
64
69
|
|
65
70
|
# -- inherited from EventEmitter --
|
66
71
|
# @nodoc
|
67
|
-
def
|
68
|
-
event_emitter_proxy.
|
72
|
+
def once(event, callback)
|
73
|
+
event_emitter_proxy.once(event, callback)
|
69
74
|
end
|
70
75
|
|
71
76
|
# -- inherited from EventEmitter --
|
72
77
|
# @nodoc
|
73
|
-
def
|
74
|
-
event_emitter_proxy.
|
78
|
+
def on(event, callback)
|
79
|
+
event_emitter_proxy.on(event, callback)
|
75
80
|
end
|
76
81
|
|
77
82
|
private def event_emitter_proxy
|
@@ -14,20 +14,20 @@ module Playwright
|
|
14
14
|
|
15
15
|
# -- inherited from EventEmitter --
|
16
16
|
# @nodoc
|
17
|
-
def
|
18
|
-
event_emitter_proxy.
|
17
|
+
def off(event, callback)
|
18
|
+
event_emitter_proxy.off(event, callback)
|
19
19
|
end
|
20
20
|
|
21
21
|
# -- inherited from EventEmitter --
|
22
22
|
# @nodoc
|
23
|
-
def
|
24
|
-
event_emitter_proxy.
|
23
|
+
def once(event, callback)
|
24
|
+
event_emitter_proxy.once(event, callback)
|
25
25
|
end
|
26
26
|
|
27
27
|
# -- inherited from EventEmitter --
|
28
28
|
# @nodoc
|
29
|
-
def
|
30
|
-
event_emitter_proxy.
|
29
|
+
def on(event, callback)
|
30
|
+
event_emitter_proxy.on(event, callback)
|
31
31
|
end
|
32
32
|
|
33
33
|
private def event_emitter_proxy
|
@@ -4,18 +4,18 @@ module Playwright
|
|
4
4
|
|
5
5
|
# Indicates that the web socket has been closed.
|
6
6
|
def closed?
|
7
|
-
|
7
|
+
wrap_impl(@impl.closed?)
|
8
8
|
end
|
9
9
|
|
10
10
|
# Contains the URL of the WebSocket.
|
11
11
|
def url
|
12
|
-
|
12
|
+
wrap_impl(@impl.url)
|
13
13
|
end
|
14
14
|
|
15
15
|
# Waits for event to fire and passes its value into the predicate function. Returns when the predicate returns truthy
|
16
16
|
# value. Will throw an error if the webSocket is closed before the event is fired. Returns the event data value.
|
17
|
-
def expect_event(event, predicate: nil, timeout: nil)
|
18
|
-
|
17
|
+
def expect_event(event, predicate: nil, timeout: nil, &block)
|
18
|
+
wrap_impl(@impl.expect_event(unwrap_impl(event), predicate: unwrap_impl(predicate), timeout: unwrap_impl(timeout), &wrap_block_call(block)))
|
19
19
|
end
|
20
20
|
|
21
21
|
# > NOTE: In most cases, you should use [`method: WebSocket.waitForEvent`].
|
@@ -23,8 +23,30 @@ module Playwright
|
|
23
23
|
# Waits for given `event` to fire. If predicate is provided, it passes event's value into the `predicate` function and
|
24
24
|
# waits for `predicate(event)` to return a truthy value. Will throw an error if the socket is closed before the `event` is
|
25
25
|
# fired.
|
26
|
-
def wait_for_event(event, predicate: nil, timeout: nil)
|
27
|
-
|
26
|
+
def wait_for_event(event, predicate: nil, timeout: nil, &block)
|
27
|
+
wrap_impl(@impl.wait_for_event(unwrap_impl(event), predicate: unwrap_impl(predicate), timeout: unwrap_impl(timeout), &wrap_block_call(block)))
|
28
|
+
end
|
29
|
+
|
30
|
+
# -- inherited from EventEmitter --
|
31
|
+
# @nodoc
|
32
|
+
def off(event, callback)
|
33
|
+
event_emitter_proxy.off(event, callback)
|
34
|
+
end
|
35
|
+
|
36
|
+
# -- inherited from EventEmitter --
|
37
|
+
# @nodoc
|
38
|
+
def once(event, callback)
|
39
|
+
event_emitter_proxy.once(event, callback)
|
40
|
+
end
|
41
|
+
|
42
|
+
# -- inherited from EventEmitter --
|
43
|
+
# @nodoc
|
44
|
+
def on(event, callback)
|
45
|
+
event_emitter_proxy.on(event, callback)
|
46
|
+
end
|
47
|
+
|
48
|
+
private def event_emitter_proxy
|
49
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
28
50
|
end
|
29
51
|
end
|
30
52
|
end
|
@@ -45,20 +45,20 @@ module Playwright
|
|
45
45
|
|
46
46
|
# -- inherited from EventEmitter --
|
47
47
|
# @nodoc
|
48
|
-
def
|
49
|
-
event_emitter_proxy.
|
48
|
+
def off(event, callback)
|
49
|
+
event_emitter_proxy.off(event, callback)
|
50
50
|
end
|
51
51
|
|
52
52
|
# -- inherited from EventEmitter --
|
53
53
|
# @nodoc
|
54
|
-
def
|
55
|
-
event_emitter_proxy.
|
54
|
+
def once(event, callback)
|
55
|
+
event_emitter_proxy.once(event, callback)
|
56
56
|
end
|
57
57
|
|
58
58
|
# -- inherited from EventEmitter --
|
59
59
|
# @nodoc
|
60
|
-
def
|
61
|
-
event_emitter_proxy.
|
60
|
+
def on(event, callback)
|
61
|
+
event_emitter_proxy.on(event, callback)
|
62
62
|
end
|
63
63
|
|
64
64
|
private def event_emitter_proxy
|
data/playwright.gemspec
CHANGED
@@ -30,11 +30,12 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency 'bundler', '~> 2.2.3'
|
31
31
|
spec.add_development_dependency 'chunky_png'
|
32
32
|
spec.add_development_dependency 'dry-inflector'
|
33
|
+
spec.add_development_dependency 'faye-websocket'
|
33
34
|
spec.add_development_dependency 'pry-byebug'
|
35
|
+
spec.add_development_dependency 'puma'
|
34
36
|
spec.add_development_dependency 'rake', '~> 13.0.3'
|
35
37
|
spec.add_development_dependency 'rspec', '~> 3.10.0 '
|
36
38
|
spec.add_development_dependency 'rspec_junit_formatter' # for CircleCI.
|
37
39
|
spec.add_development_dependency 'rubocop-rspec'
|
38
40
|
spec.add_development_dependency 'sinatra'
|
39
|
-
spec.add_development_dependency 'webrick'
|
40
41
|
end
|
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: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- YusukeIwaki
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: faye-websocket
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: pry-byebug
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +108,20 @@ dependencies:
|
|
94
108
|
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: puma
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
97
125
|
- !ruby/object:Gem::Dependency
|
98
126
|
name: rake
|
99
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,20 +192,6 @@ dependencies:
|
|
164
192
|
- - ">="
|
165
193
|
- !ruby/object:Gem::Version
|
166
194
|
version: '0'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: webrick
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
181
195
|
description:
|
182
196
|
email:
|
183
197
|
- q7w8e9w8q7w8e9@yahoo.co.jp
|
@@ -231,6 +245,7 @@ files:
|
|
231
245
|
- documentation/docs/article/guides/launch_browser.md
|
232
246
|
- documentation/docs/article/guides/rails_integration.md
|
233
247
|
- documentation/docs/article/guides/recording_video.md
|
248
|
+
- documentation/docs/article/guides/semi_automation.md
|
234
249
|
- documentation/docs/include/api_coverage.md
|
235
250
|
- documentation/docusaurus.config.js
|
236
251
|
- documentation/package.json
|
@@ -259,6 +274,7 @@ files:
|
|
259
274
|
- lib/playwright/channel_owners/browser.rb
|
260
275
|
- lib/playwright/channel_owners/browser_context.rb
|
261
276
|
- lib/playwright/channel_owners/browser_type.rb
|
277
|
+
- lib/playwright/channel_owners/cdp_session.rb
|
262
278
|
- lib/playwright/channel_owners/console_message.rb
|
263
279
|
- lib/playwright/channel_owners/dialog.rb
|
264
280
|
- lib/playwright/channel_owners/electron.rb
|
@@ -272,6 +288,7 @@ files:
|
|
272
288
|
- lib/playwright/channel_owners/route.rb
|
273
289
|
- lib/playwright/channel_owners/selectors.rb
|
274
290
|
- lib/playwright/channel_owners/stream.rb
|
291
|
+
- lib/playwright/channel_owners/web_socket.rb
|
275
292
|
- lib/playwright/channel_owners/worker.rb
|
276
293
|
- lib/playwright/connection.rb
|
277
294
|
- lib/playwright/download.rb
|
@@ -300,6 +317,8 @@ files:
|
|
300
317
|
- lib/playwright/version.rb
|
301
318
|
- lib/playwright/video.rb
|
302
319
|
- lib/playwright/wait_helper.rb
|
320
|
+
- lib/playwright/web_socket_client.rb
|
321
|
+
- lib/playwright/web_socket_transport.rb
|
303
322
|
- lib/playwright_api/accessibility.rb
|
304
323
|
- lib/playwright_api/android.rb
|
305
324
|
- lib/playwright_api/android_device.rb
|
@@ -348,8 +367,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
348
367
|
- !ruby/object:Gem::Version
|
349
368
|
version: '0'
|
350
369
|
requirements: []
|
351
|
-
rubygems_version: 3.2.
|
370
|
+
rubygems_version: 3.2.22
|
352
371
|
signing_key:
|
353
372
|
specification_version: 4
|
354
|
-
summary: The Ruby binding of playwright driver 1.
|
373
|
+
summary: The Ruby binding of playwright driver 1.13.0
|
355
374
|
test_files: []
|