playwright-ruby-client 1.51.0 → 1.56.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.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +5 -0
  3. data/README.md +4 -0
  4. data/documentation/docs/api/browser_context.md +7 -3
  5. data/documentation/docs/api/console_message.md +0 -3
  6. data/documentation/docs/api/experimental/android.md +10 -0
  7. data/documentation/docs/api/frame.md +1 -0
  8. data/documentation/docs/api/frame_locator.md +1 -0
  9. data/documentation/docs/api/locator.md +24 -0
  10. data/documentation/docs/api/locator_assertions.md +47 -1
  11. data/documentation/docs/api/mouse.md +2 -0
  12. data/documentation/docs/api/page.md +34 -2
  13. data/documentation/docs/api/route.md +2 -0
  14. data/documentation/docs/api/selectors.md +10 -0
  15. data/documentation/docs/api/tracing.md +8 -0
  16. data/documentation/docs/article/guides/inspector.md +1 -1
  17. data/documentation/docs/article/guides/playwright_on_alpine_linux.md +9 -69
  18. data/documentation/docs/include/api_coverage.md +8 -2
  19. data/documentation/package.json +3 -3
  20. data/documentation/yarn.lock +12372 -8623
  21. data/lib/playwright/channel.rb +6 -3
  22. data/lib/playwright/channel_owners/android.rb +12 -0
  23. data/lib/playwright/channel_owners/android_device.rb +6 -5
  24. data/lib/playwright/channel_owners/api_request_context.rb +6 -1
  25. data/lib/playwright/channel_owners/browser.rb +37 -6
  26. data/lib/playwright/channel_owners/browser_context.rb +47 -38
  27. data/lib/playwright/channel_owners/browser_type.rb +43 -14
  28. data/lib/playwright/channel_owners/element_handle.rb +22 -17
  29. data/lib/playwright/channel_owners/frame.rb +65 -34
  30. data/lib/playwright/channel_owners/page.rb +39 -9
  31. data/lib/playwright/channel_owners/playwright.rb +10 -4
  32. data/lib/playwright/channel_owners/web_socket.rb +1 -1
  33. data/lib/playwright/connection.rb +3 -0
  34. data/lib/playwright/console_message_impl.rb +3 -2
  35. data/lib/playwright/file_chooser_impl.rb +3 -2
  36. data/lib/playwright/frame_locator_impl.rb +5 -8
  37. data/lib/playwright/javascript/value_parser.rb +54 -2
  38. data/lib/playwright/locator_assertions_impl.rb +100 -34
  39. data/lib/playwright/locator_impl.rb +26 -36
  40. data/lib/playwright/page_assertions_impl.rb +16 -11
  41. data/lib/playwright/selectors_impl.rb +45 -0
  42. data/lib/playwright/test.rb +21 -3
  43. data/lib/playwright/timeout_settings.rb +5 -0
  44. data/lib/playwright/transport.rb +1 -1
  45. data/lib/playwright/utils.rb +0 -33
  46. data/lib/playwright/version.rb +2 -2
  47. data/lib/playwright/web_socket_client.rb +4 -1
  48. data/lib/playwright/web_socket_transport.rb +3 -1
  49. data/lib/playwright.rb +14 -14
  50. data/lib/playwright_api/android.rb +12 -7
  51. data/lib/playwright_api/android_device.rb +8 -8
  52. data/lib/playwright_api/api_request.rb +1 -0
  53. data/lib/playwright_api/api_request_context.rb +6 -6
  54. data/lib/playwright_api/browser.rb +6 -6
  55. data/lib/playwright_api/browser_context.rb +17 -17
  56. data/lib/playwright_api/browser_type.rb +6 -6
  57. data/lib/playwright_api/cdp_session.rb +6 -6
  58. data/lib/playwright_api/console_message.rb +0 -4
  59. data/lib/playwright_api/dialog.rb +6 -6
  60. data/lib/playwright_api/element_handle.rb +6 -6
  61. data/lib/playwright_api/frame.rb +12 -6
  62. data/lib/playwright_api/frame_locator.rb +1 -0
  63. data/lib/playwright_api/js_handle.rb +6 -6
  64. data/lib/playwright_api/locator.rb +30 -3
  65. data/lib/playwright_api/locator_assertions.rb +47 -3
  66. data/lib/playwright_api/mouse.rb +2 -0
  67. data/lib/playwright_api/page.rb +41 -13
  68. data/lib/playwright_api/playwright.rb +6 -6
  69. data/lib/playwright_api/request.rb +6 -6
  70. data/lib/playwright_api/response.rb +6 -6
  71. data/lib/playwright_api/route.rb +8 -6
  72. data/lib/playwright_api/selectors.rb +1 -28
  73. data/lib/playwright_api/tracing.rb +14 -6
  74. data/lib/playwright_api/web_socket.rb +6 -6
  75. data/lib/playwright_api/worker.rb +8 -8
  76. data/sig/playwright.rbs +15 -1
  77. metadata +6 -5
  78. data/lib/playwright/channel_owners/selectors.rb +0 -26
