playwright-ruby-client 1.55.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.
@@ -14,7 +14,6 @@ module Playwright
14
14
  @bindings = {}
15
15
  @timeout_settings = TimeoutSettings.new
16
16
  @service_workers = Set.new
17
- @background_pages = Set.new
18
17
  @owner_page = nil
19
18
 
20
19
  @tracing = ChannelOwners::Tracing.from(@initializer['tracing'])
@@ -27,14 +26,11 @@ module Playwright
27
26
  @channel.once('close', ->(_) { on_close })
28
27
  @channel.on('page', ->(params) { on_page(ChannelOwners::Page.from(params['page']) )})
29
28
  @channel.on('route', ->(params) { on_route(ChannelOwners::Route.from(params['route'])) })
30
- @channel.on('backgroundPage', ->(params) {
31
- on_background_page(ChannelOwners::Page.from(params['page']))
32
- })
33
29
  @channel.on('serviceWorker', ->(params) {
34
30
  on_service_worker(ChannelOwners::Worker.from(params['worker']))
35
31
  })
36
32
  @channel.on('console', ->(params) {
37
- on_console_message(ConsoleMessageImpl.new(params))
33
+ on_console_message(ConsoleMessageImpl.new(params, ChannelOwners::Page.from_nullable(params['page'])))
38
34
  })
