playwright-ruby-client 1.38.1 → 1.39.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/docs/api/browser.md +13 -9
  3. data/documentation/docs/api/browser_context.md +51 -32
  4. data/documentation/docs/api/browser_type.md +12 -7
  5. data/documentation/docs/api/dialog.md +18 -15
  6. data/documentation/docs/api/element_handle.md +6 -5
  7. data/documentation/docs/api/frame.md +54 -24
  8. data/documentation/docs/api/locator.md +26 -0
  9. data/documentation/docs/api/page.md +101 -48
  10. data/documentation/docs/api/playwright.md +23 -20
  11. data/documentation/docs/api/selectors.md +34 -29
  12. data/documentation/docs/include/api_coverage.md +0 -43
  13. data/lib/playwright/channel.rb +9 -1
  14. data/lib/playwright/channel_owner.rb +7 -2
  15. data/lib/playwright/channel_owners/browser_context.rb +1 -1
  16. data/lib/playwright/channel_owners/local_utils.rb +27 -0
  17. data/lib/playwright/channel_owners/playwright.rb +1 -24
  18. data/lib/playwright/connection.rb +1 -1
  19. data/lib/playwright/console_message_impl.rb +29 -0
  20. data/lib/playwright/errors.rb +0 -2
  21. data/lib/playwright/javascript/value_serializer.rb +1 -1
  22. data/lib/playwright/locator_impl.rb +5 -24
  23. data/lib/playwright/version.rb +2 -2
  24. data/lib/playwright_api/browser.rb +2 -2
  25. data/lib/playwright_api/browser_context.rb +4 -4
  26. data/lib/playwright_api/browser_type.rb +2 -2
  27. data/lib/playwright_api/console_message.rb +0 -22
  28. data/lib/playwright_api/dialog.rb +2 -2
  29. data/lib/playwright_api/element_handle.rb +1 -1
  30. data/lib/playwright_api/frame.rb +7 -7
  31. data/lib/playwright_api/locator.rb +26 -5
  32. data/lib/playwright_api/page.rb +23 -23
  33. data/lib/playwright_api/playwright.rb +4 -4
  34. data/lib/playwright_api/selectors.rb +2 -2
  35. data/sig/playwright.rbs +0 -43
  36. metadata +4 -8
  37. data/documentation/docs/api/locator_assertions.md +0 -684
  38. data/lib/playwright/channel_owners/console_message.rb +0 -25
  39. data/lib/playwright/locator_assertions_impl.rb +0 -417
  40. data/lib/playwright/test.rb +0 -68
  41. data/lib/playwright_api/locator_assertions.rb +0 -538
@@ -28,6 +28,8 @@ module Playwright
28
28
  #
29
29
  # Returns an array of `node.innerText` values for all matching nodes.
30
30
  #
31
+ # **NOTE**: If you need to assert text on the page, prefer [`method: LocatorAssertions.toHaveText`] with `useInnerText` option to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
32
+ #
31
33
  # **Usage**
32
34
  #
33
35
  # ```python sync
@@ -40,6 +42,8 @@ module Playwright
40
42
  #
41
43
  # Returns an array of `node.textContent` values for all matching nodes.
42
44
  #
45
+ # **NOTE**: If you need to assert text on the page, prefer [`method: LocatorAssertions.toHaveText`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
46
+ #
43
47
  # **Usage**
44
48
  #
45
49
  # ```python sync
@@ -192,6 +196,8 @@ module Playwright
192
196
  #
193
197
  # Returns the number of elements matching the locator.
194
198
  #
199
+ # **NOTE**: If you need to assert the number of elements on the page, prefer [`method: LocatorAssertions.toHaveCount`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
200
+ #
195
201
  # **Usage**
196
202
  #
197
203
  # ```python sync
@@ -441,6 +447,8 @@ module Playwright
441
447
 
442
448
  #
443
449
  # Returns the matching element's attribute value.
450
+ #
451
+ # **NOTE**: If you need to assert an element's attribute, prefer [`method: LocatorAssertions.toHaveAttribute`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
444
452
  def get_attribute(name, timeout: nil)
445
453
  wrap_impl(@impl.get_attribute(unwrap_impl(name), timeout: unwrap_impl(timeout)))
446
454
  end
@@ -681,6 +689,8 @@ module Playwright
681
689
 
682
690
  #
683
691
  # Returns the [`element.innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText).
692
+ #
693
+ # **NOTE**: If you need to assert text on the page, prefer [`method: LocatorAssertions.toHaveText`] with `useInnerText` option to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
684
694
  def inner_text(timeout: nil)
