playwright-ruby-client 1.28.1 → 1.29.1.alpha1

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/documentation/docs/api/accessibility.md +9 -14
  3. data/documentation/docs/api/api_request_context.md +44 -41
  4. data/documentation/docs/api/api_response.md +13 -3
  5. data/documentation/docs/api/browser.md +24 -23
  6. data/documentation/docs/api/browser_context.md +71 -45
  7. data/documentation/docs/api/browser_type.md +21 -14
  8. data/documentation/docs/api/cdp_session.md +3 -5
  9. data/documentation/docs/api/console_message.md +7 -4
  10. data/documentation/docs/api/dialog.md +9 -5
  11. data/documentation/docs/api/download.md +19 -11
  12. data/documentation/docs/api/element_handle.md +125 -116
  13. data/documentation/docs/api/experimental/android.md +4 -5
  14. data/documentation/docs/api/experimental/android_device.md +11 -2
  15. data/documentation/docs/api/experimental/android_input.md +5 -0
  16. data/documentation/docs/api/file_chooser.md +6 -3
  17. data/documentation/docs/api/frame.md +182 -171
  18. data/documentation/docs/api/frame_locator.md +27 -38
  19. data/documentation/docs/api/js_handle.md +16 -10
  20. data/documentation/docs/api/keyboard.md +29 -16
  21. data/documentation/docs/api/locator.md +189 -140
  22. data/documentation/docs/api/mouse.md +9 -4
  23. data/documentation/docs/api/page.md +304 -289
  24. data/documentation/docs/api/playwright.md +8 -5
  25. data/documentation/docs/api/request.md +34 -15
  26. data/documentation/docs/api/response.md +27 -10
  27. data/documentation/docs/api/route.md +44 -12
  28. data/documentation/docs/api/selectors.md +5 -3
  29. data/documentation/docs/api/touchscreen.md +2 -0
  30. data/documentation/docs/api/tracing.md +11 -11
  31. data/documentation/docs/api/web_socket.md +9 -4
  32. data/documentation/docs/api/worker.md +12 -11
  33. data/documentation/docs/include/api_coverage.md +2 -0
  34. data/lib/playwright/channel_owners/api_request_context.rb +37 -2
  35. data/lib/playwright/channel_owners/browser_context.rb +22 -26
  36. data/lib/playwright/channel_owners/page.rb +35 -25
  37. data/lib/playwright/channel_owners/route.rb +28 -8
  38. data/lib/playwright/event_emitter.rb +6 -1
  39. data/lib/playwright/locator_impl.rb +8 -0
  40. data/lib/playwright/select_option_values.rb +2 -0
  41. data/lib/playwright/version.rb +2 -2
  42. data/lib/playwright_api/accessibility.rb +9 -13
  43. data/lib/playwright_api/android.rb +14 -12
  44. data/lib/playwright_api/android_device.rb +38 -13
  45. data/lib/playwright_api/android_input.rb +5 -0
  46. data/lib/playwright_api/android_socket.rb +4 -2
  47. data/lib/playwright_api/android_web_view.rb +5 -2
  48. data/lib/playwright_api/api_request.rb +6 -3
  49. data/lib/playwright_api/api_request_context.rb +52 -42
  50. data/lib/playwright_api/api_response.rb +13 -2
  51. data/lib/playwright_api/browser.rb +30 -22
  52. data/lib/playwright_api/browser_context.rb +82 -45
  53. data/lib/playwright_api/browser_type.rb +29 -19
  54. data/lib/playwright_api/cdp_session.rb +9 -10
  55. data/lib/playwright_api/console_message.rb +13 -8
  56. data/lib/playwright_api/dialog.rb +14 -10
  57. data/lib/playwright_api/download.rb +19 -9
  58. data/lib/playwright_api/element_handle.rb +122 -99
  59. data/lib/playwright_api/file_chooser.rb +6 -1
  60. data/lib/playwright_api/frame.rb +186 -141
  61. data/lib/playwright_api/frame_locator.rb +29 -32
  62. data/lib/playwright_api/js_handle.rb +22 -12
  63. data/lib/playwright_api/keyboard.rb +29 -14
  64. data/lib/playwright_api/locator.rb +183 -112
  65. data/lib/playwright_api/mouse.rb +9 -2
  66. data/lib/playwright_api/page.rb +307 -259
  67. data/lib/playwright_api/playwright.rb +17 -10
  68. data/lib/playwright_api/request.rb +40 -13
  69. data/lib/playwright_api/response.rb +33 -16
  70. data/lib/playwright_api/route.rb +50 -17
  71. data/lib/playwright_api/selectors.rb +12 -7
  72. data/lib/playwright_api/touchscreen.rb +2 -0
  73. data/lib/playwright_api/tracing.rb +17 -11
  74. data/lib/playwright_api/web_socket.rb +15 -10
  75. data/lib/playwright_api/worker.rb +20 -17
  76. data/playwright.gemspec +2 -2
  77. data/sig/playwright.rbs +559 -0
  78. metadata +10 -9
