codeceptjs 3.5.8 → 3.5.9-beta.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 (107) hide show
  1. package/README.md +1 -1
  2. package/docs/build/Appium.js +18 -18
  3. package/docs/build/Nightmare.js +51 -52
  4. package/docs/build/Playwright.js +74 -75
  5. package/docs/build/Protractor.js +64 -65
  6. package/docs/build/Puppeteer.js +74 -75
  7. package/docs/build/TestCafe.js +54 -55
  8. package/docs/build/WebDriver.js +79 -80
  9. package/docs/changelog.md +1 -571
  10. package/docs/community-helpers.md +4 -8
  11. package/docs/examples.md +2 -8
  12. package/docs/helpers/Appium.md +18 -18
  13. package/docs/helpers/Nightmare.md +75 -77
  14. package/docs/helpers/Playwright.md +175 -177
  15. package/docs/helpers/Protractor.md +153 -155
  16. package/docs/helpers/Puppeteer.md +146 -148
  17. package/docs/helpers/TestCafe.md +124 -126
  18. package/docs/helpers/WebDriver.md +155 -157
  19. package/docs/webapi/amOnPage.mustache +1 -1
  20. package/docs/webapi/appendField.mustache +1 -1
  21. package/docs/webapi/attachFile.mustache +1 -1
  22. package/docs/webapi/blur.mustache +1 -1
  23. package/docs/webapi/checkOption.mustache +1 -1
  24. package/docs/webapi/clearCookie.mustache +1 -2
  25. package/docs/webapi/clearField.mustache +1 -1
  26. package/docs/webapi/click.mustache +1 -1
  27. package/docs/webapi/clickLink.mustache +1 -1
  28. package/docs/webapi/closeCurrentTab.mustache +1 -1
  29. package/docs/webapi/closeOtherTabs.mustache +1 -1
  30. package/docs/webapi/dontSee.mustache +1 -1
  31. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +1 -1
  32. package/docs/webapi/dontSeeCookie.mustache +1 -1
  33. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +1 -1
  34. package/docs/webapi/dontSeeElement.mustache +1 -1
  35. package/docs/webapi/dontSeeElementInDOM.mustache +1 -1
  36. package/docs/webapi/dontSeeInCurrentUrl.mustache +1 -1
  37. package/docs/webapi/dontSeeInField.mustache +1 -1
  38. package/docs/webapi/dontSeeInSource.mustache +1 -1
  39. package/docs/webapi/dontSeeInTitle.mustache +1 -1
  40. package/docs/webapi/doubleClick.mustache +1 -1
  41. package/docs/webapi/downloadFile.mustache +1 -1
  42. package/docs/webapi/dragAndDrop.mustache +1 -1
  43. package/docs/webapi/dragSlider.mustache +1 -1
  44. package/docs/webapi/fillField.mustache +1 -1
  45. package/docs/webapi/focus.mustache +1 -1
  46. package/docs/webapi/forceClick.mustache +1 -1
  47. package/docs/webapi/forceRightClick.mustache +1 -1
  48. package/docs/webapi/grabDataFromPerformanceTiming.mustache +1 -1
  49. package/docs/webapi/moveCursorTo.mustache +1 -1
  50. package/docs/webapi/openNewTab.mustache +1 -1
  51. package/docs/webapi/pressKey.mustache +1 -1
  52. package/docs/webapi/pressKeyDown.mustache +1 -1
  53. package/docs/webapi/pressKeyUp.mustache +1 -1
  54. package/docs/webapi/pressKeyWithKeyNormalization.mustache +1 -1
  55. package/docs/webapi/refreshPage.mustache +1 -1
  56. package/docs/webapi/resizeWindow.mustache +1 -1
  57. package/docs/webapi/rightClick.mustache +1 -1
  58. package/docs/webapi/saveElementScreenshot.mustache +1 -1
  59. package/docs/webapi/saveScreenshot.mustache +1 -1
  60. package/docs/webapi/say.mustache +1 -1
  61. package/docs/webapi/scrollIntoView.mustache +1 -1
  62. package/docs/webapi/scrollPageToBottom.mustache +1 -1
  63. package/docs/webapi/scrollPageToTop.mustache +1 -1
  64. package/docs/webapi/scrollTo.mustache +1 -1
  65. package/docs/webapi/see.mustache +1 -1
  66. package/docs/webapi/seeAttributesOnElements.mustache +1 -1
  67. package/docs/webapi/seeCheckboxIsChecked.mustache +1 -1
  68. package/docs/webapi/seeCookie.mustache +1 -1
  69. package/docs/webapi/seeCssPropertiesOnElements.mustache +1 -1
  70. package/docs/webapi/seeCurrentUrlEquals.mustache +1 -1
  71. package/docs/webapi/seeElement.mustache +1 -1
  72. package/docs/webapi/seeElementInDOM.mustache +1 -1
  73. package/docs/webapi/seeInCurrentUrl.mustache +1 -1
  74. package/docs/webapi/seeInField.mustache +1 -1
  75. package/docs/webapi/seeInPopup.mustache +1 -1
  76. package/docs/webapi/seeInSource.mustache +1 -1
  77. package/docs/webapi/seeInTitle.mustache +1 -1
  78. package/docs/webapi/seeNumberOfElements.mustache +1 -1
  79. package/docs/webapi/seeNumberOfVisibleElements.mustache +1 -1
  80. package/docs/webapi/seeTextEquals.mustache +1 -1
  81. package/docs/webapi/seeTitleEquals.mustache +1 -1
  82. package/docs/webapi/selectOption.mustache +1 -1
  83. package/docs/webapi/setCookie.mustache +1 -1
  84. package/docs/webapi/setGeoLocation.mustache +1 -1
  85. package/docs/webapi/switchTo.mustache +1 -1
  86. package/docs/webapi/switchToNextTab.mustache +1 -1
  87. package/docs/webapi/switchToPreviousTab.mustache +1 -1
  88. package/docs/webapi/type.mustache +1 -1
  89. package/docs/webapi/uncheckOption.mustache +1 -1
  90. package/docs/webapi/wait.mustache +1 -1
  91. package/docs/webapi/waitForClickable.mustache +1 -1
  92. package/docs/webapi/waitForDetached.mustache +1 -1
  93. package/docs/webapi/waitForElement.mustache +1 -1
  94. package/docs/webapi/waitForEnabled.mustache +1 -1
  95. package/docs/webapi/waitForFunction.mustache +1 -1
  96. package/docs/webapi/waitForInvisible.mustache +1 -1
  97. package/docs/webapi/waitForText.mustache +1 -1
  98. package/docs/webapi/waitForValue.mustache +1 -1
  99. package/docs/webapi/waitForVisible.mustache +1 -1
  100. package/docs/webapi/waitInUrl.mustache +1 -1
  101. package/docs/webapi/waitNumberOfVisibleElements.mustache +1 -1
  102. package/docs/webapi/waitToHide.mustache +1 -1
  103. package/docs/webapi/waitUrlEquals.mustache +1 -1
  104. package/lib/helper/Playwright.js +2 -2
  105. package/package.json +1 -1
  106. package/typings/promiseBasedTypes.d.ts +418 -1007
  107. package/typings/types.d.ts +418 -424
@@ -49,7 +49,7 @@ Type: [object][5]
49
49
  - `restart` **([string][8] | [boolean][25])?** restart strategy between tests. Possible values:- 'context' or **false** - restarts [browser context][42] but keeps running browser. Recommended by Playwright team to keep tests isolated.
50
50
  - 'browser' or **true** - closes browser and opens it again between tests.
51
51
  - 'session' or 'keep' - keeps browser context and session, but cleans up cookies and localStorage between tests. The fastest option when running tests in windowed mode. Works with `keepCookies` and `keepBrowserState` options. This behavior was default before CodeceptJS 3.1
52
- - `timeout` **[number][20]?** - [timeout][43] in ms of all Playwright actions .
52
+ - `timeout` **[number][19]?** - [timeout][43] in ms of all Playwright actions .
53
53
  - `disableScreenshots` **[boolean][25]?** don't save screenshot on failure.
54
54
  - `emulate` **any?** browser in device emulation mode.
55
55
  - `video` **[boolean][25]?** enables video recording for failed tests; videos are saved into `output/videos` folder
@@ -60,11 +60,11 @@ Type: [object][5]
60
60
  - `uniqueScreenshotNames` **[boolean][25]?** option to prevent screenshot override if you have scenarios with the same name in different suites.
61
61
  - `keepBrowserState` **[boolean][25]?** keep browser state between tests when `restart` is set to 'session'.
62
62
  - `keepCookies` **[boolean][25]?** keep cookies between tests when `restart` is set to 'session'.