685
695
  wrap_impl(@impl.inner_text(timeout: unwrap_impl(timeout)))
686
696
  end
@@ -688,6 +698,8 @@ module Playwright
688
698
  #
689
699
  # Returns the value for the matching `<input>` or `<textarea>` or `<select>` element.
690
700
  #
701
+ # **NOTE**: If you need to assert input value, prefer [`method: LocatorAssertions.toHaveValue`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
702
+ #
691
703
  # **Usage**
692
704
  #
693
705
  # ```python sync
@@ -704,6 +716,8 @@ module Playwright
704
716
  #
705
717
  # Returns whether the element is checked. Throws if the element is not a checkbox or radio input.
706
718
  #
719
+ # **NOTE**: If you need to assert that checkbox is checked, prefer [`method: LocatorAssertions.toBeChecked`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
720
+ #
707
721
  # **Usage**
708
722
  #
709
723
  # ```python sync
@@ -716,6 +730,8 @@ module Playwright
716
730
  #
717
731
  # Returns whether the element is disabled, the opposite of [enabled](../actionability.md#enabled).
718
732
  #
733
+ # **NOTE**: If you need to assert that an element is disabled, prefer [`method: LocatorAssertions.toBeDisabled`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
734
+ #
719
735
  # **Usage**
720
736
  #
721
737
  # ```python sync
@@ -728,6 +744,8 @@ module Playwright
728
744
  #
729
745
  # Returns whether the element is [editable](../actionability.md#editable).
730
746
  #
747
+ # **NOTE**: If you need to assert that an element is editable, prefer [`method: LocatorAssertions.toBeEditable`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
748
+ #
731
749
  # **Usage**
732
750
  #
733
751
  # ```python sync
@@ -740,6 +758,8 @@ module Playwright
740
758
  #
741
759
  # Returns whether the element is [enabled](../actionability.md#enabled).
742
760
  #
761
+ # **NOTE**: If you need to assert that an element is enabled, prefer [`method: LocatorAssertions.toBeEnabled`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
762
+ #
743
763
  # **Usage**
744
764
  #
745
765
  # ```python sync
@@ -752,6 +772,8 @@ module Playwright
752
772
  #
753
773
  # Returns whether the element is hidden, the opposite of [visible](../actionability.md#visible).
754
774
  #
775
+ # **NOTE**: If you need to assert that element is hidden, prefer [`method: LocatorAssertions.toBeHidden`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
776
+ #
755
777
  # **Usage**
756
778
  #
757
779
  # ```python sync
@@ -764,6 +786,8 @@ module Playwright
764
786
  #
765
787
  # Returns whether the element is [visible](../actionability.md#visible).
766
788
  #
789
+ # **NOTE**: If you need to assert that element is visible, prefer [`method: LocatorAssertions.toBeVisible`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
790
+ #
767
791
  # **Usage**
768
792
  #
769
793
  # ```python sync
@@ -1087,6 +1111,8 @@ module Playwright
1087
1111
 
1088
1112
  #
1089
1113
  # Returns the [`node.textContent`](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent).
1114
+ #
1115
+ # **NOTE**: If you need to assert text on the page, prefer [`method: LocatorAssertions.toHaveText`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
1090
1116
  def text_content(timeout: nil)
1091
1117
  wrap_impl(@impl.text_content(timeout: unwrap_impl(timeout)))
1092
1118
  end
@@ -1149,11 +1175,6 @@ module Playwright
1149
1175
  wrap_impl(@impl.wait_for(state: unwrap_impl(state), timeout: unwrap_impl(timeout)))
1150
1176
  end
1151
1177
 
1152
- # @nodoc
1153
- def expect(expression, options)
1154
- wrap_impl(@impl.expect(unwrap_impl(expression), unwrap_impl(options)))
1155
- end
1156
-
1157
1178
  # @nodoc
1158
1179
  def to_s
1159
1180
  wrap_impl(@impl.to_s)
@@ -8,9 +8,9 @@ module Playwright
8
8
  # This example creates a page, navigates it to a URL, and then saves a screenshot:
9
9
  #
10
10
  # ```python sync
11
- # from playwright.sync_api import sync_playwright
11
+ # from playwright.sync_api import sync_playwright, Playwright
12
12
  #
13
- # def run(playwright):
13
+ # def run(playwright: Playwright):
14
14
  # webkit = playwright.webkit
15
15
  # browser = webkit.launch()
16
16
  # context = browser.new_context()