@@ -1,6 +1,7 @@
1
1
  module Playwright
2
2
  class TimeoutSettings
3
3
  DEFAULT_TIMEOUT = 30000
4
+ DEFAULT_LAUNCH_TIMEOUT = 180000 # 3 minutes
4
5
 
5
6
  def initialize(parent = nil)
6
7
  @parent = parent
@@ -15,5 +16,9 @@ module Playwright
15
16
  def timeout(timeout_override = nil)
16
17
  timeout_override || @default_timeout || @parent&.timeout || DEFAULT_TIMEOUT
17
18
  end
19
+
20
+ def launch_timeout(timeout_override = nil)
21
+ timeout_override || @default_timeout || @parent&.launch_timeout || DEFAULT_LAUNCH_TIMEOUT
22
+ end
18
23
  end
19
24
  end
@@ -43,7 +43,7 @@ module Playwright
43
43
  # Terminate playwright-cli driver.
44
44
  def stop
45
45
  [@stdin, @stdout, @stderr].each { |io| io.close unless io.closed? }
46
- @thread&.terminate
46
+ @thread&.join
47
47
  end
48
48
 
49
49
  # Start `playwright-cli run-driver`
@@ -3,36 +3,6 @@ require 'base64'
3
3
  module Playwright
4
4
  module Utils
5
5
  module PrepareBrowserContextOptions
6
- private def prepare_record_har_options(params)
7
- out_params = {
8
- path: params.delete(:record_har_path)
9
- }
10
- if params[:record_har_url_filter]
11
- opt = params.delete(:record_har_url_filter)
12
- if opt.is_a?(Regexp)
13
- regex = ::Playwright::JavaScript::Regex.new(opt)
14
- out_params[:urlRegexSource] = regex.source
15
- out_params[:urlRegexFlags] = regex.flag
16
- elsif opt.is_a?(String)
17
- out_params[:urlGlob] = opt
18
- end
19
- end
20
- if params[:record_har_mode]
21
- out_params[:mode] = params.delete(:record_har_mode)
22
- end
23
- if params[:record_har_content]
24
- out_params[:content] = params.delete(:record_har_content)
25
- end
26
- if params[:record_har_omit_content]
27
- old_api_omit_content = params.delete(:record_har_omit_content)
28
- if old_api_omit_content
29
- out_params[:content] ||= 'omit'
30
- end
31
- end
32
-
33
- out_params
34
- end
35
-
36
6
  # @see https://github.com/microsoft/playwright/blob/5a2cfdbd47ed3c3deff77bb73e5fac34241f649d/src/client/browserContext.ts#L265
37
7
  private def prepare_browser_context_options(params)
38
8
  if params[:noViewport] == 0
@@ -42,9 +12,6 @@ module Playwright
42
12
  if params[:extraHTTPHeaders]
43
13
  params[:extraHTTPHeaders] = ::Playwright::HttpHeaders.new(params[:extraHTTPHeaders]).as_serialized
44
14
  end
45
- if params[:record_har_path]
46
- params[:recordHar] = prepare_record_har_options(params)
47
- end
48
15
  if params[:record_video_dir]