63
- - `waitForAction` **[number][20]?** how long to wait after click, doubleClick or PressKey actions in ms. Default: 100.
63
+ - `waitForAction` **[number][19]?** how long to wait after click, doubleClick or PressKey actions in ms. Default: 100.
64
64
  - `waitForNavigation` **(`"load"` | `"domcontentloaded"` | `"commit"`)?** When to consider navigation succeeded. Possible options: `load`, `domcontentloaded`, `commit`. Choose one of those options is possible. See [Playwright API][40].
65
- - `pressKeyDelay` **[number][20]?** Delay between key presses in ms. Used when calling Playwrights page.type(...) in fillField/appendField
66
- - `getPageTimeout` **[number][20]?** config option to set maximum navigation time in milliseconds.
67
- - `waitForTimeout` **[number][20]?** default wait* timeout in ms. Default: 1000.
65
+ - `pressKeyDelay` **[number][19]?** Delay between key presses in ms. Used when calling Playwrights page.type(...) in fillField/appendField
66
+ - `getPageTimeout` **[number][19]?** config option to set maximum navigation time in milliseconds.
67
+ - `waitForTimeout` **[number][19]?** default wait* timeout in ms. Default: 1000.
68
68
  - `basicAuth` **[object][5]?** the basic authentication to pass to base url. Example: {username: 'username', password: 'password'}
69
69
  - `windowSize` **[string][8]?** default window size. Set a dimension like `640x480`.
70
70
  - `colorScheme` **(`"dark"` | `"light"` | `"no-preference"`)?** default color scheme. Possible values: `dark` | `light` | `no-preference`.
@@ -75,7 +75,7 @@ Type: [object][5]
75
75
  - `firefox` **[object][5]?** pass additional firefox options