@@ -6,10 +6,8 @@ module Playwright
6
6
  # - protocol events can be subscribed to with `session.on` method.
7
7
  #
8
8
  # Useful links:
9
- # - Documentation on DevTools Protocol can be found here:
10
- # [DevTools Protocol Viewer](https://chromedevtools.github.io/devtools-protocol/).
11
- # - Getting Started with DevTools Protocol:
12
- # https://github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md
9
+ # - Documentation on DevTools Protocol can be found here: [DevTools Protocol Viewer](https://chromedevtools.github.io/devtools-protocol/).
10
+ # - Getting Started with DevTools Protocol: https://github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md
13
11
  #
14
12
  # ```python sync
15
13
  # client = page.context.new_cdp_session(page)
@@ -23,6 +21,7 @@ module Playwright
23
21
  # ```
24
22
  class CDPSession < PlaywrightApi
25
23
 
24
+ #
26
25
  # Detaches the CDPSession from the target. Once detached, the CDPSession object won't emit any events and can't be used to
27
26
  # send messages.
28
27
  def detach
@@ -35,20 +34,20 @@ module Playwright
35
34
 
36
35
  # -- inherited from EventEmitter --
37
36
  # @nodoc
38
- def once(event, callback)
39
- event_emitter_proxy.once(event, callback)
37
+ def off(event, callback)
38
+ event_emitter_proxy.off(event, callback)
40
39
  end
41
40
 
42
41
  # -- inherited from EventEmitter --
43
42
  # @nodoc
44
- def on(event, callback)
45
- event_emitter_proxy.on(event, callback)
43
+ def once(event, callback)
44
+ event_emitter_proxy.once(event, callback)
46
45
  end
47
46
 
48
47
  # -- inherited from EventEmitter --
49
48
  # @nodoc
50
- def off(event, callback)
51
- event_emitter_proxy.off(event, callback)
49
+ def on(event, callback)
50
+ event_emitter_proxy.on(event, callback)
52
51
  end
53
52
 
54
53
  private def event_emitter_proxy
@@ -1,6 +1,8 @@
1
1
  module Playwright
2
- # `ConsoleMessage` objects are dispatched by page via the [`event: Page.console`] event. For each console messages logged
3
- # in the page there will be corresponding event in the Playwright context.
2
+ #
3
+ # `ConsoleMessage` objects are dispatched by page via the [`event: Page.console`] event.
4
+ # For each console messages logged in the page there will be corresponding event in the Playwright
5
+ # context.
4
6
  #
5
7
  # ```python sync
6
8
  # # Listen for all console logs
@@ -21,6 +23,7 @@ module Playwright
21
23
  # ```
22
24
  class ConsoleMessage < PlaywrightApi
23
25
 
26
+ #
24
27
  # List of arguments passed to a `console` function call. See also [`event: Page.console`].
25
28
  def args
26
29
  wrap_impl(@impl.args)
@@ -30,11 +33,13 @@ module Playwright
30
33
  wrap_impl(@impl.location)