@@ -438,9 +438,9 @@ module Playwright
438
438
  # An example of exposing page URL to all frames in a page:
439
439
  #
440
440
  # ```python sync
441
- # from playwright.sync_api import sync_playwright
441
+ # from playwright.sync_api import sync_playwright, Playwright
442
442
  #
443
- # def run(playwright):
443
+ # def run(playwright: Playwright):
444
444
  # webkit = playwright.webkit
445
445
  # browser = webkit.launch(headless=false)
446
446
  # context = browser.new_context()
@@ -496,7 +496,7 @@ module Playwright
496
496
  #
497
497
  # ```python sync
498
498
  # import hashlib
499
- # from playwright.sync_api import sync_playwright
499
+ # from playwright.sync_api import sync_playwright, Playwright
500
500
  #
501
501
  # def sha256(text):
502
502
  # m = hashlib.sha256()
@@ -504,7 +504,7 @@ module Playwright
504
504
  # return m.hexdigest()
505
505
  #
506
506
  #
507
- # def run(playwright):
507
+ # def run(playwright: Playwright):
508
508
  # webkit = playwright.webkit
509
509
  # browser = webkit.launch(headless=False)
510
510
  # page = browser.new_page()
@@ -1176,7 +1176,7 @@ module Playwright
1176
1176
  # **Usage**
1177
1177
  #
1178
1178
  # ```python sync
1179
- # # single selection matching the value
1179
+ # # Single selection matching the value or label
1180
1180
  # page.select_option("select#colors", "blue")
1181
1181
  # # single selection matching both the label
1182
1182
  # page.select_option("select#colors", label="blue")
@@ -1441,9 +1441,9 @@ module Playwright
1441
1441
  # The [`method: Page.waitForFunction`] can be used to observe viewport size change:
1442
1442
  #
1443
1443
  # ```python sync
1444
- # from playwright.sync_api import sync_playwright
1444
+ # from playwright.sync_api import sync_playwright, Playwright
1445
1445
  #
1446
- # def run(playwright):
1446
+ # def run(playwright: Playwright):
1447
1447
  # webkit = playwright.webkit
1448
1448
  # browser = webkit.launch()
1449
1449
  # page = browser.new_page()
@@ -1587,9 +1587,9 @@ module Playwright
1587
1587
  # This method works across navigations:
1588
1588
  #
1589
1589
  # ```python sync
1590
- # from playwright.sync_api import sync_playwright
1590
+ # from playwright.sync_api import sync_playwright, Playwright
1591
1591
  #
1592
- # def run(playwright):
1592
+ # def run(playwright: Playwright):
1593
1593
  # chromium = playwright.chromium
1594
1594
  # browser = chromium.launch()
1595
1595
  # page = browser.new_page()
@@ -1671,33 +1671,33 @@ module Playwright
1671
1671
  end
1672
1672
 
1673
1673
  # @nodoc
1674
- def owned_context=(req)
1675
- wrap_impl(@impl.owned_context=(unwrap_impl(req)))
1674
+ def stop_css_coverage
1675
+ wrap_impl(@impl.stop_css_coverage)
1676
1676
  end
1677
1677
 
1678
1678
  # @nodoc
1679
- def guid
1680
- wrap_impl(@impl.guid)
1679
+ def stop_js_coverage
1680
+ wrap_impl(@impl.stop_js_coverage)
1681
1681
  end
1682
1682
 
1683
1683
  # @nodoc
