playwright-ruby-client 0.6.6 → 0.8.1

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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +26 -0
  3. data/documentation/docs/api/browser.md +18 -2
  4. data/documentation/docs/api/browser_context.md +10 -0
  5. data/documentation/docs/api/browser_type.md +1 -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/experimental/android_device.md +1 -0
  9. data/documentation/docs/api/frame.md +29 -1
  10. data/documentation/docs/api/keyboard.md +11 -20
  11. data/documentation/docs/api/page.md +48 -2
  12. data/documentation/docs/api/response.md +16 -0
  13. data/documentation/docs/api/web_socket.md +37 -0
  14. data/documentation/docs/article/guides/launch_browser.md +2 -0
  15. data/documentation/docs/article/guides/playwright_on_alpine_linux.md +91 -0
  16. data/documentation/docs/article/guides/rails_integration.md +1 -1
  17. data/documentation/docs/article/guides/semi_automation.md +71 -0
  18. data/documentation/docs/include/api_coverage.md +18 -11
  19. data/lib/playwright.rb +36 -3
  20. data/lib/playwright/channel_owners/artifact.rb +4 -0
  21. data/lib/playwright/channel_owners/browser.rb +5 -0
  22. data/lib/playwright/channel_owners/browser_context.rb +12 -3
  23. data/lib/playwright/channel_owners/cdp_session.rb +19 -0
  24. data/lib/playwright/channel_owners/element_handle.rb +11 -4
  25. data/lib/playwright/channel_owners/frame.rb +36 -4
  26. data/lib/playwright/channel_owners/page.rb +45 -16
  27. data/lib/playwright/channel_owners/response.rb +9 -1
  28. data/lib/playwright/channel_owners/web_socket.rb +83 -0
  29. data/lib/playwright/connection.rb +2 -4
  30. data/lib/playwright/download.rb +4 -0
  31. data/lib/playwright/route_handler_entry.rb +3 -2
  32. data/lib/playwright/transport.rb +0 -1
  33. data/lib/playwright/url_matcher.rb +12 -2
  34. data/lib/playwright/version.rb +2 -2
  35. data/lib/playwright/web_socket_client.rb +164 -0
  36. data/lib/playwright/web_socket_transport.rb +104 -0
  37. data/lib/playwright_api/android.rb +6 -6
  38. data/lib/playwright_api/android_device.rb +10 -9
  39. data/lib/playwright_api/browser.rb +17 -11
  40. data/lib/playwright_api/browser_context.rb +7 -7
  41. data/lib/playwright_api/browser_type.rb +8 -7
  42. data/lib/playwright_api/cdp_session.rb +30 -8
  43. data/lib/playwright_api/console_message.rb +6 -6
  44. data/lib/playwright_api/dialog.rb +6 -6
  45. data/lib/playwright_api/element_handle.rb +17 -11
  46. data/lib/playwright_api/frame.rb +30 -9
  47. data/lib/playwright_api/js_handle.rb +6 -6
  48. data/lib/playwright_api/page.rb +39 -18
  49. data/lib/playwright_api/playwright.rb +6 -6
  50. data/lib/playwright_api/request.rb +6 -6
  51. data/lib/playwright_api/response.rb +15 -10
  52. data/lib/playwright_api/route.rb +6 -6
  53. data/lib/playwright_api/selectors.rb +6 -6
  54. data/lib/playwright_api/web_socket.rb +12 -12
  55. data/lib/playwright_api/worker.rb +6 -6
  56. data/playwright.gemspec +2 -1
  57. 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
@@ -58,20 +58,20 @@ module Playwright
58
58
 
59
59
  # -- inherited from EventEmitter --
60
60
  # @nodoc
61
- def once(event, callback)
62
- event_emitter_proxy.once(event, callback)
61
+ def off(event, callback)
62
+ event_emitter_proxy.off(event, callback)
63
63
  end
64
64
 
65
65
  # -- inherited from EventEmitter --
66
66
  # @nodoc
67
- def on(event, callback)
68
- event_emitter_proxy.on(event, callback)
67
+ def once(event, callback)
68
+ event_emitter_proxy.once(event, callback)
69
69
  end
70
70
 
71
71
  # -- inherited from EventEmitter --
72
72
  # @nodoc
73
- def off(event, callback)
74
- event_emitter_proxy.off(event, callback)
73
+ def on(event, callback)
74
+ event_emitter_proxy.on(event, callback)
75
75
  end
76
76
 
77
77
  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,26 +23,26 @@ 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
28
  end
29
29
 
30
30
  # -- inherited from EventEmitter --
31
31
  # @nodoc
32
- def once(event, callback)
33
- event_emitter_proxy.once(event, callback)
32
+ def off(event, callback)
33
+ event_emitter_proxy.off(event, callback)
34
34
  end
35
35
 
36
36
  # -- inherited from EventEmitter --
37
37
  # @nodoc
38
- def on(event, callback)
39
- event_emitter_proxy.on(event, callback)
38
+ def once(event, callback)
39
+ event_emitter_proxy.once(event, callback)
40
40
  end
41
41
 
42
42
  # -- inherited from EventEmitter --
43
43
  # @nodoc
44
- def off(event, callback)
45
- event_emitter_proxy.off(event, callback)
44
+ def on(event, callback)
45
+ event_emitter_proxy.on(event, callback)
46
46
  end
47
47
 
48
48
  private def event_emitter_proxy
@@ -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.6
4
+ version: 0.8.1
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-11 00:00:00.000000000 Z
11
+ date: 2021-07-20 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
@@ -229,8 +243,10 @@ files:
229
243
  - documentation/docs/article/guides/_category_.yml
230
244
  - documentation/docs/article/guides/download_playwright_driver.md
231
245
  - documentation/docs/article/guides/launch_browser.md
246
+ - documentation/docs/article/guides/playwright_on_alpine_linux.md
232
247
  - documentation/docs/article/guides/rails_integration.md
233
248
  - documentation/docs/article/guides/recording_video.md
249
+ - documentation/docs/article/guides/semi_automation.md
234
250
  - documentation/docs/include/api_coverage.md
235
251
  - documentation/docusaurus.config.js
236
252
  - documentation/package.json
@@ -259,6 +275,7 @@ files:
259
275
  - lib/playwright/channel_owners/browser.rb
260
276
  - lib/playwright/channel_owners/browser_context.rb
261
277
  - lib/playwright/channel_owners/browser_type.rb
278
+ - lib/playwright/channel_owners/cdp_session.rb
262
279
  - lib/playwright/channel_owners/console_message.rb
263
280
  - lib/playwright/channel_owners/dialog.rb
264
281
  - lib/playwright/channel_owners/electron.rb
@@ -301,6 +318,8 @@ files:
301
318
  - lib/playwright/version.rb
302
319
  - lib/playwright/video.rb
303
320
  - lib/playwright/wait_helper.rb
321
+ - lib/playwright/web_socket_client.rb
322
+ - lib/playwright/web_socket_transport.rb
304
323
  - lib/playwright_api/accessibility.rb
305
324
  - lib/playwright_api/android.rb
306
325
  - lib/playwright_api/android_device.rb
@@ -349,8 +368,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
349
368
  - !ruby/object:Gem::Version
350
369
  version: '0'
351
370
  requirements: []
352
- rubygems_version: 3.2.15
371
+ rubygems_version: 3.2.22
353
372
  signing_key:
354
373
  specification_version: 4
355
- summary: The Ruby binding of playwright driver 1.12.0
374
+ summary: The Ruby binding of playwright driver 1.13.0
356
375
  test_files: []