31
34
  end
32
35
 
36
+ #
33
37
  # The text of the console message.
34
38
  def text
35
39
  wrap_impl(@impl.text)
36
40
  end
37
41
 
42
+ #
38
43
  # One of the following values: `'log'`, `'debug'`, `'info'`, `'error'`, `'warning'`, `'dir'`, `'dirxml'`, `'table'`,
39
44
  # `'trace'`, `'clear'`, `'startGroup'`, `'startGroupCollapsed'`, `'endGroup'`, `'assert'`, `'profile'`, `'profileEnd'`,
40
45
  # `'count'`, `'timeEnd'`.
@@ -44,20 +49,20 @@ module Playwright
44
49
 
45
50
  # -- inherited from EventEmitter --
46
51
  # @nodoc
47
- def once(event, callback)
48
- event_emitter_proxy.once(event, callback)
52
+ def off(event, callback)
53
+ event_emitter_proxy.off(event, callback)
49
54
  end
50
55
 
51
56
  # -- inherited from EventEmitter --
52
57
  # @nodoc
53
- def on(event, callback)
54
- event_emitter_proxy.on(event, callback)
58
+ def once(event, callback)
59
+ event_emitter_proxy.once(event, callback)
55
60
  end
56
61
 
57
62
  # -- inherited from EventEmitter --
58
63
  # @nodoc
59
- def off(event, callback)
60
- event_emitter_proxy.off(event, callback)
64
+ def on(event, callback)
65
+ event_emitter_proxy.on(event, callback)
61
66
  end
62
67
 
63
68
  private def event_emitter_proxy
@@ -1,4 +1,5 @@
1
1
  module Playwright
2
+ #
2
3
  # `Dialog` objects are dispatched by page via the [`event: Page.dialog`] event.
3
4
  #
4
5
  # An example of using `Dialog` class:
@@ -22,32 +23,35 @@ module Playwright
22
23
  # run(playwright)
23
24
  # ```
24
25
  #
25
- # > NOTE: Dialogs are dismissed automatically, unless there is a [`event: Page.dialog`] listener. When listener is
26
- # present, it **must** either [`method: Dialog.accept`] or [`method: Dialog.dismiss`] the dialog - otherwise the page will
27
- # [freeze](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop#never_blocking) waiting for the dialog, and
28
- # actions like click will never finish.
26
+ # **NOTE**: Dialogs are dismissed automatically, unless there is a [`event: Page.dialog`] listener.
27
+ # When listener is present, it **must** either [`method: Dialog.accept`] or [`method: Dialog.dismiss`] the dialog - otherwise the page will [freeze](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop#never_blocking) waiting for the dialog, and actions like click will never finish.
29
28
  class Dialog < PlaywrightApi
30
29
 
30
+ #
31
31
  # Returns when the dialog has been accepted.
32
32
  def accept(promptText: nil)
33
33
  wrap_impl(@impl.accept(promptText: unwrap_impl(promptText)))
34
34
  end
35
35
 
36
+ #
36
37
  # If dialog is prompt, returns default prompt value. Otherwise, returns empty string.
37
38
  def default_value
38
39
  wrap_impl(@impl.default_value)
39
40
  end
40
41
 
42
+ #
41
43
  # Returns when the dialog has been dismissed.
42
44
  def dismiss
43
45
  wrap_impl(@impl.dismiss)
44
46
  end
45
47
 
48
+ #
46
49
  # A message displayed in the dialog.
47
50
  def message
48
51
  wrap_impl(@impl.message)
49
52
  end
50
53
 
54
+ #
51
55
  # Returns dialog's type, can be one of `alert`, `beforeunload`, `confirm` or `prompt`.
52
56
  def type
53
57
  wrap_impl(@impl.type)
@@ -60,20 +64,20 @@ module Playwright
60
64
 
61
65
  # -- inherited from EventEmitter --
62
66
  # @nodoc
63
- def once(event, callback)
64
- event_emitter_proxy.once(event, callback)
67
+ def off(event, callback)
68
+ event_emitter_proxy.off(event, callback)
65
69
  end