1684
- def start_js_coverage(resetOnNavigation: nil, reportAnonymousScripts: nil)
1685
- wrap_impl(@impl.start_js_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
1684
+ def start_css_coverage(resetOnNavigation: nil, reportAnonymousScripts: nil)
1685
+ wrap_impl(@impl.start_css_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
1686
1686
  end
1687
1687
 
1688
1688
  # @nodoc
1689
- def stop_js_coverage
1690
- wrap_impl(@impl.stop_js_coverage)
1689
+ def owned_context=(req)
1690
+ wrap_impl(@impl.owned_context=(unwrap_impl(req)))
1691
1691
  end
1692
1692
 
1693
1693
  # @nodoc
1694
- def start_css_coverage(resetOnNavigation: nil, reportAnonymousScripts: nil)
1695
- wrap_impl(@impl.start_css_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
1694
+ def guid
1695
+ wrap_impl(@impl.guid)
1696
1696
  end
1697
1697
 
1698
1698
  # @nodoc
1699
- def stop_css_coverage
1700
- wrap_impl(@impl.stop_css_coverage)
1699
+ def start_js_coverage(resetOnNavigation: nil, reportAnonymousScripts: nil)
1700
+ wrap_impl(@impl.start_js_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
1701
1701
  end
1702
1702
 
1703
1703
  # -- inherited from EventEmitter --
@@ -4,9 +4,9 @@ module Playwright
4
4
  # to drive automation:
5
5
  #
6
6
  # ```python sync
7
- # from playwright.sync_api import sync_playwright
7
+ # from playwright.sync_api import sync_playwright, Playwright
8
8
  #
9
- # def run(playwright):
9
+ # def run(playwright: Playwright):
10
10
  # chromium = playwright.chromium # or "firefox" or "webkit".
11
11
  # browser = chromium.launch()
12
12
  # page = browser.new_page()
@@ -29,9 +29,9 @@ module Playwright
29
29
  # Returns a dictionary of devices to be used with [`method: Browser.newContext`] or [`method: Browser.newPage`].
30
30
  #
31
31
  # ```python sync
32
- # from playwright.sync_api import sync_playwright
32
+ # from playwright.sync_api import sync_playwright, Playwright
33
33
  #
34
- # def run(playwright):
34
+ # def run(playwright: Playwright):
35
35
  # webkit = playwright.webkit
36
36
  # iphone = playwright.devices["iPhone 6"]
37
37
  # browser = webkit.launch()
@@ -12,9 +12,9 @@ module Playwright
12
12
  # An example of registering selector engine that queries elements based on a tag name:
13
13
  #
14
14
  # ```python sync
15
- # from playwright.sync_api import sync_playwright
15
+ # from playwright.sync_api import sync_playwright, Playwright
16
16
  #
17
- # def run(playwright):
17
+ # def run(playwright: Playwright):
18
18
  # tag_selector = """
19
19
  # {
20
20
  # // Returns the first element matching given selector in the root's subtree.
data/sig/playwright.rbs CHANGED
@@ -538,49 +538,6 @@ module Playwright
538
538
  def put: (String url, ?data: (String | String | untyped), ?failOnStatusCode: bool, ?form: Hash[untyped, untyped], ?headers: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?maxRedirects: Integer, ?multipart: Hash[untyped, untyped], ?params: Hash[untyped, untyped], ?timeout: Float) -> APIResponse
539
539
  end
540
540
 
541
- class LocatorAssertions
542
- def not_to_be_attached: (?attached: bool, ?timeout: Float) -> void
543
- def not_to_be_checked: (?timeout: Float) -> void
544
- def not_to_be_disabled: (?timeout: Float) -> void
545
- def not_to_be_editable: (?editable: bool, ?timeout: Float) -> void
546
- def not_to_be_empty: (?timeout: Float) -> void
547
- def not_to_be_enabled: (?enabled: bool, ?timeout: Float) -> void
548
- def not_to_be_focused: (?timeout: Float) -> void
549
- def not_to_be_hidden: (?timeout: Float) -> void
550
- def not_to_be_in_viewport: (?ratio: Float, ?timeout: Float) -> void
551
- def not_to_be_visible: (?timeout: Float, ?visible: bool) -> void
552
- def not_to_contain_text: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?ignoreCase: bool, ?timeout: Float, ?useInnerText: bool) -> void
553
- def not_to_have_attribute: (String name, (String | Regexp) value, ?timeout: Float) -> void
554
- def not_to_have_class: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?timeout: Float) -> void
555
- def not_to_have_count: (Integer count, ?timeout: Float) -> void
556
- def not_to_have_css: (String name, (String | Regexp) value, ?timeout: Float) -> void
557
- def not_to_have_id: ((String | Regexp) id, ?timeout: Float) -> void
558
- def not_to_have_js_property: (String name, untyped value, ?timeout: Float) -> void
559
- def not_to_have_text: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?ignoreCase: bool, ?timeout: Float, ?useInnerText: bool) -> void
560
- def not_to_have_value: ((String | Regexp) value, ?timeout: Float) -> void
561
- def not_to_have_values: ((Array[untyped] | Array[untyped] | Array[untyped]) values, ?timeout: Float) -> void
562
- def to_be_attached: (?attached: bool, ?timeout: Float) -> void
563
- def to_be_checked: (?checked: bool, ?timeout: Float) -> void
564
- def to_be_disabled: (?timeout: Float) -> void
565
- def to_be_editable: (?editable: bool, ?timeout: Float) -> void
566
- def to_be_empty: (?timeout: Float) -> void
567
- def to_be_enabled: (?enabled: bool, ?timeout: Float) -> void
568
- def to_be_focused: (?timeout: Float) -> void
569
- def to_be_hidden: (?timeout: Float) -> void
570
- def to_be_in_viewport: (?ratio: Float, ?timeout: Float) -> void
571
- def to_be_visible: (?timeout: Float, ?visible: bool) -> void
572
- def to_contain_text: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?ignoreCase: bool, ?timeout: Float, ?useInnerText: bool) -> void
573
- def to_have_attribute: (String name, (String | Regexp) value, ?timeout: Float) -> void
574
- def to_have_class: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?timeout: Float) -> void
575
- def to_have_count: (Integer count, ?timeout: Float) -> void
576
- def to_have_css: (String name, (String | Regexp) value, ?timeout: Float) -> void
577
- def to_have_id: ((String | Regexp) id, ?timeout: Float) -> void
578
- def to_have_js_property: (String name, untyped value, ?timeout: Float) -> void
579
- def to_have_text: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?ignoreCase: bool, ?timeout: Float, ?useInnerText: bool) -> void
580
- def to_have_value: ((String | Regexp) value, ?timeout: Float) -> void
581
- def to_have_values: ((Array[untyped] | Array[untyped] | Array[untyped]) values, ?timeout: Float) -> void
582
- end
583
-
584
541
  class Android