49
16
  params[:recordVideo] = {
50
17
  dir: params.delete(:record_video_dir)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playwright
4
- VERSION = '1.51.0'
5
- COMPATIBLE_PLAYWRIGHT_VERSION = '1.51.0'
4
+ VERSION = '1.56.0'
5
+ COMPATIBLE_PLAYWRIGHT_VERSION = '1.56.1'
6
6
  end
@@ -62,9 +62,12 @@ module Playwright
62
62
  STATE_CLOSING = 2
63
63
  STATE_CLOSED = 3
64
64
 
65
- def initialize(url:, max_payload_size:)
65
+ def initialize(url:, max_payload_size:, headers:)
66
66
  @impl = DriverImpl.new(url)
67
67
  @driver = ::WebSocket::Driver.client(@impl, max_length: max_payload_size)
68
+ headers.each do |key, value|
69
+ @driver.set_header(key, value)
70
+ end
68
71
 
69
72
  setup
70
73
  end
@@ -6,8 +6,9 @@ module Playwright
6
6
  # ref: https://github.com/microsoft/playwright-python/blob/master/playwright/_impl/_transport.py
7
7
  class WebSocketTransport
8
8
  # @param ws_endpoint [String] EndpointURL of WebSocket
9
- def initialize(ws_endpoint:)
9
+ def initialize(ws_endpoint:, headers:)
10
10
  @ws_endpoint = ws_endpoint
11
+ @headers = headers
11
12
  @debug = ENV['DEBUG'].to_s == 'true' || ENV['DEBUG'].to_s == '1'
12
13
  end
13
14
 
@@ -63,6 +64,7 @@ module Playwright
63
64
  ws = WebSocketClient.new(
64
65
  url: @ws_endpoint,
65
66
  max_payload_size: 256 * 1024 * 1024, # 256MB
67
+ headers: @headers,
66
68
  )
67
69
  promise = Concurrent::Promises.resolvable_future
68
70
  ws.on_open do
data/lib/playwright.rb CHANGED
@@ -102,14 +102,7 @@ module Playwright
102
102
  end
103
103
  end
104
104
 
105
- # Connects to Playwright server, launched by `npx playwright run-server` via WebSocket transport.
106
- #
107
- # Playwright.connect_to_playwright_server(...) do |playwright|
108
- # browser = playwright.chromium.launch
109
- # ...
110
- # end
111
- #
112
- # @experimental
105
+ # @Deprecated. Playwright >= 1.54 does not support this method.
113
106
  module_function def connect_to_playwright_server(ws_endpoint, &block)
114
107
  require 'playwright/web_socket_client'
115
108
  require 'playwright/web_socket_transport'
@@ -138,7 +131,7 @@ module Playwright
138
131
  end
139
132
  end
140
133
 
141
- # Connects to Playwright server, launched by `npx playwright launch-server chromium` or `playwright.chromium.launchServer()`
134
+ # Connects to Playwright server, launched by `npx playwright launch-server --browser chromium` or `npx playwright run-server`
142
135
  #
143
136
  # Playwright.connect_to_browser_server('ws://....') do |browser|
144
137
  # page = browser.new_page
@@ -146,11 +139,19 @@ module Playwright
146
139
  # end
147
140
  #
148
141
  # @experimental
149
- module_function def connect_to_browser_server(ws_endpoint, &block)
142
+ module_function def connect_to_browser_server(ws_endpoint, browser_type: 'chromium', &block)
143
+ known_browser_types = ['chromium', 'firefox', 'webkit']
144
+ unless known_browser_types.include?(browser_type)
145
+ raise ArgumentError, "Unknown browser type: #{browser_type}. Known types are: #{known_browser_types.join(', ')}"
146
+ end
147
+
150
148
  require 'playwright/web_socket_client'
151
149
  require 'playwright/web_socket_transport'
152
150
 
153
- transport = WebSocketTransport.new(ws_endpoint: ws_endpoint)
151
+ transport = WebSocketTransport.new(
152
+ ws_endpoint: ws_endpoint,
153
+ headers: { 'x-playwright-browser' => browser_type },
154
+ )
154
155
  connection = Connection.new(transport)
155
156
  connection.mark_as_remote
156
157
  connection.async_run
@@ -159,8 +160,7 @@ module Playwright
159
160
  begin
160
161
  playwright = connection.initialize_playwright
161
162
  browser = playwright.send(:pre_launched_browser)
162
- browser.send(:update_browser_type, playwright.chromium) # Just workaround for nil reference error.
163
- browser.browser_type.send(:did_launch_browser, browser)
163
+ browser.send(:connect_to_browser_type, playwright.send(browser_type), nil)
164
164
  browser.send(:should_close_connection_on_close!)
165
165
  Execution.new(connection, PlaywrightApi.wrap(playwright), PlaywrightApi.wrap(browser))
166
166
  rescue
@@ -179,7 +179,7 @@ module Playwright
179
179
  end
180
180
  end
181
181
 
182
- # Connects to Playwright server, launched by `npx playwright launch-server chromium` or `playwright.chromium.launchServer()`
182
+ # Connects to Playwright server, launched by `npx playwright launch-server --browser _android` or `playwright._android.launchServer()`
183
183
  #
184
184
  # Playwright.connect_to_android_server('ws://....') do |browser|
185
185
  # page = browser.new_page
@@ -34,26 +34,31 @@ module Playwright
34
34
  #
35
35
  # This setting will change the default maximum time for all the methods accepting `timeout` option.
36
36
  def set_default_timeout(timeout)
37
- raise NotImplementedError.new('set_default_timeout is not implemented yet.')
37
+ wrap_impl(@impl.set_default_timeout(unwrap_impl(timeout)))
38
38
  end
39
39
  alias_method :default_timeout=, :set_default_timeout
40
40
 
41
+ # @nodoc
42
+ def set_default_navigation_timeout(timeout)
43
+ wrap_impl(@impl.set_default_navigation_timeout(unwrap_impl(timeout)))
44
+ end
45
+
41
46
  # -- inherited from EventEmitter --
42
47
  # @nodoc
43
- def on(event, callback)
44
- event_emitter_proxy.on(event, callback)
48
+ def once(event, callback)
49
+ event_emitter_proxy.once(event, callback)
45
50
  end
46
51
 
47
52
  # -- inherited from EventEmitter --
48
53
  # @nodoc
49
- def off(event, callback)
50
- event_emitter_proxy.off(event, callback)
54
+ def on(event, callback)
55
+ event_emitter_proxy.on(event, callback)
51
56
  end
52
57
 
53
58
  # -- inherited from EventEmitter --
54
59
  # @nodoc
55
- def once(event, callback)
56
- event_emitter_proxy.once(event, callback)
60
+ def off(event, callback)
61
+ event_emitter_proxy.off(event, callback)
57
62
  end
58
63
 
59
64
  private def event_emitter_proxy
@@ -194,14 +194,20 @@ module Playwright
194
194
  raise NotImplementedError.new('web_views is not implemented yet.')
195
195
  end
196
196
 
197
+ # @nodoc
198
+ def tap_on(selector, duration: nil, timeout: nil)
199
+ wrap_impl(@impl.tap_on(unwrap_impl(selector), duration: unwrap_impl(duration), timeout: unwrap_impl(timeout)))
200
+ end
201
+
197
202
  # @nodoc
198
203
  def should_close_connection_on_close!
199
204
  wrap_impl(@impl.should_close_connection_on_close!)
200
205
  end
201
206
 
207
+ # -- inherited from EventEmitter --
202
208
  # @nodoc
203
- def tap_on(selector, duration: nil, timeout: nil)
204
- wrap_impl(@impl.tap_on(unwrap_impl(selector), duration: unwrap_impl(duration), timeout: unwrap_impl(timeout)))
209
+ def once(event, callback)
210
+ event_emitter_proxy.once(event, callback)
205
211
  end
206
212
 
207
213
  # -- inherited from EventEmitter --
@@ -216,12 +222,6 @@ module Playwright
216
222
  event_emitter_proxy.off(event, callback)
217
223
  end
218
224
 
219
- # -- inherited from EventEmitter --
220
- # @nodoc
221
- def once(event, callback)
222
- event_emitter_proxy.once(event, callback)
223
- end
224
-
225
225
  private def event_emitter_proxy
226
226
  @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
227
227
  end
@@ -15,6 +15,7 @@ module Playwright
15
15
  failOnStatusCode: nil,
16
16
  httpCredentials: nil,
17
17
  ignoreHTTPSErrors: nil,
18
+ maxRedirects: nil,
18
19
  proxy: nil,
19
20
  storageState: nil,
20
21
  timeout: nil,
@@ -288,20 +288,20 @@ module Playwright
288
288
 
289
289
  # -- inherited from EventEmitter --
290
290
  # @nodoc
291
- def on(event, callback)
292
- event_emitter_proxy.on(event, callback)
291
+ def once(event, callback)
292
+ event_emitter_proxy.once(event, callback)
293
293
  end
294
294
 
295
295
  # -- inherited from EventEmitter --
296
296
  # @nodoc
297
- def off(event, callback)
298
- event_emitter_proxy.off(event, callback)
297
+ def on(event, callback)
298
+ event_emitter_proxy.on(event, callback)
299
299
  end
300
300
 
301
301
  # -- inherited from EventEmitter --
302
302
  # @nodoc
303
- def once(event, callback)
304
- event_emitter_proxy.once(event, callback)
303
+ def off(event, callback)
304
+ event_emitter_proxy.off(event, callback)
305
305
  end
306
306
 
307
307
  private def event_emitter_proxy
@@ -205,20 +205,20 @@ module Playwright
205
205
 
206
206
  # -- inherited from EventEmitter --
207
207
  # @nodoc
208
- def on(event, callback)
209
- event_emitter_proxy.on(event, callback)
208
+ def once(event, callback)
209
+ event_emitter_proxy.once(event, callback)
210
210
  end
211
211
 
212
212
  # -- inherited from EventEmitter --
213
213
  # @nodoc
214
- def off(event, callback)
215
- event_emitter_proxy.off(event, callback)
214
+ def on(event, callback)
215
+ event_emitter_proxy.on(event, callback)
216
216
  end
217
217
 
218
218
  # -- inherited from EventEmitter --
219
219
  # @nodoc
220
- def once(event, callback)
221
- event_emitter_proxy.once(event, callback)
220
+ def off(event, callback)
221
+ event_emitter_proxy.off(event, callback)
222
222
  end
223
223
 
224
224
  private def event_emitter_proxy
@@ -72,15 +72,15 @@ module Playwright
72
72
  end
73
73
 
74
74
  #
75
- # **NOTE**: Background pages are only supported on Chromium-based browsers.
75
+ # Returns an empty list.
76
76
  #
77
- # All existing background pages in the context.
77
+ # @deprecated Background pages have been removed from Chromium together with Manifest V2 extensions.
78
78
  def background_pages
79
79
  wrap_impl(@impl.background_pages)
80
80
  end
81
81
 
82
82
  #
83
- # Returns the browser instance of the context. If it was launched as a persistent context null gets returned.
83
+ # Gets the browser instance that owns the context. Returns `null` if the context is created outside of normal browser, e.g. Android or Electron.
84
84
  def browser
85
85
  wrap_impl(@impl.browser)
86
86
  end
@@ -464,23 +464,23 @@ module Playwright
464
464
  end
465
465
 
466
466
  # @nodoc
467
- def owner_page=(req)
468
- wrap_impl(@impl.owner_page=(unwrap_impl(req)))
467
+ def enable_debug_console!
468
+ wrap_impl(@impl.enable_debug_console!)
469
469
  end
470
470
 
471
471
  # @nodoc
472
- def options=(req)
473
- wrap_impl(@impl.options=(unwrap_impl(req)))
472
+ def pause
473
+ wrap_impl(@impl.pause)
474
474
  end
475
475
 
476
476
  # @nodoc
477
- def enable_debug_console!
478
- wrap_impl(@impl.enable_debug_console!)
477
+ def owner_page=(req)
478
+ wrap_impl(@impl.owner_page=(unwrap_impl(req)))
479
479
  end
480
480
 
481
481
  # @nodoc
482
- def pause
483
- wrap_impl(@impl.pause)
482
+ def options=(req)
483
+ wrap_impl(@impl.options=(unwrap_impl(req)))
484
484
  end
485
485
 
486
486
  # @nodoc
@@ -490,20 +490,20 @@ module Playwright
490
490
 
491
491
  # -- inherited from EventEmitter --
492
492
  # @nodoc
493
- def on(event, callback)
494
- event_emitter_proxy.on(event, callback)
493
+ def once(event, callback)
494
+ event_emitter_proxy.once(event, callback)
495
495
  end
496
496
 
497
497
  # -- inherited from EventEmitter --
498
498
  # @nodoc
499
- def off(event, callback)
500
- event_emitter_proxy.off(event, callback)
499
+ def on(event, callback)
500
+ event_emitter_proxy.on(event, callback)
501
501
  end
502
502
 
503
503
  # -- inherited from EventEmitter --
504
504
  # @nodoc
505
- def once(event, callback)
506
- event_emitter_proxy.once(event, callback)
505
+ def off(event, callback)
506
+ event_emitter_proxy.off(event, callback)
507
507
  end
508
508
 
509
509
  private def event_emitter_proxy
@@ -182,20 +182,20 @@ module Playwright
182
182
 
183
183
  # -- inherited from EventEmitter --
184
184
  # @nodoc
185
- def on(event, callback)
186
- event_emitter_proxy.on(event, callback)
185
+ def once(event, callback)
186
+ event_emitter_proxy.once(event, callback)
187
187
  end
188
188
 
189
189
  # -- inherited from EventEmitter --
190
190
  # @nodoc
191
- def off(event, callback)
192
- event_emitter_proxy.off(event, callback)
191
+ def on(event, callback)
192
+ event_emitter_proxy.on(event, callback)
193
193
  end
194
194
 
195
195
  # -- inherited from EventEmitter --
196
196
  # @nodoc
197
- def once(event, callback)
198
- event_emitter_proxy.once(event, callback)
197
+ def off(event, callback)
198
+ event_emitter_proxy.off(event, callback)
199
199
  end
200
200
 
201
201
  private def event_emitter_proxy
@@ -33,20 +33,20 @@ module Playwright
33
33
 
34
34
  # -- inherited from EventEmitter --
35
35
  # @nodoc
36
- def on(event, callback)
37
- event_emitter_proxy.on(event, callback)
36
+ def once(event, callback)
37
+ event_emitter_proxy.once(event, callback)
38
38
  end
39
39
 
40
40
  # -- inherited from EventEmitter --
41
41
  # @nodoc
42
- def off(event, callback)
43
- event_emitter_proxy.off(event, callback)
42
+ def on(event, callback)
43
+ event_emitter_proxy.on(event, callback)
44
44
  end
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
  private def event_emitter_proxy
@@ -45,10 +45,6 @@ module Playwright
45
45
  wrap_impl(@impl.text)
46
46
  end
47
47
 
48
- #
49
- # One of the following values: `'log'`, `'debug'`, `'info'`, `'error'`, `'warning'`, `'dir'`, `'dirxml'`, `'table'`,
50
- # `'trace'`, `'clear'`, `'startGroup'`, `'startGroupCollapsed'`, `'endGroup'`, `'assert'`, `'profile'`, `'profileEnd'`,
51
- # `'count'`, `'timeEnd'`.
52
48
  def type
53
49
  wrap_impl(@impl.type)
54
50
  end
@@ -70,20 +70,20 @@ module Playwright
70
70
 
71
71
  # -- inherited from EventEmitter --
72
72
  # @nodoc
73
- def on(event, callback)
74
- event_emitter_proxy.on(event, callback)
73
+ def once(event, callback)
74
+ event_emitter_proxy.once(event, callback)
75
75
  end
76
76
 
77
77
  # -- inherited from EventEmitter --
78
78
  # @nodoc
79
- def off(event, callback)
80
- event_emitter_proxy.off(event, callback)
79
+ def on(event, callback)
80
+ event_emitter_proxy.on(event, callback)
81
81
  end
82
82
 
83
83
  # -- inherited from EventEmitter --
84
84
  # @nodoc
85
- def once(event, callback)
86
- event_emitter_proxy.once(event, callback)
85
+ def off(event, callback)
86
+ event_emitter_proxy.off(event, callback)
87
87
  end
88
88
 
89
89
  private def event_emitter_proxy
@@ -574,20 +574,20 @@ module Playwright
574
574
 
575
575
  # -- inherited from EventEmitter --
576
576
  # @nodoc
577
- def on(event, callback)
578
- event_emitter_proxy.on(event, callback)
577
+ def once(event, callback)
578
+ event_emitter_proxy.once(event, callback)
579
579
  end
580
580
 
581
581
  # -- inherited from EventEmitter --
582
582
  # @nodoc
583
- def off(event, callback)
584
- event_emitter_proxy.off(event, callback)
583
+ def on(event, callback)
584
+ event_emitter_proxy.on(event, callback)
585
585
  end
586
586
 
587
587
  # -- inherited from EventEmitter --
588
588
  # @nodoc
589
- def once(event, callback)
590
- event_emitter_proxy.once(event, callback)
589
+ def off(event, callback)
590
+ event_emitter_proxy.off(event, callback)
591
591
  end
592
592
 
593
593
  private def event_emitter_proxy
@@ -487,6 +487,7 @@ module Playwright
487
487
  def get_by_test_id(testId)
488
488
  wrap_impl(@impl.get_by_test_id(unwrap_impl(testId)))
489
489
  end
490
+ alias_method :get_by_testid, :get_by_test_id
490
491
 
491
492
  #
492
493
  # Allows locating elements that contain given text.
@@ -1043,6 +1044,11 @@ module Playwright
1043
1044
  wrap_impl(@impl.highlight(unwrap_impl(selector)))
1044
1045
  end
1045
1046
 
1047
+ # @nodoc
1048
+ def expect(selector, expression, options, title)
1049
+ wrap_impl(@impl.expect(unwrap_impl(selector), unwrap_impl(expression), unwrap_impl(options), unwrap_impl(title)))
1050
+ end
1051
+
1046
1052
  # @nodoc
1047
1053
  def detached=(req)
1048
1054
  wrap_impl(@impl.detached=(unwrap_impl(req)))
@@ -1050,20 +1056,20 @@ module Playwright
1050
1056
 
1051
1057
  # -- inherited from EventEmitter --
1052
1058
  # @nodoc
1053
- def on(event, callback)
1054
- event_emitter_proxy.on(event, callback)
1059
+ def once(event, callback)
1060
+ event_emitter_proxy.once(event, callback)
1055
1061
  end
1056
1062
 
1057
1063
  # -- inherited from EventEmitter --
1058
1064
  # @nodoc
1059
- def off(event, callback)
1060
- event_emitter_proxy.off(event, callback)
1065
+ def on(event, callback)
1066
+ event_emitter_proxy.on(event, callback)
1061
1067
  end
1062
1068
 
1063
1069
  # -- inherited from EventEmitter --
1064
1070
  # @nodoc
1065
- def once(event, callback)
1066
- event_emitter_proxy.once(event, callback)
1071
+ def off(event, callback)
1072
+ event_emitter_proxy.off(event, callback)
1067
1073
  end
1068
1074
 
1069
1075
  private def event_emitter_proxy
@@ -170,6 +170,7 @@ module Playwright
170
170
  def get_by_test_id(testId)
171
171
  wrap_impl(@impl.get_by_test_id(unwrap_impl(testId)))
172
172
  end
173
+ alias_method :get_by_testid, :get_by_test_id
173
174
 
174
175
  #
175
176
  # Allows locating elements that contain given text.
@@ -100,20 +100,20 @@ module Playwright
100
100
 
101
101
  # -- inherited from EventEmitter --
102
102
  # @nodoc
103
- def on(event, callback)
104
- event_emitter_proxy.on(event, callback)
103
+ def once(event, callback)
104
+ event_emitter_proxy.once(event, callback)
105
105
  end
106
106
 
107
107
  # -- inherited from EventEmitter --
108
108
  # @nodoc
109
- def off(event, callback)
110
- event_emitter_proxy.off(event, callback)
109
+ def on(event, callback)
110
+ event_emitter_proxy.on(event, callback)
111
111
  end
112
112
 
113
113
  # -- inherited from EventEmitter --
114
114
  # @nodoc
115
- def once(event, callback)
116
- event_emitter_proxy.once(event, callback)
115
+ def off(event, callback)
116
+ event_emitter_proxy.off(event, callback)
117
117
  end
118
118
 
119
119
  private def event_emitter_proxy