39
35
  @channel.on('pageError', ->(params) {
40
36
  on_page_error(
@@ -104,11 +100,6 @@ module Playwright
104
100
  page.send(:emit_popup_event_from_browser_context)
105
101
  end
106
102
 
107
- private def on_background_page(page)
108
- @background_pages << page
109
- emit(Events::BrowserContext::BackgroundPage, page)
110
- end
111
-
112
103
  private def on_route(route)
113
104
  route.send(:update_context, self)
114
105
 
@@ -216,7 +207,8 @@ module Playwright
216
207
  end
217
208
 
218
209
  def background_pages
219
- @background_pages.to_a
210
+ puts '[WARNING] BrowserContext#background_pages is deprecated. Returns an empty list.'
211
+ []
220
212
  end
221
213
 
222
214
  def service_workers
@@ -543,10 +535,6 @@ module Playwright
543
535
  @pages.delete(page)
544
536
  end
545
537
 
546
- private def remove_background_page(page)
547
- @background_pages.delete(page)
548
- end
549
-
550
538
  private def remove_service_worker(worker)
551
539
  @service_workers.delete(worker)
552
540
  end
@@ -149,7 +149,6 @@ module Playwright
149
149
  private def on_close
150
150
  @closed = true
151
151
  @browser_context.send(:remove_page, self)
152
- @browser_context.send(:remove_background_page, self)
153
152
  if @closed_or_crashed_promise.pending?
154
153
  @closed_or_crashed_promise.fulfill(close_error_with_reason)
155
154
  end
@@ -639,6 +638,20 @@ module Playwright
639
638
  timeout: timeout)
640
639
  end
641
640
 
641
+ def console_messages
642
+ messages = @channel.send_message_to_server('consoleMessages')
643
+ messages.map do |message|
644
+ ConsoleMessageImpl.new(message, self)
645
+ end
646
+ end
647
+
648
+ def page_errors
649
+ errors = @channel.send_message_to_server('pageErrors')
650
+ errors.map do |error|
651
+ Error.parse(error['error'])
652
+ end
653
+ end
654
+
642
655
  def locator(
643
656
  selector,
644
657
  has: nil,
@@ -826,6 +839,12 @@ module Playwright
826
839
  @workers.to_a
827
840
  end
828
841
 
842
+ def requests
843
+ @channel.send_message_to_server('requests').map do |req|
844
+ ChannelOwners::Request.from(req)
845
+ end
846
+ end
847
+
829
848
  def request
830
849
  @browser_context.request
831
850
  end
@@ -1,11 +1,12 @@
1
1
  module Playwright
2
2
  define_api_implementation :ConsoleMessageImpl do
3
- def initialize(event)
3
+ def initialize(event, page)
4
4
  @event = event
5
+ @page = page
5
6
  end
6
7
 
7
8
  def page
8
- @page ||= ChannelOwners::Page.from_nullable(@event['page'])
9
+ @page
9
10
  end
10
11
 
11
12
  def type
@@ -49,8 +49,11 @@ module Playwright
49
49
  "\n#{message}"
50
50
  end
51
51
 
52
- out = "#{out_message}\nActual value #{actual} #{log}"
53
- raise AssertionError.new(out)
52
+ if result['errorMessage']
53
+ error_message = "\n#{result['errorMessage']}"
54
+ end
55
+ out = "#{out_message}\nActual value #{actual}#{error_message} #{log}"
56
+ raise AssertionError.new(out)
54
57
  else
55
58
  true
56
59
  end
@@ -50,8 +50,11 @@ module Playwright
50
50
  "\n#{message}"
51
51
  end
52
52
 
53
- out = "#{out_message}\nActual value #{actual} #{log}"
54
- raise AssertionError.new(out)
53
+ if result['errorMessage']
54
+ error_message = "\n#{result['errorMessage']}"
55
+ end
56
+ out = "#{out_message}\nActual value #{actual}#{error_message} #{log}"
57
+ raise AssertionError.new(out)
55
58
  else
56
59
  true
57
60
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playwright
4
- VERSION = '1.55.0'
5
- COMPATIBLE_PLAYWRIGHT_VERSION = '1.55.0'
4
+ VERSION = '1.56.0'
5
+ COMPATIBLE_PLAYWRIGHT_VERSION = '1.56.1'
6
6
  end
@@ -72,9 +72,9 @@ 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
@@ -61,7 +61,7 @@ module Playwright
61
61
  # The following example finds a button with a specific title.
62
62
  #
63
63
  # ```python sync
64
- # button = page.get_by_role("button").and_(page.getByTitle("Subscribe"))
64
+ # button = page.get_by_role("button").and_(page.get_by_title("Subscribe"))
65
65
  # ```
66
66
  def and(locator)
67
67
  wrap_impl(@impl.and(unwrap_impl(locator)))
@@ -922,6 +922,18 @@ module Playwright
922
922
  wrap_impl(@impl.visible?(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
923
923
  end
924
924
 
925
+ #
926
+ # Returns up to (currently) 200 last console messages from this page. See [`event: Page.console`] for more details.
927
+ def console_messages
928
+ wrap_impl(@impl.console_messages)
929
+ end
930
+
931
+ #
932
+ # Returns up to (currently) 200 last page errors from this page. See [`event: Page.pageError`] for more details.
933
+ def page_errors
934
+ wrap_impl(@impl.page_errors)
935
+ end
936
+
925
937
  #
926
938
  # The method returns an element locator that can be used to perform actions on this page / frame.
927
939
  # Locator is resolved to the element immediately before performing an action, so a series of actions on the same locator can in fact be performed on different DOM elements. That would happen if the DOM structure between those actions has changed.
@@ -1085,6 +1097,16 @@ module Playwright
1085
1097
  wrap_impl(@impl.query_selector_all(unwrap_impl(selector)))
1086
1098
  end
1087
1099
 
1100
+ #
1101
+ # Returns up to (currently) 100 last network request from this page. See [`event: Page.request`] for more details.
1102
+ #
1103
+ # Returned requests should be accessed immediately, otherwise they might be collected to prevent unbounded memory growth as new requests come in. Once collected, retrieving most information about the request is impossible.
1104
+ #
1105
+ # Note that requests reported through the [`event: Page.request`] request are not collected, so there is a trade off between efficient memory usage with [`method: Page.requests`] and the amount of available information reported through [`event: Page.request`].
1106
+ def requests
1107
+ wrap_impl(@impl.requests)
1108
+ end
1109
+
1088
1110
  #
1089
1111
  # When testing a web page, sometimes unexpected overlays like a "Sign up" dialog appear and block actions you want to automate, e.g. clicking a button. These overlays don't always show up in the same way or at the same time, making them tricky to handle in automated tests.
1090
1112
  #
@@ -1813,11 +1835,6 @@ module Playwright
1813
1835
  wrap_impl(@impl.stop_js_coverage)
1814
1836
  end
1815
1837
 
1816
- # @nodoc
1817
- def start_css_coverage(resetOnNavigation: nil, reportAnonymousScripts: nil)
1818
- wrap_impl(@impl.start_css_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
1819
- end
1820
-
1821
1838
  # @nodoc
1822
1839
  def stop_css_coverage
1823
1840
  wrap_impl(@impl.stop_css_coverage)
@@ -1828,6 +1845,11 @@ module Playwright
1828
1845
  wrap_impl(@impl.owned_context=(unwrap_impl(req)))
1829
1846
  end
1830
1847
 
1848
+ # @nodoc
1849
+ def start_css_coverage(resetOnNavigation: nil, reportAnonymousScripts: nil)
1850
+ wrap_impl(@impl.start_css_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
1851
+ end
1852
+
1831
1853
  # -- inherited from EventEmitter --
1832
1854
  # @nodoc
1833
1855
  def once(event, callback)
@@ -47,13 +47,13 @@ module Playwright
47
47
  end
48
48
 
49
49
  # @nodoc
50
- def page=(req)
51
- wrap_impl(@impl.page=(unwrap_impl(req)))
50
+ def context=(req)
51
+ wrap_impl(@impl.context=(unwrap_impl(req)))
52
52
  end
53
53
 
54
54
  # @nodoc
55
- def context=(req)
56
- wrap_impl(@impl.context=(unwrap_impl(req)))
55
+ def page=(req)
56
+ wrap_impl(@impl.page=(unwrap_impl(req)))
57
57
  end
58
58
 
59
59
  # -- inherited from EventEmitter --
data/sig/playwright.rbs CHANGED
@@ -311,6 +311,8 @@ module Playwright
311
311
  def enabled?: (String selector, ?strict: bool, ?timeout: Float) -> bool
312
312
  def hidden?: (String selector, ?strict: bool, ?timeout: Float) -> bool
313
313
  def visible?: (String selector, ?strict: bool, ?timeout: Float) -> bool
314
+ def console_messages: -> Array[untyped]
315
+ def page_errors: -> Array[untyped]
314
316
  def locator: (String selector, ?has: Locator, ?hasNot: Locator, ?hasNotText: (String | Regexp), ?hasText: (String | Regexp)) -> Locator
315
317
  def main_frame: -> Frame
316
318
  def opener: -> (nil | Page)
@@ -319,6 +321,7 @@ module Playwright
319
321
  def press: (String selector, String key, ?delay: Float, ?noWaitAfter: bool, ?strict: bool, ?timeout: Float) -> void
320
322
  def query_selector: (String selector, ?strict: bool) -> (nil | ElementHandle)
321
323
  def query_selector_all: (String selector) -> Array[untyped]
324
+ def requests: -> Array[untyped]
322
325
  def reload: (?timeout: Float, ?waitUntil: ("load" | "domcontentloaded" | "networkidle" | "commit")) -> (nil | Response)
323
326
  def route: ((String | Regexp | function) url, function handler, ?times: Integer) -> void
324
327
  def route_from_har: ((String | File) har, ?notFound: ("abort" | "fallback"), ?update: bool, ?updateContent: ("embed" | "attach"), ?updateMode: ("full" | "minimal"), ?url: (String | Regexp)) -> void
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playwright-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.55.0
4
+ version: 1.56.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
@@ -199,6 +199,7 @@ extra_rdoc_files: []
199
199
  files:
200
200
  - ".rspec"
201
201
  - CODE_OF_CONDUCT.md
202
+ - CONTRIBUTING.md
202
203
  - Gemfile
203
204
  - LICENSE.txt
204
205
  - README.md
@@ -409,5 +410,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
409
410
  requirements: []
410
411
  rubygems_version: 3.6.9
411
412
  specification_version: 4
412
- summary: The Ruby binding of playwright driver 1.55.0
413
+ summary: The Ruby binding of playwright driver 1.56.1
413
414
  test_files: []