585
542
  def devices: (?host: String, ?omitDriverInstall: bool, ?port: Integer) -> Array[untyped]
586
543
  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: 1.38.1
4
+ version: 1.39.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-05 00:00:00.000000000 Z
11
+ date: 2023-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -233,7 +233,6 @@ files:
233
233
  - documentation/docs/api/js_handle.md
234
234
  - documentation/docs/api/keyboard.md
235
235
  - documentation/docs/api/locator.md
236
- - documentation/docs/api/locator_assertions.md
237
236
  - documentation/docs/api/mouse.md
238
237
  - documentation/docs/api/page.md
239
238
  - documentation/docs/api/playwright.md
@@ -290,7 +289,6 @@ files:
290
289
  - lib/playwright/channel_owners/browser_context.rb
291
290
  - lib/playwright/channel_owners/browser_type.rb
292
291
  - lib/playwright/channel_owners/cdp_session.rb
293
- - lib/playwright/channel_owners/console_message.rb
294
292
  - lib/playwright/channel_owners/dialog.rb
295
293
  - lib/playwright/channel_owners/electron.rb
296
294
  - lib/playwright/channel_owners/element_handle.rb
@@ -310,6 +308,7 @@ files:
310
308
  - lib/playwright/channel_owners/worker.rb
311
309
  - lib/playwright/channel_owners/writable_stream.rb
312
310
  - lib/playwright/connection.rb
311
+ - lib/playwright/console_message_impl.rb
313
312
  - lib/playwright/download_impl.rb
314
313
  - lib/playwright/errors.rb
315
314
  - lib/playwright/event_emitter.rb
@@ -327,7 +326,6 @@ files:
327
326
  - lib/playwright/javascript/value_serializer.rb
328
327
  - lib/playwright/javascript/visitor_info.rb
329
328
  - lib/playwright/keyboard_impl.rb
330
- - lib/playwright/locator_assertions_impl.rb
331
329
  - lib/playwright/locator_impl.rb
332
330
  - lib/playwright/locator_utils.rb
333
331
  - lib/playwright/mouse_impl.rb
@@ -335,7 +333,6 @@ files:
335
333
  - lib/playwright/raw_headers.rb
336
334
  - lib/playwright/route_handler.rb
337
335
  - lib/playwright/select_option_values.rb
338
- - lib/playwright/test.rb
339
336
  - lib/playwright/timeout_settings.rb
340
337
  - lib/playwright/touchscreen_impl.rb
341
338
  - lib/playwright/transport.rb
@@ -369,7 +366,6 @@ files:
369
366
  - lib/playwright_api/js_handle.rb
370
367
  - lib/playwright_api/keyboard.rb
371
368
  - lib/playwright_api/locator.rb
372
- - lib/playwright_api/locator_assertions.rb
373
369
  - lib/playwright_api/mouse.rb
374
370
  - lib/playwright_api/page.rb
375
371
  - lib/playwright_api/playwright.rb
@@ -405,5 +401,5 @@ requirements: []
405
401
  rubygems_version: 3.3.26
406
402
  signing_key:
407
403
  specification_version: 4
408
- summary: The Ruby binding of playwright driver 1.38.1
404
+ summary: The Ruby binding of playwright driver 1.39.0
409
405
  test_files: []