66
70
 
67
71
  # -- inherited from EventEmitter --
68
72
  # @nodoc
69
- def on(event, callback)
70
- event_emitter_proxy.on(event, callback)
73
+ def once(event, callback)
74
+ event_emitter_proxy.once(event, callback)
71
75
  end
72
76
 
73
77
  # -- inherited from EventEmitter --
74
78
  # @nodoc
75
- def off(event, callback)
76
- event_emitter_proxy.off(event, callback)
79
+ def on(event, callback)
80
+ event_emitter_proxy.on(event, callback)
77
81
  end
78
82
 
79
83
  private def event_emitter_proxy
@@ -1,7 +1,9 @@
1
1
  module Playwright
2
+ #
2
3
  # `Download` objects are dispatched by page via the [`event: Page.download`] event.
3
4
  #
4
- # All the downloaded files belonging to the browser context are deleted when the browser context is closed.
5
+ # All the downloaded files belonging to the browser context are deleted when the
6
+ # browser context is closed.
5
7
  #
6
8
  # Download event is emitted once the download starts. Download path becomes available once download completes:
7
9
  #
@@ -14,42 +16,49 @@ module Playwright
14
16
  # ```
15
17
  class Download < PlaywrightApi
16
18
 
17
- # Cancels a download. Will not fail if the download is already finished or canceled. Upon successful cancellations,
18
- # `download.failure()` would resolve to `'canceled'`.
19
+ #
20
+ # Cancels a download. Will not fail if the download is already finished or canceled.
21
+ # Upon successful cancellations, `download.failure()` would resolve to `'canceled'`.
19
22
  def cancel
20
23
  wrap_impl(@impl.cancel)
21
24
  end
22
25
 
26
+ #
23
27
  # Deletes the downloaded file. Will wait for the download to finish if necessary.
24
28
  def delete
25
29
  wrap_impl(@impl.delete)
26
30
  end
27
31
 
32
+ #
28
33
  # Returns download error if any. Will wait for the download to finish if necessary.
29
34
  def failure
30
35
  wrap_impl(@impl.failure)
31
36
  end
32
37
 
38
+ #
33
39
  # Get the page that the download belongs to.
34
40
  def page
35
41
  wrap_impl(@impl.page)
36
42
  end
37
43
 
38
- # Returns path to the downloaded file in case of successful download. The method will wait for the download to finish if
39
- # necessary. The method throws when connected remotely.
40
44
  #
41
- # Note that the download's file name is a random GUID, use [`method: Download.suggestedFilename`] to get suggested file
42
- # name.
45
+ # Returns path to the downloaded file in case of successful download. The method will
46
+ # wait for the download to finish if necessary. The method throws when connected remotely.
47
+ #
48
+ # Note that the download's file name is a random GUID, use [`method: Download.suggestedFilename`]
49
+ # to get suggested file name.
43
50
  def path
44
51
  wrap_impl(@impl.path)
45
52
  end
46
53
 
47
- # Copy the download to a user-specified path. It is safe to call this method while the download is still in progress. Will
48
- # wait for the download to finish if necessary.
54
+ #
55
+ # Copy the download to a user-specified path. It is safe to call this method while the download
56
+ # is still in progress. Will wait for the download to finish if necessary.
49
57
  def save_as(path)
50
58
  wrap_impl(@impl.save_as(unwrap_impl(path)))
51
59
  end
52
60
 
61
+ #
53
62
  # Returns suggested filename for this download. It is typically computed by the browser from the
54
63
  # [`Content-Disposition`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition) response header
55
64
  # or the `download` attribute. See the spec on [whatwg](https://html.spec.whatwg.org/#downloading-resources). Different
@@ -58,6 +67,7 @@ module Playwright
58
67
  wrap_impl(@impl.suggested_filename)
59
68
  end
60
69
 
70
+ #
61
71
  # Returns downloaded url.
62
72
  def url
63
73
  wrap_impl(@impl.url)