76
76
  - `electron` **[object][5]?** (pass additional electron options
77
77
  - `channel` **any?** (While Playwright can operate against the stock Google Chrome and Microsoft Edge browsers available on the machine. In particular, current Playwright version will support Stable and Beta channels of these browsers. See [Google Chrome & Microsoft Edge][45].
78
- - `ignoreLog` **[Array][10]<[string][8]>?** An array with console message types that are not logged to debug log. Default value is `['warning', 'log']`. E.g. you can set `[]` to log all messages. See all possible [values][46].
78
+ - `ignoreLog` **[Array][9]<[string][8]>?** An array with console message types that are not logged to debug log. Default value is `['warning', 'log']`. E.g. you can set `[]` to log all messages. See all possible [values][46].
79
79
  - `ignoreHTTPSErrors` **[boolean][25]?** Allows access to untrustworthy pages, e.g. to a page with an expired certificate. Default value is `false`
80
80
  - `bypassCSP` **[boolean][25]?** bypass Content Security Policy or CSP
81
81
  - `highlightElement` **[boolean][25]?** highlight the interacting elements. Default: false. Note: only activate under verbose mode (--verbose).
@@ -404,7 +404,7 @@ I.amOnPage('/login'); // opens a login page
404
404
 
405
405
  - `url` **[string][8]** url path or global url.
406
406
 
407
- Returns **[Promise][9]<void>** automatically synchronized promise through #recorder
407
+ Returns **void** automatically synchronized promise through #recorder
408
408
 
409
409
  ### appendField
410
410
 
@@ -422,7 +422,7 @@ I.appendField('password', secret('123456'));
422
422
  - `field` **([string][8] | [object][5])** located by label|name|CSS|XPath|strict locator
423
423
  - `value` **[string][8]** text value to append.
424
424
 
425
- Returns **[Promise][9]<void>** automatically synchronized promise through #recorder
425
+ Returns **void** automatically synchronized promise through #recorder
426
426
 
427
427
  ### attachFile
428
428
 
@@ -440,7 +440,7 @@ I.attachFile('form input[name=avatar]', 'data/avatar.jpg');
440
440
  - `locator` **([string][8] | [object][5])** field located by label|name|CSS|XPath|strict locator.
441
441
  - `pathToFile` **[string][8]** local file path relative to codecept.conf.ts or codecept.conf.js config file.
442
442
 
443
- Returns **[Promise][9]<void>** automatically synchronized promise through #recorder
443
+ Returns **void** automatically synchronized promise through #recorder
444
444
 
445
445
  ### blockTraffic
446
446
 
@@ -461,12 +461,12 @@ I.blockTraffic(['http://example.com/css/style.css', 'http://example.com/css/*.cs
461
461
 
462
462
  #### Parameters
463
463
 
464
- - `urls` **([string][8] | [Array][10] | [RegExp][11])** URL or a list of URLs to block . URL can contain * for wildcards. Example: [https://www.example.com**][12] to block all traffic for that domain. Regexp are also supported.
464
+ - `urls` **([string][8] | [Array][9] | [RegExp][10])** URL or a list of URLs to block . URL can contain * for wildcards. Example: [https://www.example.com**][11] to block all traffic for that domain. Regexp are also supported.
465
465
 
466
466
  ### blur
467
467
 
468
468
  Remove focus from a text input, button, etc.
469
- Calls [blur][13] on the element.
469
+ Calls [blur][12] on the element.
470
470
 
471
471
  Examples:
472
472
 
@@ -484,9 +484,9 @@ I.dontSee('#add-to-cart-btn');
484
484
  #### Parameters
485
485
 
486
486
  - `locator` **([string][8] | [object][5])** field located by label|name|CSS|XPath|strict locator.
487
- - `options` **any?** Playwright only: [Additional options][14] for available options object as 2nd argument.
487
+ - `options` **any?** Playwright only: [Additional options][13] for available options object as 2nd argument.
488
488
 
489
- Returns **[Promise][9]<void>** automatically synchronized promise through #recorder
489
+ Returns **void** automatically synchronized promise through #recorder
490
490
 
491
491
  ### cancelPopup
492
492
 
@@ -511,7 +511,7 @@ I.checkOption('agree', '//form');
511
511
  - `context` **([string][8]? | [object][5])** (optional, `null` by default) element located by CSS | XPath | strict locator.
512
512
  - `options`
513
513
 
514
- Returns **[Promise][9]<void>** automatically synchronized promise through #recorder[Additional options][15] for check available as 3rd argument.Examples:```js
514
+ Returns **void** automatically synchronized promise through #recorder[Additional options][14] for check available as 3rd argument.Examples:```js
515
515
  // click on element at position
516
516
  I.checkOption('Agree', '.signup', { position: { x: 5, y: 5 } })
517
517
  ```> ⚠️ To avoid flakiness, option `force: true` is set by default
@@ -523,15 +523,13 @@ if none provided clears all cookies.
523
523
 
524
524
  ```js
525
525
  I.clearCookie();
526
- I.clearCookie('test');
526
+ I.clearCookie('test'); // Playwright currently doesn't support clear a particular cookie name
527
527
  ```
528
528
 
529
529
  #### Parameters
530
530
 
531
531
  - `cookie` **[string][8]?** (optional, `null` by default) cookie name
532
532
 
533
- Returns **[Promise][9]<void>** automatically synchronized promise through #recorder
534
-
535
533
  ### clearField
536
534
 
537
535
  Clears the text input element: `<input>`, `<textarea>` or `[contenteditable]` .
@@ -545,12 +543,12 @@ I.clearField('.text-area')
545
543
  I.clearField('#submit', { force: true })
546
544
  ```
547
545
 
548
- Use `force` to bypass the [actionability][16] checks.
546
+ Use `force` to bypass the [actionability][15] checks.
549
547
 
550
548
  #### Parameters
551
549
 
552
550
  - `locator` **([string][8] | [object][5])** field located by label|name|CSS|XPath|strict locator.
553
- - `options` **any?** [Additional options][17] for available options object as 2nd argument.
551
+ - `options` **any?** [Additional options][16] for available options object as 2nd argument.
554
552
 
555
553
  ### click
556
554
 
@@ -580,7 +578,7 @@ I.click({css: 'nav a.login'});
580
578
 
581
579
  - `locator` **([string][8] | [object][5])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
582
580
  - `context` **([string][8]? | [object][5] | null)** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
583
- - `options` **any?** [Additional options][18] for click available as 3rd argument.Examples:```js
581
+ - `options` **any?** [Additional options][17] for click available as 3rd argument.Examples:```js
584
582
  // click on element at position
585
583
  I.click('canvas', '.model', { position: { x: 20, y: 40 } })
586
584
 
@@ -588,7 +586,7 @@ I.click({css: 'nav a.login'});
588
586
  I.click('.edit', null, { modifiers: ['Ctrl'] } )
589
587
  ```
590
588
 
591
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
589
+ Returns **void** automatically synchronized promise through #recorder
592
590
 
593
591
  ### clickLink
594
592
 
@@ -630,7 +628,7 @@ I.dontSee('Login', '.nav'); // no login inside .nav element
630
628
  - `text` **[string][8]** which is not present.
631
629
  - `context` **([string][8] | [object][5])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
632
630
 
633
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
631
+ Returns **void** automatically synchronized promise through #recorder
634
632
 
635
633
  ### dontSeeCheckboxIsChecked
636
634
 
@@ -646,7 +644,7 @@ I.dontSeeCheckboxIsChecked('agree'); // located by name
646
644
 
647
645
  - `field` **([string][8] | [object][5])** located by label|name|CSS|XPath|strict locator.
648
646
 
649
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
647
+ Returns **void** automatically synchronized promise through #recorder
650
648
 
651
649
  ### dontSeeCookie
652
650
 
@@ -660,7 +658,7 @@ I.dontSeeCookie('auth'); // no auth cookie
660
658
 
661
659
  - `name` **[string][8]** cookie name.
662
660
 
663
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
661
+ Returns **void** automatically synchronized promise through #recorder
664
662
 
665
663
  ### dontSeeCurrentUrlEquals
666
664
 
@@ -676,7 +674,7 @@ I.dontSeeCurrentUrlEquals('http://mysite.com/login'); // absolute urls are also
676
674
 
677
675
  - `url` **[string][8]** value to check.
678
676
 
679
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
677
+ Returns **void** automatically synchronized promise through #recorder
680
678
 
681
679
  ### dontSeeElement
682
680
 
@@ -690,7 +688,7 @@ I.dontSeeElement('.modal'); // modal is not shown
690
688
 
691
689
  - `locator` **([string][8] | [object][5])** located by CSS|XPath|Strict locator.
692
690
 
693
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
691
+ Returns **void** automatically synchronized promise through #recorder
694
692
 
695
693
  ### dontSeeElementInDOM
696
694
 
@@ -704,7 +702,7 @@ I.dontSeeElementInDOM('.nav'); // checks that element is not on page visible or
704
702
 
705
703
  - `locator` **([string][8] | [object][5])** located by CSS|XPath|Strict locator.
706
704
 
707
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
705
+ Returns **void** automatically synchronized promise through #recorder
708
706
 
709
707
  ### dontSeeInCurrentUrl
710
708
 
@@ -714,7 +712,7 @@ Checks that current url does not contain a provided fragment.
714
712
 
715
713
  - `url` **[string][8]** value to check.
716
714
 
717
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
715
+ Returns **void** automatically synchronized promise through #recorder
718
716
 
719
717
  ### dontSeeInField
720
718
 
@@ -731,7 +729,7 @@ I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
731
729
  - `field` **([string][8] | [object][5])** located by label|name|CSS|XPath|strict locator.
732
730
  - `value` **([string][8] | [object][5])** value to check.
733
731
 
734
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
732
+ Returns **void** automatically synchronized promise through #recorder
735
733
 
736
734
  ### dontSeeInSource
737
735
 
@@ -746,7 +744,7 @@ I.dontSeeInSource('<!--'); // no comments in source
746
744
  - `text`
747
745
  - `value` **[string][8]** to check.
748
746
 
749
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
747
+ Returns **void** automatically synchronized promise through #recorder
750
748
 
751
749
  ### dontSeeInTitle
752
750
 
@@ -760,7 +758,7 @@ I.dontSeeInTitle('Error');
760
758
 
761
759
  - `text` **[string][8]** value to check.
762
760
 
763
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
761
+ Returns **void** automatically synchronized promise through #recorder
764
762
 
765
763
  ### dontSeeTraffic
766
764
 
@@ -777,7 +775,7 @@ I.dontSeeTraffic({ name: 'Unexpected API Call of "user" endpoint', url: /api.exa
777
775
 
778
776
  - `opts` **[Object][5]** options when checking the traffic network.
779
777
  - `opts.name` **[string][8]** A name of that request. Can be any value. Only relevant to have a more meaningful error message in case of fail.
780
- - `opts.url` **([string][8] | [RegExp][11])** Expected URL of request in network traffic. Can be a string or a regular expression.
778
+ - `opts.url` **([string][8] | [RegExp][10])** Expected URL of request in network traffic. Can be a string or a regular expression.
781
779
 
782
780
  ### doubleClick
783
781
 
@@ -796,7 +794,7 @@ I.doubleClick('.btn.edit');
796
794
  - `locator` **([string][8] | [object][5])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
797
795
  - `context` **([string][8]? | [object][5])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
798
796
 
799
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
797
+ Returns **void** automatically synchronized promise through #recorder
800
798
 
801
799
  ### dragAndDrop
802
800
 
@@ -810,12 +808,12 @@ I.dragAndDrop('#dragHandle', '#container');
810
808
 
811
809
  - `srcElement` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
812
810
  - `destElement` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
813
- - `options` **any?** [Additional options][19] can be passed as 3rd argument.```js
811
+ - `options` **any?** [Additional options][18] can be passed as 3rd argument.```js
814
812
  // specify coordinates for source position
815
813
  I.dragAndDrop('img.src', 'img.dst', { sourcePosition: {x: 10, y: 10} })
816
814
  ```> When no option is set, custom drag and drop would be used, to use the dragAndDrop API from Playwright, please set options, for example `force: true`
817
815
 
818
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
816
+ Returns **void** automatically synchronized promise through #recorder
819
817
 
820
818
  ### dragSlider
821
819
 
@@ -830,9 +828,9 @@ I.dragSlider('#slider', -70);
830
828
  #### Parameters
831
829
 
832
830
  - `locator` **([string][8] | [object][5])** located by label|name|CSS|XPath|strict locator.
833
- - `offsetX` **[number][20]** position to drag.
831
+ - `offsetX` **[number][19]** position to drag.
834
832
 
835
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
833
+ Returns **void** automatically synchronized promise through #recorder
836
834
 
837
835
  ### executeScript
838
836
 
@@ -859,10 +857,10 @@ If a function returns a Promise it will wait for its resolution.
859
857
 
860
858
  #### Parameters
861
859
 
862
- - `fn` **([string][8] | [function][21])** function to be executed in browser context.
860
+ - `fn` **([string][8] | [function][20])** function to be executed in browser context.
863
861
  - `arg` **any?** optional argument to pass to the function
864
862
 
865
- Returns **[Promise][9]&lt;any>**
863
+ Returns **[Promise][21]&lt;any>**
866
864
 
867
865
  ### fillField
868
866
 
@@ -885,7 +883,7 @@ I.fillField({css: 'form#login input[name=username]'}, 'John');
885
883
  - `field` **([string][8] | [object][5])** located by label|name|CSS|XPath|strict locator.
886
884
  - `value` **([string][8] | [object][5])** text value to fill.
887
885
 
888
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
886
+ Returns **void** automatically synchronized promise through #recorder
889
887
 
890
888
  ### flushNetworkTraffics
891
889
 
@@ -897,7 +895,7 @@ Resets all recorded WS messages.
897
895
 
898
896
  ### focus
899
897
 
900
- Calls [focus][13] on the matching element.
898
+ Calls [focus][12] on the matching element.
901
899
 
902
900
  Examples:
903
901
 
@@ -912,7 +910,7 @@ I.see('#add-to-cart-bnt');
912
910
  - `locator` **([string][8] | [object][5])** field located by label|name|CSS|XPath|strict locator.
913
911
  - `options` **any?** Playwright only: [Additional options][22] for available options object as 2nd argument.
914
912
 
915
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
913
+ Returns **void** automatically synchronized promise through #recorder
916
914
 
917
915
  ### forceClick
918
916
 
@@ -946,7 +944,7 @@ I.forceClick({css: 'nav a.login'});
946
944
  - `locator` **([string][8] | [object][5])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
947
945
  - `context` **([string][8]? | [object][5])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
948
946
 
949
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
947
+ Returns **void** automatically synchronized promise through #recorder
950
948
 
951
949
  ### grabAttributeFrom
952
950
 
@@ -963,7 +961,7 @@ let hint = await I.grabAttributeFrom('#tooltip', 'title');
963
961
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
964
962
  - `attr` **[string][8]** attribute name.
965
963
 
966
- Returns **[Promise][9]&lt;[string][8]>** attribute value
964
+ Returns **[Promise][21]&lt;[string][8]>** attribute value
967
965
 
968
966
  ### grabAttributeFromAll
969
967
 
@@ -979,7 +977,7 @@ let hints = await I.grabAttributeFromAll('.tooltip', 'title');
979
977
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
980
978
  - `attr` **[string][8]** attribute name.
981
979
 
982
- Returns **[Promise][9]&lt;[Array][10]&lt;[string][8]>>** attribute value
980
+ Returns **[Promise][21]&lt;[Array][9]&lt;[string][8]>>** attribute value
983
981
 
984
982
  ### grabBrowserLogs
985
983
 
@@ -993,7 +991,7 @@ console.log(JSON.stringify(errors));
993
991
 
994
992
  [Learn more about console messages][23]
995
993
 
996
- Returns **[Promise][9]&lt;[Array][10]&lt;any>>**
994
+ Returns **[Promise][21]&lt;[Array][9]&lt;any>>**
997
995
 
998
996
  ### grabCheckedElementStatus
999
997
 
@@ -1004,7 +1002,7 @@ Return the checked status of given element.
1004
1002
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1005
1003
  - `options` **[object][5]?** See [https://playwright.dev/docs/api/class-locator#locator-is-checked][24]
1006
1004
 
1007
- Returns **[Promise][9]&lt;[boolean][25]>**
1005
+ Returns **[Promise][21]&lt;[boolean][25]>**
1008
1006
 
1009
1007
  ### grabCookie
1010
1008
 
@@ -1038,7 +1036,7 @@ const value = await I.grabCssPropertyFrom('h3', 'font-weight');
1038
1036
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1039
1037
  - `cssProperty` **[string][8]** CSS property name.
1040
1038
 
1041
- Returns **[Promise][9]&lt;[string][8]>** CSS value
1039
+ Returns **[Promise][21]&lt;[string][8]>** CSS value
1042
1040
 
1043
1041
  ### grabCssPropertyFromAll
1044
1042
 
@@ -1054,7 +1052,7 @@ const values = await I.grabCssPropertyFromAll('h3', 'font-weight');
1054
1052
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1055
1053
  - `cssProperty` **[string][8]** CSS property name.
1056
1054
 
1057
- Returns **[Promise][9]&lt;[Array][10]&lt;[string][8]>>** CSS value
1055
+ Returns **[Promise][21]&lt;[Array][9]&lt;[string][8]>>** CSS value
1058
1056
 
1059
1057
  ### grabCurrentUrl
1060
1058
 
@@ -1066,7 +1064,7 @@ let url = await I.grabCurrentUrl();
1066
1064
  console.log(`Current URL is [${url}]`);
1067
1065
  ```
1068
1066
 
1069
- Returns **[Promise][9]&lt;[string][8]>** current URL
1067
+ Returns **[Promise][21]&lt;[string][8]>** current URL
1070
1068
 
1071
1069
  ### grabDataFromPerformanceTiming
1072
1070
 
@@ -1091,7 +1089,7 @@ let data = await I.grabDataFromPerformanceTiming();
1091
1089
  }
1092
1090
  ```
1093
1091
 
1094
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1092
+ Returns **void** automatically synchronized promise through #recorder
1095
1093
 
1096
1094
  ### grabDisabledElementStatus
1097
1095
 
@@ -1102,7 +1100,7 @@ Return the disabled status of given element.
1102
1100
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1103
1101
  - `options` **[object][5]?** See [https://playwright.dev/docs/api/class-locator#locator-is-disabled][26]
1104
1102
 
1105
- Returns **[Promise][9]&lt;[boolean][25]>**
1103
+ Returns **[Promise][21]&lt;[boolean][25]>**
1106
1104
 
1107
1105
  ### grabElementBoundingRect
1108
1106
 
@@ -1130,7 +1128,7 @@ const width = await I.grabElementBoundingRect('h3', 'width');
1130
1128
  - `prop`
1131
1129
  - `elementSize` **[string][8]?** x, y, width or height of the given element.
1132
1130
 
1133
- Returns **([Promise][9]&lt;DOMRect> | [Promise][9]&lt;[number][20]>)** Element bounding rectangle
1131
+ Returns **([Promise][21]&lt;DOMRect> | [Promise][21]&lt;[number][19]>)** Element bounding rectangle
1134
1132
 
1135
1133
  ### grabHTMLFrom
1136
1134
 
@@ -1147,7 +1145,7 @@ let postHTML = await I.grabHTMLFrom('#post');
1147
1145
  - `locator`
1148
1146
  - `element` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
1149
1147
 
1150
- Returns **[Promise][9]&lt;[string][8]>** HTML code for an element
1148
+ Returns **[Promise][21]&lt;[string][8]>** HTML code for an element
1151
1149
 
1152
1150
  ### grabHTMLFromAll
1153
1151
 
@@ -1163,7 +1161,7 @@ let postHTMLs = await I.grabHTMLFromAll('.post');
1163
1161
  - `locator`
1164
1162
  - `element` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
1165
1163
 
1166
- Returns **[Promise][9]&lt;[Array][10]&lt;[string][8]>>** HTML code for an element
1164
+ Returns **[Promise][21]&lt;[Array][9]&lt;[string][8]>>** HTML code for an element
1167
1165
 
1168
1166
  ### grabMetrics
1169
1167
 
@@ -1217,7 +1215,7 @@ const metrics = await I.grabMetrics();
1217
1215
  ]
1218
1216
  ```
1219
1217
 
1220
- Returns **[Promise][9]&lt;[Array][10]&lt;[Object][5]>>**
1218
+ Returns **[Promise][21]&lt;[Array][9]&lt;[Object][5]>>**
1221
1219
 
1222
1220
  ### grabNumberOfOpenTabs
1223
1221
 
@@ -1228,7 +1226,7 @@ Resumes test execution, so **should be used inside async function with `await`**
1228
1226
  let tabs = await I.grabNumberOfOpenTabs();
1229
1227
  ```
1230
1228
 
1231
- Returns **[Promise][9]&lt;[number][20]>** number of open tabs
1229
+ Returns **[Promise][21]&lt;[number][19]>** number of open tabs
1232
1230
 
1233
1231
  ### grabNumberOfVisibleElements
1234
1232
 
@@ -1243,7 +1241,7 @@ let numOfElements = await I.grabNumberOfVisibleElements('p');
1243
1241
 
1244
1242
  - `locator` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
1245
1243
 
1246
- Returns **[Promise][9]&lt;[number][20]>** number of visible elements
1244
+ Returns **[Promise][21]&lt;[number][19]>** number of visible elements
1247
1245
 
1248
1246
  ### grabPageScrollPosition
1249
1247
 
@@ -1254,7 +1252,7 @@ Resumes test execution, so **should be used inside an async function with `await
1254
1252
  let { x, y } = await I.grabPageScrollPosition();
1255
1253
  ```
1256
1254
 
1257
- Returns **[Promise][9]&lt;PageScrollPosition>** scroll position
1255
+ Returns **[Promise][21]&lt;PageScrollPosition>** scroll position
1258
1256
 
1259
1257
  ### grabPopupText
1260
1258
 
@@ -1264,7 +1262,7 @@ Grab the text within the popup. If no popup is visible then it will return null
1264
1262
  await I.grabPopupText();
1265
1263
  ```
1266
1264
 
1267
- Returns **[Promise][9]&lt;([string][8] | null)>**
1265
+ Returns **[Promise][21]&lt;([string][8] | null)>**
1268
1266
 
1269
1267
  ### grabRecordedNetworkTraffics
1270
1268
 
@@ -1277,7 +1275,7 @@ expect(traffics[0].response.status).to.equal(200);
1277
1275
  expect(traffics[0].response.body).to.contain({ name: 'this was mocked' });
1278
1276
  ```
1279
1277
 
1280
- Returns **[Promise][9]&lt;[Array][10]&lt;any>>**
1278
+ Returns **[Promise][21]&lt;[Array][9]&lt;any>>**
1281
1279
 
1282
1280
  ### grabSource
1283
1281
 
@@ -1288,7 +1286,7 @@ Resumes test execution, so **should be used inside async function with `await`**
1288
1286
  let pageSource = await I.grabSource();
1289
1287
  ```
1290
1288
 
1291
- Returns **[Promise][9]&lt;[string][8]>** source code
1289
+ Returns **[Promise][21]&lt;[string][8]>** source code
1292
1290
 
1293
1291
  ### grabTextFrom
1294
1292
 
@@ -1305,7 +1303,7 @@ If multiple elements found returns first element.
1305
1303
 
1306
1304
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1307
1305
 
1308
- Returns **[Promise][9]&lt;[string][8]>** attribute value
1306
+ Returns **[Promise][21]&lt;[string][8]>** attribute value
1309
1307
 
1310
1308
  ### grabTextFromAll
1311
1309
 
@@ -1320,7 +1318,7 @@ let pins = await I.grabTextFromAll('#pin li');
1320
1318
 
1321
1319
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1322
1320
 
1323
- Returns **[Promise][9]&lt;[Array][10]&lt;[string][8]>>** attribute value
1321
+ Returns **[Promise][21]&lt;[Array][9]&lt;[string][8]>>** attribute value
1324
1322
 
1325
1323
  ### grabTitle
1326
1324
 
@@ -1331,7 +1329,7 @@ Resumes test execution, so **should be used inside async with `await`** operator
1331
1329
  let title = await I.grabTitle();
1332
1330
  ```
1333
1331
 
1334
- Returns **[Promise][9]&lt;[string][8]>** title
1332
+ Returns **[Promise][21]&lt;[string][8]>** title
1335
1333
 
1336
1334
  ### grabTrafficUrl
1337
1335
 
@@ -1339,12 +1337,12 @@ Returns full URL of request matching parameter "urlMatch".
1339
1337
 
1340
1338
  #### Parameters
1341
1339
 
1342
- - `urlMatch` **([string][8] | [RegExp][11])** Expected URL of request in network traffic. Can be a string or a regular expression.Examples:```js
1340
+ - `urlMatch` **([string][8] | [RegExp][10])** Expected URL of request in network traffic. Can be a string or a regular expression.Examples:```js
1343
1341
  I.grabTrafficUrl('https://api.example.com/session');
1344
1342
  I.grabTrafficUrl(/session.*start/);
1345
1343
  ```
1346
1344
 
1347
- Returns **[Promise][9]&lt;any>**
1345
+ Returns **[Promise][21]&lt;any>**
1348
1346
 
1349
1347
  ### grabValueFrom
1350
1348
 
@@ -1360,7 +1358,7 @@ let email = await I.grabValueFrom('input[name=email]');
1360
1358
 
1361
1359
  - `locator` **([string][8] | [object][5])** field located by label|name|CSS|XPath|strict locator.
1362
1360
 
1363
- Returns **[Promise][9]&lt;[string][8]>** attribute value
1361
+ Returns **[Promise][21]&lt;[string][8]>** attribute value
1364
1362
 
1365
1363
  ### grabValueFromAll
1366
1364
 
@@ -1375,13 +1373,13 @@ let inputs = await I.grabValueFromAll('//form/input');
1375
1373
 
1376
1374
  - `locator` **([string][8] | [object][5])** field located by label|name|CSS|XPath|strict locator.
1377
1375
 
1378
- Returns **[Promise][9]&lt;[Array][10]&lt;[string][8]>>** attribute value
1376
+ Returns **[Promise][21]&lt;[Array][9]&lt;[string][8]>>** attribute value
1379
1377
 
1380
1378
  ### grabWebSocketMessages
1381
1379
 
1382
1380
  Grab the recording WS messages
1383
1381
 
1384
- Returns **[Array][10]&lt;any>**
1382
+ Returns **[Array][9]&lt;any>**
1385
1383
 
1386
1384
  ### handleDownloads
1387
1385
 
@@ -1401,7 +1399,7 @@ I.waitForFile('avatar.jpg', 5);
1401
1399
 
1402
1400
  - `fileName` **[string][8]** set filename for downloaded file
1403
1401
 
1404
- Returns **[Promise][9]&lt;void>**
1402
+ Returns **[Promise][21]&lt;void>**
1405
1403
 
1406
1404
  ### makeApiRequest
1407
1405
 
@@ -1422,7 +1420,7 @@ I.makeApiRequest('PATCH', )
1422
1420
  - `url` **[string][8]** endpoint
1423
1421
  - `options` **[object][5]** request options depending on method used
1424
1422
 
1425
- Returns **[Promise][9]&lt;[object][5]>** response
1423
+ Returns **[Promise][21]&lt;[object][5]>** response
1426
1424
 
1427
1425
  ### mockRoute
1428
1426
 
@@ -1436,8 +1434,8 @@ This method allows intercepting and mocking requests & responses. [Learn more ab
1436
1434
 
1437
1435
  #### Parameters
1438
1436
 
1439
- - `url` **([string][8] | [RegExp][11])?** URL, regex or pattern for to match URL
1440
- - `handler` **[function][21]?** a function to process reques
1437
+ - `url` **([string][8] | [RegExp][10])?** URL, regex or pattern for to match URL
1438
+ - `handler` **[function][20]?** a function to process reques
1441
1439
 
1442
1440
  ### mockTraffic
1443
1441
 
@@ -1471,10 +1469,10 @@ I.moveCursorTo('#submit', 5,5);
1471
1469
  #### Parameters
1472
1470
 
1473
1471
  - `locator` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
1474
- - `offsetX` **[number][20]** (optional, `0` by default) X-axis offset.
1475
- - `offsetY` **[number][20]** (optional, `0` by default) Y-axis offset.
1472
+ - `offsetX` **[number][19]** (optional, `0` by default) X-axis offset.
1473
+ - `offsetY` **[number][19]** (optional, `0` by default) Y-axis offset.
1476
1474
 
1477
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1475
+ Returns **void** automatically synchronized promise through #recorder
1478
1476
 
1479
1477
  ### openNewTab
1480
1478
 
@@ -1558,9 +1556,9 @@ Some of the supported key names are:
1558
1556
 
1559
1557
  #### Parameters
1560
1558
 
1561
- - `key` **([string][8] | [Array][10]&lt;[string][8]>)** key or array of keys to press.
1559
+ - `key` **([string][8] | [Array][9]&lt;[string][8]>)** key or array of keys to press.
1562
1560
 
1563
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder_Note:_ Shortcuts like `'Meta'` + `'A'` do not work on macOS ([GoogleChrome/Puppeteer#1313][33]).
1561
+ Returns **void** automatically synchronized promise through #recorder_Note:_ Shortcuts like `'Meta'` + `'A'` do not work on macOS ([GoogleChrome/Puppeteer#1313][33]).
1564
1562
 
1565
1563
  ### pressKeyDown
1566
1564
 
@@ -1578,7 +1576,7 @@ I.pressKeyUp('Control');
1578
1576
 
1579
1577
  - `key` **[string][8]** name of key to press down.
1580
1578
 
1581
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1579
+ Returns **void** automatically synchronized promise through #recorder
1582
1580
 
1583
1581
  ### pressKeyUp
1584
1582
 
@@ -1596,7 +1594,7 @@ I.pressKeyUp('Control');
1596
1594
 
1597
1595
  - `key` **[string][8]** name of key to release.
1598
1596
 
1599
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1597
+ Returns **void** automatically synchronized promise through #recorder
1600
1598
 
1601
1599
  ### refreshPage
1602
1600
 
@@ -1606,7 +1604,7 @@ Reload the current page.
1606
1604
  I.refreshPage();
1607
1605
  ```
1608
1606
 
1609
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1607
+ Returns **void** automatically synchronized promise through #recorder
1610
1608
 
1611
1609
  ### resizeWindow
1612
1610
 
@@ -1615,10 +1613,10 @@ First parameter can be set to `maximize`.
1615
1613
 
1616
1614
  #### Parameters
1617
1615
 
1618
- - `width` **[number][20]** width in pixels or `maximize`.
1619
- - `height` **[number][20]** height in pixels.
1616
+ - `width` **[number][19]** width in pixels or `maximize`.
1617
+ - `height` **[number][19]** height in pixels.
1620
1618
 
1621
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorderUnlike other drivers Playwright changes the size of a viewport, not the window!
1619
+ Returns **void** automatically synchronized promise through #recorderUnlike other drivers Playwright changes the size of a viewport, not the window!
1622
1620
  Playwright does not control the window of a browser so it can't adjust its real size.
1623
1621
  It also can't maximize a window.Update configuration to change real window size on start:```js
1624
1622
  // inside codecept.conf.js
@@ -1661,7 +1659,7 @@ I.rightClick('Click me', '.context');
1661
1659
  - `locator` **([string][8] | [object][5])** clickable element located by CSS|XPath|strict locator.
1662
1660
  - `context` **([string][8]? | [object][5])** (optional, `null` by default) element located by CSS|XPath|strict locator.
1663
1661
 
1664
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1662
+ Returns **void** automatically synchronized promise through #recorder
1665
1663
 
1666
1664
  ### saveElementScreenshot
1667
1665
 
@@ -1677,7 +1675,7 @@ I.saveElementScreenshot(`#submit`,'debug.png');
1677
1675
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1678
1676
  - `fileName` **[string][8]** file name to save.
1679
1677
 
1680
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1678
+ Returns **void** automatically synchronized promise through #recorder
1681
1679
 
1682
1680
  ### saveScreenshot
1683
1681
 
@@ -1695,7 +1693,7 @@ I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scro
1695
1693
  - `fileName` **[string][8]** file name to save.
1696
1694
  - `fullPage` **[boolean][25]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
1697
1695
 
1698
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1696
+ Returns **void** automatically synchronized promise through #recorder
1699
1697
 
1700
1698
  ### scrollPageToBottom
1701
1699
 
@@ -1705,7 +1703,7 @@ Scroll page to the bottom.
1705
1703
  I.scrollPageToBottom();
1706
1704
  ```
1707
1705
 
1708
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1706
+ Returns **void** automatically synchronized promise through #recorder
1709
1707
 
1710
1708
  ### scrollPageToTop
1711
1709
 
@@ -1715,7 +1713,7 @@ Scroll page to the top.
1715
1713
  I.scrollPageToTop();
1716
1714
  ```
1717
1715
 
1718
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1716
+ Returns **void** automatically synchronized promise through #recorder
1719
1717
 
1720
1718
  ### scrollTo
1721
1719
 
@@ -1730,10 +1728,10 @@ I.scrollTo('#submit', 5, 5);
1730
1728
  #### Parameters
1731
1729
 
1732
1730
  - `locator` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
1733
- - `offsetX` **[number][20]** (optional, `0` by default) X-axis offset.
1734
- - `offsetY` **[number][20]** (optional, `0` by default) Y-axis offset.
1731
+ - `offsetX` **[number][19]** (optional, `0` by default) X-axis offset.
1732
+ - `offsetY` **[number][19]** (optional, `0` by default) Y-axis offset.
1735
1733
 
1736
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1734
+ Returns **void** automatically synchronized promise through #recorder
1737
1735
 
1738
1736
  ### see
1739
1737
 
@@ -1751,7 +1749,7 @@ I.see('Register', {css: 'form.register'}); // use strict locator
1751
1749
  - `text` **[string][8]** expected on page.
1752
1750
  - `context` **([string][8]? | [object][5])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
1753
1751
 
1754
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1752
+ Returns **void** automatically synchronized promise through #recorder
1755
1753
 
1756
1754
  ### seeAttributesOnElements
1757
1755
 
@@ -1766,7 +1764,7 @@ I.seeAttributesOnElements('//form', { method: "post"});
1766
1764
  - `locator` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
1767
1765
  - `attributes` **[object][5]** attributes and their values to check.
1768
1766
 
1769
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1767
+ Returns **void** automatically synchronized promise through #recorder
1770
1768
 
1771
1769
  ### seeCheckboxIsChecked
1772
1770
 
@@ -1782,7 +1780,7 @@ I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
1782
1780
 
1783
1781
  - `field` **([string][8] | [object][5])** located by label|name|CSS|XPath|strict locator.
1784
1782
 
1785
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1783
+ Returns **void** automatically synchronized promise through #recorder
1786
1784
 
1787
1785
  ### seeCookie
1788
1786
 
@@ -1796,7 +1794,7 @@ I.seeCookie('Auth');
1796
1794
 
1797
1795
  - `name` **[string][8]** cookie name.
1798
1796
 
1799
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1797
+ Returns **void** automatically synchronized promise through #recorder
1800
1798
 
1801
1799
  ### seeCssPropertiesOnElements
1802
1800
 
@@ -1811,7 +1809,7 @@ I.seeCssPropertiesOnElements('h3', { 'font-weight': "bold"});
1811
1809
  - `locator` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
1812
1810
  - `cssProperties` **[object][5]** object with CSS properties and their values to check.
1813
1811
 
1814
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1812
+ Returns **void** automatically synchronized promise through #recorder
1815
1813
 
1816
1814
  ### seeCurrentUrlEquals
1817
1815
 
@@ -1828,7 +1826,7 @@ I.seeCurrentUrlEquals('http://my.site.com/register');
1828
1826
 
1829
1827
  - `url` **[string][8]** value to check.
1830
1828
 
1831
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1829
+ Returns **void** automatically synchronized promise through #recorder
1832
1830
 
1833
1831
  ### seeElement
1834
1832
 
@@ -1843,7 +1841,7 @@ I.seeElement('#modal');
1843
1841
 
1844
1842
  - `locator` **([string][8] | [object][5])** located by CSS|XPath|strict locator.
1845
1843
 
1846
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1844
+ Returns **void** automatically synchronized promise through #recorder
1847
1845
 
1848
1846
  ### seeElementInDOM
1849
1847
 
@@ -1858,7 +1856,7 @@ I.seeElementInDOM('#modal');
1858
1856
 
1859
1857
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1860
1858
 
1861
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1859
+ Returns **void** automatically synchronized promise through #recorder
1862
1860
 
1863
1861
  ### seeInCurrentUrl
1864
1862
 
@@ -1872,7 +1870,7 @@ I.seeInCurrentUrl('/register'); // we are on registration page
1872
1870
 
1873
1871
  - `url` **[string][8]** a fragment to check
1874
1872
 
1875
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1873
+ Returns **void** automatically synchronized promise through #recorder
1876
1874
 
1877
1875
  ### seeInField
1878
1876
 
@@ -1891,7 +1889,7 @@ I.seeInField('#searchform input','Search');
1891
1889
  - `field` **([string][8] | [object][5])** located by label|name|CSS|XPath|strict locator.
1892
1890
  - `value` **([string][8] | [object][5])** value to check.
1893
1891
 
1894
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1892
+ Returns **void** automatically synchronized promise through #recorder
1895
1893
 
1896
1894
  ### seeInPopup
1897
1895
 
@@ -1906,7 +1904,7 @@ I.seeInPopup('Popup text');
1906
1904
 
1907
1905
  - `text` **[string][8]** value to check.
1908
1906
 
1909
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1907
+ Returns **void** automatically synchronized promise through #recorder
1910
1908
 
1911
1909
  ### seeInSource
1912
1910
 
@@ -1920,7 +1918,7 @@ I.seeInSource('<h1>Green eggs &amp; ham</h1>');
1920
1918
 
1921
1919
  - `text` **[string][8]** value to check.
1922
1920
 
1923
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1921
+ Returns **void** automatically synchronized promise through #recorder
1924
1922
 
1925
1923
  ### seeInTitle
1926
1924
 
@@ -1934,7 +1932,7 @@ I.seeInTitle('Home Page');
1934
1932
 
1935
1933
  - `text` **[string][8]** text value to check.
1936
1934
 
1937
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1935
+ Returns **void** automatically synchronized promise through #recorder
1938
1936
 
1939
1937
  ### seeNumberOfElements
1940
1938
 
@@ -1948,9 +1946,9 @@ I.seeNumberOfElements('#submitBtn', 1);
1948
1946
  #### Parameters
1949
1947
 
1950
1948
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1951
- - `num` **[number][20]** number of elements.
1949
+ - `num` **[number][19]** number of elements.
1952
1950
 
1953
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1951
+ Returns **void** automatically synchronized promise through #recorder
1954
1952
 
1955
1953
  ### seeNumberOfVisibleElements
1956
1954
 
@@ -1964,9 +1962,9 @@ I.seeNumberOfVisibleElements('.buttons', 3);
1964
1962
  #### Parameters
1965
1963
 
1966
1964
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
1967
- - `num` **[number][20]** number of elements.
1965
+ - `num` **[number][19]** number of elements.
1968
1966
 
1969
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1967
+ Returns **void** automatically synchronized promise through #recorder
1970
1968
 
1971
1969
  ### seeTextEquals
1972
1970
 
@@ -1981,7 +1979,7 @@ I.seeTextEquals('text', 'h1');
1981
1979
  - `text` **[string][8]** element value to check.
1982
1980
  - `context` **([string][8] | [object][5])?** element located by CSS|XPath|strict locator.
1983
1981
 
1984
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1982
+ Returns **void** automatically synchronized promise through #recorder
1985
1983
 
1986
1984
  ### seeTitleEquals
1987
1985
 
@@ -1995,7 +1993,7 @@ I.seeTitleEquals('Test title.');
1995
1993
 
1996
1994
  - `text` **[string][8]** value to check.
1997
1995
 
1998
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
1996
+ Returns **void** automatically synchronized promise through #recorder
1999
1997
 
2000
1998
  ### seeTraffic
2001
1999
 
@@ -2035,9 +2033,9 @@ await I.seeTraffic({
2035
2033
  - `opts.url` **[string][8]** Expected URL of request in network traffic
2036
2034
  - `opts.parameters` **[Object][5]?** Expected parameters of that request in network traffic
2037
2035
  - `opts.requestPostData` **[Object][5]?** Expected that request contains post data in network traffic
2038
- - `opts.timeout` **[number][20]?** Timeout to wait for request in seconds. Default is 10 seconds.
2036
+ - `opts.timeout` **[number][19]?** Timeout to wait for request in seconds. Default is 10 seconds.
2039
2037
 
2040
- Returns **[Promise][9]&lt;any>**
2038
+ Returns **[Promise][21]&lt;any>**
2041
2039
 
2042
2040
  ### selectOption
2043
2041
 
@@ -2063,9 +2061,9 @@ I.selectOption('Which OS do you use?', ['Android', 'iOS']);
2063
2061
  #### Parameters
2064
2062
 
2065
2063
  - `select` **([string][8] | [object][5])** field located by label|name|CSS|XPath|strict locator.
2066
- - `option` **([string][8] | [Array][10]&lt;any>)** visible text or value of option.
2064
+ - `option` **([string][8] | [Array][9]&lt;any>)** visible text or value of option.
2067
2065
 
2068
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2066
+ Returns **void** automatically synchronized promise through #recorder
2069
2067
 
2070
2068
  ### setCookie
2071
2069
 
@@ -2085,9 +2083,9 @@ I.setCookie([
2085
2083
 
2086
2084
  #### Parameters
2087
2085
 
2088
- - `cookie` **(Cookie | [Array][10]&lt;Cookie>)** a cookie object or array of cookie objects.
2086
+ - `cookie` **(Cookie | [Array][9]&lt;Cookie>)** a cookie object or array of cookie objects.
2089
2087
 
2090
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2088
+ Returns **void** automatically synchronized promise through #recorder
2091
2089
 
2092
2090
  ### setPlaywrightRequestHeaders
2093
2091
 
@@ -2136,8 +2134,8 @@ If no handler is passed, all mock requests for the rote are disabled.
2136
2134
 
2137
2135
  #### Parameters
2138
2136
 
2139
- - `url` **([string][8] | [RegExp][11])?** URL, regex or pattern for to match URL
2140
- - `handler` **[function][21]?** a function to process reques
2137
+ - `url` **([string][8] | [RegExp][10])?** URL, regex or pattern for to match URL
2138
+ - `handler` **[function][20]?** a function to process reques
2141
2139
 
2142
2140
  ### stopRecordingTraffic
2143
2141
 
@@ -2168,7 +2166,7 @@ I.switchTo(); // switch back to main page
2168
2166
 
2169
2167
  - `locator` **([string][8]? | [object][5])** (optional, `null` by default) element located by CSS|XPath|strict locator.
2170
2168
 
2171
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2169
+ Returns **void** automatically synchronized promise through #recorder
2172
2170
 
2173
2171
  ### switchToNextTab
2174
2172
 
@@ -2181,7 +2179,7 @@ I.switchToNextTab(2);
2181
2179
 
2182
2180
  #### Parameters
2183
2181
 
2184
- - `num` **[number][20]**
2182
+ - `num` **[number][19]**
2185
2183
 
2186
2184
  ### switchToPreviousTab
2187
2185
 
@@ -2194,7 +2192,7 @@ I.switchToPreviousTab(2);
2194
2192
 
2195
2193
  #### Parameters
2196
2194
 
2197
- - `num` **[number][20]**
2195
+ - `num` **[number][19]**
2198
2196
 
2199
2197
  ### type
2200
2198
 
@@ -2219,10 +2217,10 @@ I.type(secret('123456'));
2219
2217
  #### Parameters
2220
2218
 
2221
2219
  - `keys`
2222
- - `delay` **[number][20]?** (optional) delay in ms between key presses
2223
- - `key` **([string][8] | [Array][10]&lt;[string][8]>)** or array of keys to type.
2220
+ - `delay` **[number][19]?** (optional) delay in ms between key presses
2221
+ - `key` **([string][8] | [Array][9]&lt;[string][8]>)** or array of keys to type.
2224
2222
 
2225
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2223
+ Returns **void** automatically synchronized promise through #recorder
2226
2224
 
2227
2225
  ### uncheckOption
2228
2226
 
@@ -2243,7 +2241,7 @@ I.uncheckOption('agree', '//form');
2243
2241
  - `context` **([string][8]? | [object][5])** (optional, `null` by default) element located by CSS | XPath | strict locator.
2244
2242
  - `options`
2245
2243
 
2246
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder[Additional options][35] for uncheck available as 3rd argument.Examples:```js
2244
+ Returns **void** automatically synchronized promise through #recorder[Additional options][35] for uncheck available as 3rd argument.Examples:```js
2247
2245
  // click on element at position
2248
2246
  I.uncheckOption('Agree', '.signup', { position: { x: 5, y: 5 } })
2249
2247
  ```> ⚠️ To avoid flakiness, option `force: true` is set by default
@@ -2266,7 +2264,7 @@ I.usePlaywrightTo('emulate offline mode', async ({ browserContext }) => {
2266
2264
  #### Parameters
2267
2265
 
2268
2266
  - `description` **[string][8]** used to show in logs.
2269
- - `fn` **[function][21]** async function that executed with Playwright helper as argumen
2267
+ - `fn` **[function][20]** async function that executed with Playwright helper as argumen
2270
2268
 
2271
2269
  ### wait
2272
2270
 
@@ -2278,9 +2276,9 @@ I.wait(2); // wait 2 secs
2278
2276
 
2279
2277
  #### Parameters
2280
2278
 
2281
- - `sec` **[number][20]** number of second to wait.
2279
+ - `sec` **[number][19]** number of second to wait.
2282
2280
 
2283
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2281
+ Returns **void** automatically synchronized promise through #recorder
2284
2282
 
2285
2283
  ### waitForClickable
2286
2284
 
@@ -2296,9 +2294,9 @@ I.waitForClickable('.btn.continue', 5); // wait for 5 secs
2296
2294
 
2297
2295
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
2298
2296
  - `waitTimeout`
2299
- - `sec` **[number][20]?** (optional, `1` by default) time in seconds to wait
2297
+ - `sec` **[number][19]?** (optional, `1` by default) time in seconds to wait
2300
2298
 
2301
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2299
+ Returns **void** automatically synchronized promise through #recorder
2302
2300
 
2303
2301
  ### waitForDetached
2304
2302
 
@@ -2312,9 +2310,9 @@ I.waitForDetached('#popup');
2312
2310
  #### Parameters
2313
2311
 
2314
2312
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
2315
- - `sec` **[number][20]** (optional, `1` by default) time in seconds to wait
2313
+ - `sec` **[number][19]** (optional, `1` by default) time in seconds to wait
2316
2314
 
2317
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2315
+ Returns **void** automatically synchronized promise through #recorder
2318
2316
 
2319
2317
  ### waitForElement
2320
2318
 
@@ -2329,9 +2327,9 @@ I.waitForElement('.btn.continue', 5); // wait for 5 secs
2329
2327
  #### Parameters
2330
2328
 
2331
2329
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
2332
- - `sec` **[number][20]?** (optional, `1` by default) time in seconds to wait
2330
+ - `sec` **[number][19]?** (optional, `1` by default) time in seconds to wait
2333
2331
 
2334
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2332
+ Returns **void** automatically synchronized promise through #recorder
2335
2333
 
2336
2334
  ### waitForEnabled
2337
2335
 
@@ -2341,9 +2339,9 @@ Element can be located by CSS or XPath.
2341
2339
  #### Parameters
2342
2340
 
2343
2341
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
2344
- - `sec` **[number][20]** (optional) time in seconds to wait, 1 by default.
2342
+ - `sec` **[number][19]** (optional) time in seconds to wait, 1 by default.
2345
2343
 
2346
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2344
+ Returns **void** automatically synchronized promise through #recorder
2347
2345
 
2348
2346
  ### waitForFunction
2349
2347
 
@@ -2362,11 +2360,11 @@ I.waitForFunction((count) => window.requests == count, [3], 5) // pass args and
2362
2360
 
2363
2361
  #### Parameters
2364
2362
 
2365
- - `fn` **([string][8] | [function][21])** to be executed in browser context.
2366
- - `argsOrSec` **([Array][10]&lt;any> | [number][20])?** (optional, `1` by default) arguments for function or seconds.
2367
- - `sec` **[number][20]?** (optional, `1` by default) time in seconds to wait
2363
+ - `fn` **([string][8] | [function][20])** to be executed in browser context.
2364
+ - `argsOrSec` **([Array][9]&lt;any> | [number][19])?** (optional, `1` by default) arguments for function or seconds.
2365
+ - `sec` **[number][19]?** (optional, `1` by default) time in seconds to wait
2368
2366
 
2369
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2367
+ Returns **void** automatically synchronized promise through #recorder
2370
2368
 
2371
2369
  ### waitForInvisible
2372
2370
 
@@ -2380,9 +2378,9 @@ I.waitForInvisible('#popup');
2380
2378
  #### Parameters
2381
2379
 
2382
2380
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
2383
- - `sec` **[number][20]** (optional, `1` by default) time in seconds to wait
2381
+ - `sec` **[number][19]** (optional, `1` by default) time in seconds to wait
2384
2382
 
2385
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2383
+ Returns **void** automatically synchronized promise through #recorder
2386
2384
 
2387
2385
  ### waitForNavigation
2388
2386
 
@@ -2405,8 +2403,8 @@ I.waitForRequest(request => request.url() === 'http://example.com' && request.me
2405
2403
 
2406
2404
  #### Parameters
2407
2405
 
2408
- - `urlOrPredicate` **([string][8] | [function][21])**
2409
- - `sec` **[number][20]?** seconds to wait
2406
+ - `urlOrPredicate` **([string][8] | [function][20])**
2407
+ - `sec` **[number][19]?** seconds to wait
2410
2408
 
2411
2409
  ### waitForResponse
2412
2410
 
@@ -2419,8 +2417,8 @@ I.waitForResponse(response => response.url() === 'https://example.com' && respon
2419
2417
 
2420
2418
  #### Parameters
2421
2419
 
2422
- - `urlOrPredicate` **([string][8] | [function][21])**
2423
- - `sec` **[number][20]?** number of seconds to wait
2420
+ - `urlOrPredicate` **([string][8] | [function][20])**
2421
+ - `sec` **[number][19]?** number of seconds to wait
2424
2422
 
2425
2423
  ### waitForText
2426
2424
 
@@ -2436,10 +2434,10 @@ I.waitForText('Thank you, form has been submitted', 5, '#modal');
2436
2434
  #### Parameters
2437
2435
 
2438
2436
  - `text` **[string][8]** to wait for.
2439
- - `sec` **[number][20]** (optional, `1` by default) time in seconds to wait
2437
+ - `sec` **[number][19]** (optional, `1` by default) time in seconds to wait
2440
2438
  - `context` **([string][8] | [object][5])?** (optional) element located by CSS|XPath|strict locator.
2441
2439
 
2442
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2440
+ Returns **void** automatically synchronized promise through #recorder
2443
2441
 
2444
2442
  ### waitForURL
2445
2443
 
@@ -2449,7 +2447,7 @@ See [Playwright's reference][40]
2449
2447
 
2450
2448
  #### Parameters
2451
2449
 
2452
- - `url` **([string][8] | [RegExp][11])** A glob pattern, regex pattern or predicate receiving URL to match while waiting for the navigation. Note that if the parameter is a string without wildcard characters, the method will wait for navigation to URL that is exactly equal to the string.
2450
+ - `url` **([string][8] | [RegExp][10])** A glob pattern, regex pattern or predicate receiving URL to match while waiting for the navigation. Note that if the parameter is a string without wildcard characters, the method will wait for navigation to URL that is exactly equal to the string.
2453
2451
  - `options` **any**
2454
2452
 
2455
2453
  ### waitForValue
@@ -2464,9 +2462,9 @@ I.waitForValue('//input', "GoodValue");
2464
2462
 
2465
2463
  - `field` **([string][8] | [object][5])** input field.
2466
2464
  - `value` **[string][8]** expected value.
2467
- - `sec` **[number][20]** (optional, `1` by default) time in seconds to wait
2465
+ - `sec` **[number][19]** (optional, `1` by default) time in seconds to wait
2468
2466
 
2469
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2467
+ Returns **void** automatically synchronized promise through #recorder
2470
2468
 
2471
2469
  ### waitForVisible
2472
2470
 
@@ -2480,9 +2478,9 @@ I.waitForVisible('#popup');
2480
2478
  #### Parameters
2481
2479
 
2482
2480
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
2483
- - `sec` **[number][20]** (optional, `1` by default) time in seconds to wait
2481
+ - `sec` **[number][19]** (optional, `1` by default) time in seconds to wait
2484
2482
 
2485
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorderThis method accepts [React selectors][41].
2483
+ Returns **void** automatically synchronized promise through #recorderThis method accepts [React selectors][41].
2486
2484
 
2487
2485
  ### waitInUrl
2488
2486
 
@@ -2495,9 +2493,9 @@ I.waitInUrl('/info', 2);
2495
2493
  #### Parameters
2496
2494
 
2497
2495
  - `urlPart` **[string][8]** value to check.
2498
- - `sec` **[number][20]** (optional, `1` by default) time in seconds to wait
2496
+ - `sec` **[number][19]** (optional, `1` by default) time in seconds to wait
2499
2497
 
2500
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2498
+ Returns **void** automatically synchronized promise through #recorder
2501
2499
 
2502
2500
  ### waitNumberOfVisibleElements
2503
2501
 
@@ -2510,10 +2508,10 @@ I.waitNumberOfVisibleElements('a', 3);
2510
2508
  #### Parameters
2511
2509
 
2512
2510
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
2513
- - `num` **[number][20]** number of elements.
2514
- - `sec` **[number][20]** (optional, `1` by default) time in seconds to wait
2511
+ - `num` **[number][19]** number of elements.
2512
+ - `sec` **[number][19]** (optional, `1` by default) time in seconds to wait
2515
2513
 
2516
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2514
+ Returns **void** automatically synchronized promise through #recorder
2517
2515
 
2518
2516
  ### waitToHide
2519
2517
 
@@ -2527,9 +2525,9 @@ I.waitToHide('#popup');
2527
2525
  #### Parameters
2528
2526
 
2529
2527
  - `locator` **([string][8] | [object][5])** element located by CSS|XPath|strict locator.
2530
- - `sec` **[number][20]** (optional, `1` by default) time in seconds to wait
2528
+ - `sec` **[number][19]** (optional, `1` by default) time in seconds to wait
2531
2529
 
2532
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2530
+ Returns **void** automatically synchronized promise through #recorder
2533
2531
 
2534
2532
  ### waitUrlEquals
2535
2533
 
@@ -2543,9 +2541,9 @@ I.waitUrlEquals('http://127.0.0.1:8000/info');
2543
2541
  #### Parameters
2544
2542
 
2545
2543
  - `urlPart` **[string][8]** value to check.
2546
- - `sec` **[number][20]** (optional, `1` by default) time in seconds to wait
2544
+ - `sec` **[number][19]** (optional, `1` by default) time in seconds to wait
2547
2545
 
2548
- Returns **[Promise][9]&lt;void>** automatically synchronized promise through #recorder
2546
+ Returns **void** automatically synchronized promise through #recorder
2549
2547
 
2550
2548
  [1]: https://github.com/microsoft/playwright
2551
2549
 
@@ -2563,31 +2561,31 @@ Returns **[Promise][9]&lt;void>** automatically synchronized promise through #re
2563
2561
 
2564
2562
  [8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
2565
2563
 
2566
- [9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
2564
+ [9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
2567
2565
 
2568
- [10]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
2566
+ [10]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2569
2567
 
2570
- [11]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2568
+ [11]: https://www.example.com**
2571
2569
 
2572
- [12]: https://www.example.com**
2570
+ [12]: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus
2573
2571
 
2574
- [13]: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus
2572
+ [13]: https://playwright.dev/docs/api/class-locator#locator-blur
2575
2573
 
2576
- [14]: https://playwright.dev/docs/api/class-locator#locator-blur
2574
+ [14]: https://playwright.dev/docs/api/class-elementhandle#element-handle-check
2577
2575
 
2578
- [15]: https://playwright.dev/docs/api/class-elementhandle#element-handle-check
2576
+ [15]: https://playwright.dev/docs/actionability
2579
2577
 
2580
- [16]: https://playwright.dev/docs/actionability
2578
+ [16]: https://playwright.dev/docs/api/class-locator#locator-clear
2581
2579
 
2582
- [17]: https://playwright.dev/docs/api/class-locator#locator-clear
2580
+ [17]: https://playwright.dev/docs/api/class-page#page-click
2583
2581
 
2584
- [18]: https://playwright.dev/docs/api/class-page#page-click
2582
+ [18]: https://playwright.dev/docs/api/class-page#page-drag-and-drop
2585
2583
 
2586
- [19]: https://playwright.dev/docs/api/class-page#page-drag-and-drop
2584
+ [19]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
2587
2585
 
2588
- [20]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
2586
+ [20]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
2589
2587
 
2590
- [21]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
2588
+ [21]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
2591
2589
 
2592
2590
  [22]: https://playwright.dev/docs/api/class-locator#locator-focus
2593
2591