playwright-ruby-client 0.6.4 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +26 -0
  3. data/documentation/docs/api/browser.md +10 -0
  4. data/documentation/docs/api/browser_context.md +10 -0
  5. data/documentation/docs/api/browser_type.md +53 -0
  6. data/documentation/docs/api/cdp_session.md +41 -1
  7. data/documentation/docs/api/element_handle.md +11 -2
  8. data/documentation/docs/api/frame.md +15 -1
  9. data/documentation/docs/api/page.md +33 -1
  10. data/documentation/docs/api/response.md +16 -0
  11. data/documentation/docs/api/route.md +20 -21
  12. data/documentation/docs/api/web_socket.md +38 -1
  13. data/documentation/docs/article/guides/launch_browser.md +2 -0
  14. data/documentation/docs/article/guides/rails_integration.md +2 -2
  15. data/documentation/docs/article/guides/semi_automation.md +67 -0
  16. data/documentation/docs/include/api_coverage.md +19 -13
  17. data/lib/playwright.rb +36 -3
  18. data/lib/playwright/channel_owners/browser.rb +5 -0
  19. data/lib/playwright/channel_owners/browser_context.rb +5 -0
  20. data/lib/playwright/channel_owners/browser_type.rb +18 -0
  21. data/lib/playwright/channel_owners/cdp_session.rb +19 -0
  22. data/lib/playwright/channel_owners/element_handle.rb +11 -4
  23. data/lib/playwright/channel_owners/frame.rb +14 -2
  24. data/lib/playwright/channel_owners/page.rb +21 -2
  25. data/lib/playwright/channel_owners/response.rb +9 -1
  26. data/lib/playwright/channel_owners/web_socket.rb +87 -0
  27. data/lib/playwright/connection.rb +2 -4
  28. data/lib/playwright/transport.rb +0 -1
  29. data/lib/playwright/version.rb +2 -2
  30. data/lib/playwright/web_socket_client.rb +164 -0
  31. data/lib/playwright/web_socket_transport.rb +104 -0
  32. data/lib/playwright_api/android.rb +6 -6
  33. data/lib/playwright_api/android_device.rb +8 -8
  34. data/lib/playwright_api/browser.rb +7 -7
  35. data/lib/playwright_api/browser_context.rb +7 -7
  36. data/lib/playwright_api/browser_type.rb +9 -8
  37. data/lib/playwright_api/cdp_session.rb +30 -8
  38. data/lib/playwright_api/console_message.rb +6 -6
  39. data/lib/playwright_api/dialog.rb +6 -6
  40. data/lib/playwright_api/element_handle.rb +17 -11
  41. data/lib/playwright_api/frame.rb +20 -9
  42. data/lib/playwright_api/js_handle.rb +6 -6
  43. data/lib/playwright_api/page.rb +28 -17
  44. data/lib/playwright_api/playwright.rb +6 -6
  45. data/lib/playwright_api/request.rb +6 -6
  46. data/lib/playwright_api/response.rb +15 -10
  47. data/lib/playwright_api/route.rb +11 -6
  48. data/lib/playwright_api/selectors.rb +6 -6
  49. data/lib/playwright_api/web_socket.rb +28 -6
  50. data/lib/playwright_api/worker.rb +6 -6
  51. data/playwright.gemspec +2 -1
  52. metadata +37 -18
@@ -93,20 +93,20 @@ module Playwright
93
93
 
94
94
  # -- inherited from EventEmitter --
95
95
  # @nodoc
96
- def once(event, callback)
97
- event_emitter_proxy.once(event, callback)
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 on(event, callback)
103
- event_emitter_proxy.on(event, callback)
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 off(event, callback)
109
- event_emitter_proxy.off(event, callback)
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 once(event, callback)
134
- event_emitter_proxy.once(event, callback)
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 on(event, callback)
140
- event_emitter_proxy.on(event, callback)
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 off(event, callback)
146
- event_emitter_proxy.off(event, callback)
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 after_initialize
64
- wrap_impl(@impl.after_initialize)
73
+ def ok?
74
+ wrap_impl(@impl.ok?)
65
75
  end
66
76
 
77
+ # -- inherited from EventEmitter --
67
78
  # @nodoc
68
- def ok?
69
- wrap_impl(@impl.ok?)
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
@@ -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 once(event, callback)
62
- event_emitter_proxy.once(event, callback)
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 on(event, callback)
68
- event_emitter_proxy.on(event, callback)
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 off(event, callback)
74
- event_emitter_proxy.off(event, callback)
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 once(event, callback)
18
- event_emitter_proxy.once(event, callback)
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 on(event, callback)
24
- event_emitter_proxy.on(event, callback)
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 off(event, callback)
30
- event_emitter_proxy.off(event, callback)
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
- raise NotImplementedError.new('closed? is not implemented yet.')
7
+ wrap_impl(@impl.closed?)
8
8
  end
9
9
 
10
10
  # Contains the URL of the WebSocket.
11
11
  def url
12
- raise NotImplementedError.new('url is not implemented yet.')
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
- raise NotImplementedError.new('expect_event is not implemented yet.')
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
- raise NotImplementedError.new('wait_for_event is not implemented yet.')
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 once(event, callback)
49
- event_emitter_proxy.once(event, callback)
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 on(event, callback)
55
- event_emitter_proxy.on(event, callback)
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 off(event, callback)
61
- event_emitter_proxy.off(event, callback)
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.6.4
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-06-08 00:00:00.000000000 Z
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.15
370
+ rubygems_version: 3.2.22
352
371
  signing_key:
353
372
  specification_version: 4
354
- summary: The Ruby binding of playwright driver 1.12.0
373
+ summary: The Ruby binding of playwright driver 1.13.0
355
374
  test_files: []