codeceptjs 3.3.0-beta.4 → 3.3.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 (137) hide show
  1. package/CHANGELOG.md +43 -1
  2. package/README.md +26 -0
  3. package/docs/api.md +45 -30
  4. package/docs/bdd.md +1 -0
  5. package/docs/best.md +1 -1
  6. package/docs/build/ApiDataFactory.js +4 -3
  7. package/docs/build/Appium.js +58 -43
  8. package/docs/build/GraphQL.js +4 -2
  9. package/docs/build/GraphQLDataFactory.js +3 -3
  10. package/docs/build/JSONResponse.js +1 -1
  11. package/docs/build/Nightmare.js +99 -70
  12. package/docs/build/Playwright.js +187 -109
  13. package/docs/build/Protractor.js +70 -32
  14. package/docs/build/Puppeteer.js +141 -98
  15. package/docs/build/REST.js +4 -1
  16. package/docs/build/TestCafe.js +96 -65
  17. package/docs/build/WebDriver.js +183 -133
  18. package/docs/changelog.md +92 -0
  19. package/docs/custom-helpers.md +1 -1
  20. package/docs/data.md +2 -2
  21. package/docs/email.md +5 -0
  22. package/docs/helpers/ApiDataFactory.md +7 -3
  23. package/docs/helpers/Appium.md +113 -15
  24. package/docs/helpers/GraphQL.md +6 -0
  25. package/docs/helpers/GraphQLDataFactory.md +3 -3
  26. package/docs/helpers/JSONResponse.md +1 -1
  27. package/docs/helpers/MockRequest.md +8 -6
  28. package/docs/helpers/Nightmare.md +131 -29
  29. package/docs/helpers/Playwright.md +424 -215
  30. package/docs/helpers/Puppeteer.md +229 -92
  31. package/docs/helpers/REST.md +1 -1
  32. package/docs/helpers/TestCafe.md +166 -62
  33. package/docs/helpers/WebDriver.md +254 -103
  34. package/docs/index.md +1 -1
  35. package/docs/locators.md +1 -1
  36. package/docs/videos.md +2 -2
  37. package/docs/webapi/amOnPage.mustache +2 -1
  38. package/docs/webapi/appendField.mustache +2 -1
  39. package/docs/webapi/attachFile.mustache +2 -1
  40. package/docs/webapi/checkOption.mustache +2 -1
  41. package/docs/webapi/clearCookie.mustache +2 -1
  42. package/docs/webapi/clearField.mustache +1 -0
  43. package/docs/webapi/click.mustache +2 -1
  44. package/docs/webapi/clickLink.mustache +2 -1
  45. package/docs/webapi/closeCurrentTab.mustache +6 -4
  46. package/docs/webapi/closeOtherTabs.mustache +6 -4
  47. package/docs/webapi/dontSee.mustache +1 -0
  48. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +1 -0
  49. package/docs/webapi/dontSeeCookie.mustache +2 -1
  50. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +2 -1
  51. package/docs/webapi/dontSeeElement.mustache +2 -1
  52. package/docs/webapi/dontSeeElementInDOM.mustache +2 -1
  53. package/docs/webapi/dontSeeInCurrentUrl.mustache +2 -1
  54. package/docs/webapi/dontSeeInField.mustache +2 -1
  55. package/docs/webapi/dontSeeInSource.mustache +1 -0
  56. package/docs/webapi/dontSeeInTitle.mustache +2 -1
  57. package/docs/webapi/doubleClick.mustache +1 -0
  58. package/docs/webapi/downloadFile.mustache +2 -1
  59. package/docs/webapi/dragAndDrop.mustache +1 -0
  60. package/docs/webapi/dragSlider.mustache +2 -1
  61. package/docs/webapi/fillField.mustache +1 -0
  62. package/docs/webapi/forceClick.mustache +1 -0
  63. package/docs/webapi/forceRightClick.mustache +1 -0
  64. package/docs/webapi/grabDataFromPerformanceTiming.mustache +2 -1
  65. package/docs/webapi/moveCursorTo.mustache +1 -0
  66. package/docs/webapi/openNewTab.mustache +6 -4
  67. package/docs/webapi/pressKey.mustache +2 -1
  68. package/docs/webapi/pressKeyDown.mustache +1 -0
  69. package/docs/webapi/pressKeyUp.mustache +1 -0
  70. package/docs/webapi/pressKeyWithKeyNormalization.mustache +1 -0
  71. package/docs/webapi/refreshPage.mustache +1 -0
  72. package/docs/webapi/resizeWindow.mustache +2 -1
  73. package/docs/webapi/rightClick.mustache +1 -0
  74. package/docs/webapi/saveElementScreenshot.mustache +1 -0
  75. package/docs/webapi/saveScreenshot.mustache +2 -1
  76. package/docs/webapi/say.mustache +2 -1
  77. package/docs/webapi/scrollIntoView.mustache +1 -0
  78. package/docs/webapi/scrollPageToBottom.mustache +1 -0
  79. package/docs/webapi/scrollPageToTop.mustache +1 -0
  80. package/docs/webapi/scrollTo.mustache +2 -1
  81. package/docs/webapi/see.mustache +2 -1
  82. package/docs/webapi/seeAttributesOnElements.mustache +2 -1
  83. package/docs/webapi/seeCheckboxIsChecked.mustache +1 -0
  84. package/docs/webapi/seeCookie.mustache +1 -0
  85. package/docs/webapi/seeCssPropertiesOnElements.mustache +2 -1
  86. package/docs/webapi/seeCurrentUrlEquals.mustache +2 -1
  87. package/docs/webapi/seeElement.mustache +2 -1
  88. package/docs/webapi/seeElementInDOM.mustache +1 -0
  89. package/docs/webapi/seeInCurrentUrl.mustache +2 -1
  90. package/docs/webapi/seeInField.mustache +1 -0
  91. package/docs/webapi/seeInPopup.mustache +1 -0
  92. package/docs/webapi/seeInSource.mustache +2 -1
  93. package/docs/webapi/seeInTitle.mustache +2 -1
  94. package/docs/webapi/seeNumberOfElements.mustache +1 -0
  95. package/docs/webapi/seeNumberOfVisibleElements.mustache +1 -0
  96. package/docs/webapi/seeTextEquals.mustache +2 -1
  97. package/docs/webapi/seeTitleEquals.mustache +6 -5
  98. package/docs/webapi/selectOption.mustache +1 -0
  99. package/docs/webapi/setCookie.mustache +1 -0
  100. package/docs/webapi/setGeoLocation.mustache +1 -0
  101. package/docs/webapi/switchTo.mustache +2 -1
  102. package/docs/webapi/switchToNextTab.mustache +8 -7
  103. package/docs/webapi/switchToPreviousTab.mustache +8 -7
  104. package/docs/webapi/type.mustache +1 -0
  105. package/docs/webapi/uncheckOption.mustache +2 -1
  106. package/docs/webapi/wait.mustache +2 -1
  107. package/docs/webapi/waitForClickable.mustache +2 -1
  108. package/docs/webapi/waitForDetached.mustache +2 -1
  109. package/docs/webapi/waitForElement.mustache +2 -1
  110. package/docs/webapi/waitForEnabled.mustache +2 -1
  111. package/docs/webapi/waitForFunction.mustache +1 -0
  112. package/docs/webapi/waitForInvisible.mustache +2 -1
  113. package/docs/webapi/waitForText.mustache +2 -1
  114. package/docs/webapi/waitForValue.mustache +1 -0
  115. package/docs/webapi/waitForVisible.mustache +1 -0
  116. package/docs/webapi/waitInUrl.mustache +2 -1
  117. package/docs/webapi/waitNumberOfVisibleElements.mustache +2 -1
  118. package/docs/webapi/waitToHide.mustache +2 -1
  119. package/docs/webapi/waitUrlEquals.mustache +2 -1
  120. package/lib/command/definitions.js +9 -0
  121. package/lib/command/run.js +2 -2
  122. package/lib/command/workers/runTests.js +40 -0
  123. package/lib/helper/ApiDataFactory.js +4 -3
  124. package/lib/helper/Appium.js +7 -2
  125. package/lib/helper/GraphQL.js +4 -2
  126. package/lib/helper/GraphQLDataFactory.js +3 -3
  127. package/lib/helper/JSONResponse.js +1 -1
  128. package/lib/helper/Playwright.js +49 -13
  129. package/lib/helper/REST.js +4 -1
  130. package/lib/helper/WebDriver.js +6 -0
  131. package/lib/interfaces/bdd.js +5 -0
  132. package/lib/listener/steps.js +1 -0
  133. package/lib/plugin/fakerTransform.js +1 -1
  134. package/lib/plugin/stepByStepReport.js +8 -6
  135. package/lib/workers.js +12 -0
  136. package/package.json +4 -3
  137. package/typings/types.d.ts +598 -600
package/docs/index.md CHANGED
@@ -86,7 +86,7 @@ Scenario('Checkout test', ({ I }) => {
86
86
  Can we use it for long scenarios? Sure!
87
87
 
88
88
  ```js
89
- const faker = require('faker'); // Use 3rd-party JS code
89
+ const faker = require('@faker-js/faker'); // Use 3rd-party JS code
90
90
 
91
91
  Feature('Store');
92
92
 
package/docs/locators.md CHANGED
@@ -243,7 +243,7 @@ Instead of writing a full CSS locator like `[data-qa-id=user_name]` simplify it
243
243
 
244
244
  ```js
245
245
  // replace this:
246
- I.click({ css: '[data-test-id=register_button]');
246
+ I.click({ css: '[data-test-id=register_button]'});
247
247
  // with this:
248
248
  I.click('$register_button');
249
249
  ```
package/docs/videos.md CHANGED
@@ -7,7 +7,7 @@ editLink: false
7
7
  ---
8
8
 
9
9
  > Add your own videos to our [Wiki Page](https://github.com/codeceptjs/CodeceptJS/wiki/Videos)
10
- [![](https://i3.ytimg.com/vi/BRMWstiOTks/maxresdefault.jpg)](https://www.youtube.com/watch?v=BRMWstiOTks)
10
+ [![](http://i3.ytimg.com/vi/BRMWstiOTks/maxresdefault.jpg)](https://www.youtube.com/watch?v=BRMWstiOTks)
11
11
 
12
12
  ## [An Introduction, Getting started and working with CodeceptJS & Puppeteer (EAWeekend)](https://www.youtube.com/watch?v=BRMWstiOTks)
13
13
 
@@ -15,7 +15,7 @@ editLink: false
15
15
 
16
16
  ## [Introductory Videos](https://www.youtube.com/watch?v=FPFG1rBNJ64&list=PLcFXthgti9Lt4SjSvL1ALDg6dOeTC0TvT)
17
17
 
18
- Free educational videos provided by our community member **[@ontytoom](https://github.com/ontytoom)**.
18
+ Free educational videos provided by our community member **[@ontytoom](http://github.com/ontytoom)**.
19
19
 
20
20
  1. [Installation](https://www.youtube.com/watch?v=FPFG1rBNJ64)
21
21
  1. [Creating a Test](https://www.youtube.com/watch?v=mdQZjL3h9d0)
@@ -7,4 +7,5 @@ I.amOnPage('https://github.com'); // opens github
7
7
  I.amOnPage('/login'); // opens a login page
8
8
  ```
9
9
 
10
- @param {string} url url path or global url.
10
+ @param {string} url url path or global url.
11
+ @return {Promise<any>}
@@ -5,4 +5,5 @@ Field is located by name, label, CSS or XPath
5
5
  I.appendField('#myTextField', 'appended');
6
6
  ```
7
7
  @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator
8
- @param {string} value text value to append.
8
+ @param {string} value text value to append.
9
+ @return {Promise<any>}
@@ -8,4 +8,5 @@ I.attachFile('form input[name=avatar]', 'data/avatar.jpg');
8
8
  ```
9
9
 
10
10
  @param {CodeceptJS.LocatorOrString} locator field located by label|name|CSS|XPath|strict locator.
11
- @param {string} pathToFile local file path relative to codecept.json config file.
11
+ @param {string} pathToFile local file path relative to codecept.json config file.
12
+ @return {Promise<any>}
@@ -9,4 +9,5 @@ I.checkOption('I Agree to Terms and Conditions');
9
9
  I.checkOption('agree', '//form');
10
10
  ```
11
11
  @param {CodeceptJS.LocatorOrString} field checkbox located by label | name | CSS | XPath | strict locator.
12
- @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS | XPath | strict locator.
12
+ @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS | XPath | strict locator.
13
+ @return {Promise<any>}
@@ -6,4 +6,5 @@ I.clearCookie();
6
6
  I.clearCookie('test');
7
7
  ```
8
8
 
9
- @param {?string} [cookie=null] (optional, `null` by default) cookie name
9
+ @param {?string} [cookie=null] (optional, `null` by default) cookie name
10
+ @return {Promise<any>}
@@ -6,3 +6,4 @@ I.clearField('user[email]');
6
6
  I.clearField('#email');
7
7
  ```
8
8
  @param {LocatorOrString} editable field located by label|name|CSS|XPath|strict locator.
9
+ @return {Promise<any>}
@@ -21,4 +21,5 @@ I.click({css: 'nav a.login'});
21
21
  ```
22
22
 
23
23
  @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator.
24
- @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
24
+ @param {?CodeceptJS.LocatorOrString | null} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
25
+ @return {Promise<any>}
@@ -4,4 +4,5 @@ Performs a click on a link and waits for navigation before moving on.
4
4
  I.clickLink('Logout', '#nav');
5
5
  ```
6
6
  @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator
7
- @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator
7
+ @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator
8
+ @return {Promise<any>}
@@ -1,5 +1,7 @@
1
- Close current tab.
1
+ Close current tab.
2
2
 
3
- ```js
4
- I.closeCurrentTab();
5
- ```
3
+ ```js
4
+ I.closeCurrentTab();
5
+ ```
6
+
7
+ @return {Promise<any>}
@@ -1,6 +1,8 @@
1
- Close all tabs except for the current one.
1
+ Close all tabs except for the current one.
2
2
 
3
3
 
4
- ```js
5
- I.closeOtherTabs();
6
- ```
4
+ ```js
5
+ I.closeOtherTabs();
6
+ ```
7
+
8
+ @return {Promise<any>}
@@ -8,3 +8,4 @@ I.dontSee('Login', '.nav'); // no login inside .nav element
8
8
 
9
9
  @param {string} text which is not present.
10
10
  @param {CodeceptJS.LocatorOrString} [context] (optional) element located by CSS|XPath|strict locator in which to perfrom search.
11
+ @return {Promise<any>}
@@ -7,3 +7,4 @@ I.dontSeeCheckboxIsChecked('agree'); // located by name
7
7
  ```
8
8
 
9
9
  @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
10
+ @return {Promise<any>}
@@ -4,4 +4,5 @@ Checks that cookie with given name does not exist.
4
4
  I.dontSeeCookie('auth'); // no auth cookie
5
5
  ```
6
6
 
7
- @param {string} name cookie name.
7
+ @param {string} name cookie name.
8
+ @return {Promise<any>}
@@ -6,4 +6,5 @@ I.dontSeeCurrentUrlEquals('/login'); // relative url are ok
6
6
  I.dontSeeCurrentUrlEquals('http://mysite.com/login'); // absolute urls are also ok
7
7
  ```
8
8
 
9
- @param {string} url value to check.
9
+ @param {string} url value to check.
10
+ @return {Promise<any>}
@@ -4,4 +4,5 @@ Opposite to `seeElement`. Checks that element is not visible (or in DOM)
4
4
  I.dontSeeElement('.modal'); // modal is not shown
5
5
  ```
6
6
 
7
- @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|Strict locator.
7
+ @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|Strict locator.
8
+ @return {Promise<any>}
@@ -4,4 +4,5 @@ Opposite to `seeElementInDOM`. Checks that element is not on page.
4
4
  I.dontSeeElementInDOM('.nav'); // checks that element is not on page visible or not
5
5
  ```
6
6
 
7
- @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|Strict locator.
7
+ @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|Strict locator.
8
+ @return {Promise<any>}
@@ -1,3 +1,4 @@
1
1
  Checks that current url does not contain a provided fragment.
2
2
 
3
- @param {string} url value to check.
3
+ @param {string} url value to check.
4
+ @return {Promise<any>}
@@ -7,4 +7,5 @@ I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
7
7
  ```
8
8
 
9
9
  @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
10
- @param {string} value value to check.
10
+ @param {string} value value to check.
11
+ @return {Promise<any>}
@@ -5,3 +5,4 @@ I.dontSeeInSource('<!--'); // no comments in source
5
5
  ```
6
6
 
7
7
  @param {string} value to check.
8
+ @return {Promise<any>}
@@ -4,4 +4,5 @@ Checks that title does not contain text.
4
4
  I.dontSeeInTitle('Error');
5
5
  ```
6
6
 
7
- @param {string} text value to check.
7
+ @param {string} text value to check.
8
+ @return {Promise<any>}
@@ -10,3 +10,4 @@ I.doubleClick('.btn.edit');
10
10
 
11
11
  @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator.
12
12
  @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
13
+ @return {Promise<any>}
@@ -8,4 +8,5 @@ I.downloadFile('td[class="text-right file-link"] a', 'thisIsCustomName');
8
8
  ```
9
9
 
10
10
  @param {CodeceptJS.LocatorOrString} locator clickable link or button located by CSS|XPath locator.
11
- @param {string} file custom file name.
11
+ @param {string} file custom file name.
12
+ @return {Promise<any>}
@@ -6,3 +6,4 @@ I.dragAndDrop('#dragHandle', '#container');
6
6
 
7
7
  @param {LocatorOrString} srcElement located by CSS|XPath|strict locator.
8
8
  @param {LocatorOrString} destElement located by CSS|XPath|strict locator.
9
+ @return {Promise<any>}
@@ -7,4 +7,5 @@ I.dragSlider('#slider', -70);
7
7
  ```
8
8
 
9
9
  @param {CodeceptJS.LocatorOrString} locator located by label|name|CSS|XPath|strict locator.
10
- @param {number} offsetX position to drag.
10
+ @param {number} offsetX position to drag.
11
+ @return {Promise<any>}
@@ -13,3 +13,4 @@ I.fillField({css: 'form#login input[name=username]'}, 'John');
13
13
  ```
14
14
  @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
15
15
  @param {CodeceptJS.StringOrSecret} value text value to fill.
16
+ @return {Promise<any>}
@@ -25,3 +25,4 @@ I.forceClick({css: 'nav a.login'});
25
25
 
26
26
  @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator.
27
27
  @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
28
+ @return {Promise<any>}
@@ -15,3 +15,4 @@ I.forceRightClick('Menu');
15
15
 
16
16
  @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator.
17
17
  @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
18
+ @return {Promise<any>}
@@ -16,4 +16,5 @@ let data = await I.grabDataFromPerformanceTiming();
16
16
  domContentLoadedEventEnd: 196,
17
17
  loadEventEnd: 241
18
18
  }
19
- ```
19
+ ```
20
+ @return {Promise<any>}
@@ -9,3 +9,4 @@ I.moveCursorTo('#submit', 5,5);
9
9
  @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
10
10
  @param {number} [offsetX=0] (optional, `0` by default) X-axis offset.
11
11
  @param {number} [offsetY=0] (optional, `0` by default) Y-axis offset.
12
+ @return {Promise<any>}
@@ -1,5 +1,7 @@
1
- Open new tab and switch to it.
1
+ Open new tab and switch to it.
2
2
 
3
- ```js
4
- I.openNewTab();
5
- ```
3
+ ```js
4
+ I.openNewTab();
5
+ ```
6
+
7
+ @return {Promise<any>}
@@ -8,4 +8,5 @@ I.pressKey('Enter');
8
8
  I.pressKey(['Control','a']);
9
9
  ```
10
10
 
11
- @param {string|string[]} key key or array of keys to press.
11
+ @param {string|string[]} key key or array of keys to press.
12
+ @return {Promise<any>}
@@ -9,3 +9,4 @@ I.pressKeyUp('Control');
9
9
  ```
10
10
 
11
11
  @param {string} key name of key to press down.
12
+ @return {Promise<any>}
@@ -9,3 +9,4 @@ I.pressKeyUp('Control');
9
9
  ```
10
10
 
11
11
  @param {string} key name of key to release.
12
+ @return {Promise<any>}
@@ -57,3 +57,4 @@ Some of the supported key names are:
57
57
  - `'Tab'`
58
58
 
59
59
  @param {string|string[]} key key or array of keys to press.
60
+ @return {Promise<any>}
@@ -3,3 +3,4 @@ Reload the current page.
3
3
  ```js
4
4
  I.refreshPage();
5
5
  ```
6
+ @return {Promise<any>}
@@ -2,4 +2,5 @@ Resize the current window to provided width and height.
2
2
  First parameter can be set to `maximize`.
3
3
 
4
4
  @param {number} width width in pixels or `maximize`.
5
- @param {number} height height in pixels.
5
+ @param {number} height height in pixels.
6
+ @return {Promise<any>}
@@ -11,3 +11,4 @@ I.rightClick('Click me', '.context');
11
11
 
12
12
  @param {CodeceptJS.LocatorOrString} locator clickable element located by CSS|XPath|strict locator.
13
13
  @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS|XPath|strict locator.
14
+ @return {Promise<any>}
@@ -7,3 +7,4 @@ I.saveElementScreenshot(`#submit`,'debug.png');
7
7
 
8
8
  @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
9
9
  @param {string} fileName file name to save.
10
+ @return {Promise<any>}
@@ -8,4 +8,5 @@ I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scro
8
8
  ```
9
9
 
10
10
  @param {string} fileName file name to save.
11
- @param {boolean} [fullPage=false] (optional, `false` by default) flag to enable fullscreen screenshot mode.
11
+ @param {boolean} [fullPage=false] (optional, `false` by default) flag to enable fullscreen screenshot mode.
12
+ @return {Promise<any>}
@@ -6,4 +6,5 @@ I.say('This is blue', 'blue'); //blue is used
6
6
  I.say('This is by default'); //cyan is used
7
7
  ```
8
8
  @param {string} text expected on console log.
9
- @param {string} [color='cyan'] color you want to use.
9
+ @param {string} [color='cyan'] color you want to use.
10
+ @return {Promise<any>}
@@ -8,3 +8,4 @@ I.scrollIntoView('#submit', { behavior: "smooth", block: "center", inline: "cent
8
8
 
9
9
  @param {LocatorOrString} locator located by CSS|XPath|strict locator.
10
10
  @param {ScrollIntoViewOptions} scrollIntoViewOptions see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView.
11
+ @return {Promise<any>}
@@ -3,3 +3,4 @@ Scroll page to the bottom.
3
3
  ```js
4
4
  I.scrollPageToBottom();
5
5
  ```
6
+ @return {Promise<any>}
@@ -3,3 +3,4 @@ Scroll page to the top.
3
3
  ```js
4
4
  I.scrollPageToTop();
5
5
  ```
6
+ @return {Promise<any>}
@@ -8,4 +8,5 @@ I.scrollTo('#submit', 5, 5);
8
8
 
9
9
  @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
10
10
  @param {number} [offsetX=0] (optional, `0` by default) X-axis offset.
11
- @param {number} [offsetY=0] (optional, `0` by default) Y-axis offset.
11
+ @param {number} [offsetY=0] (optional, `0` by default) Y-axis offset.
12
+ @return {Promise<any>}
@@ -7,4 +7,5 @@ I.see('Welcome', '.content'); // text inside .content div
7
7
  I.see('Register', {css: 'form.register'}); // use strict locator
8
8
  ```
9
9
  @param {string} text expected on page.
10
- @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
10
+ @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
11
+ @return {Promise<any>}
@@ -5,4 +5,5 @@ I.seeAttributesOnElements('//form', { method: "post"});
5
5
  ```
6
6
 
7
7
  @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
8
- @param {object} attributes attributes and their values to check.
8
+ @param {object} attributes attributes and their values to check.
9
+ @return {Promise<any>}
@@ -7,3 +7,4 @@ I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
7
7
  ```
8
8
 
9
9
  @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
10
+ @return {Promise<any>}
@@ -5,3 +5,4 @@ I.seeCookie('Auth');
5
5
  ```
6
6
 
7
7
  @param {string} name cookie name.
8
+ @return {Promise<any>}
@@ -5,4 +5,5 @@ I.seeCssPropertiesOnElements('h3', { 'font-weight': "bold"});
5
5
  ```
6
6
 
7
7
  @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
8
- @param {object} cssProperties object with CSS properties and their values to check.
8
+ @param {object} cssProperties object with CSS properties and their values to check.
9
+ @return {Promise<any>}
@@ -7,4 +7,5 @@ I.seeCurrentUrlEquals('/register');
7
7
  I.seeCurrentUrlEquals('http://my.site.com/register');
8
8
  ```
9
9
 
10
- @param {string} url value to check.
10
+ @param {string} url value to check.
11
+ @return {Promise<any>}
@@ -4,4 +4,5 @@ Element is located by CSS or XPath.
4
4
  ```js
5
5
  I.seeElement('#modal');
6
6
  ```
7
- @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
7
+ @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
8
+ @return {Promise<any>}
@@ -5,3 +5,4 @@ Element is located by CSS or XPath.
5
5
  I.seeElementInDOM('#modal');
6
6
  ```
7
7
  @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
8
+ @return {Promise<any>}
@@ -4,4 +4,5 @@ Checks that current url contains a provided fragment.
4
4
  I.seeInCurrentUrl('/register'); // we are on registration page
5
5
  ```
6
6
 
7
- @param {string} url a fragment to check
7
+ @param {string} url a fragment to check
8
+ @return {Promise<any>}
@@ -9,3 +9,4 @@ I.seeInField('#searchform input','Search');
9
9
  ```
10
10
  @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
11
11
  @param {string} value value to check.
12
+ @return {Promise<any>}
@@ -5,3 +5,4 @@ given string.
5
5
  I.seeInPopup('Popup text');
6
6
  ```
7
7
  @param {string} text value to check.
8
+ @return {Promise<any>}
@@ -3,4 +3,5 @@ Checks that the current page contains the given string in its raw source code.
3
3
  ```js
4
4
  I.seeInSource('<h1>Green eggs &amp; ham</h1>');
5
5
  ```
6
- @param {string} text value to check.
6
+ @param {string} text value to check.
7
+ @return {Promise<any>}
@@ -4,4 +4,5 @@ Checks that title contains text.
4
4
  I.seeInTitle('Home Page');
5
5
  ```
6
6
 
7
- @param {string} text text value to check.
7
+ @param {string} text text value to check.
8
+ @return {Promise<any>}
@@ -8,3 +8,4 @@ I.seeNumberOfElements('#submitBtn', 1);
8
8
 
9
9
  @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
10
10
  @param {number} num number of elements.
11
+ @return {Promise<any>}
@@ -7,3 +7,4 @@ I.seeNumberOfVisibleElements('.buttons', 3);
7
7
 
8
8
  @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
9
9
  @param {number} num number of elements.
10
+ @return {Promise<any>}
@@ -5,4 +5,5 @@ I.seeTextEquals('text', 'h1');
5
5
  ```
6
6
 
7
7
  @param {string} text element value to check.
8
- @param {CodeceptJS.LocatorOrString?} [context=null] element located by CSS|XPath|strict locator.
8
+ @param {CodeceptJS.LocatorOrString?} [context=null] element located by CSS|XPath|strict locator.
9
+ @return {Promise<any>}
@@ -1,7 +1,8 @@
1
- Checks that title is equal to provided one.
1
+ Checks that title is equal to provided one.
2
2
 
3
- ```js
4
- I.seeTitleEquals('Test title.');
5
- ```
3
+ ```js
4
+ I.seeTitleEquals('Test title.');
5
+ ```
6
6
 
7
- @param {string} text value to check.
7
+ @param {string} text value to check.
8
+ @return {Promise<any>}
@@ -18,3 +18,4 @@ I.selectOption('Which OS do you use?', ['Android', 'iOS']);
18
18
  ```
19
19
  @param {LocatorOrString} select field located by label|name|CSS|XPath|strict locator.
20
20
  @param {string|Array<*>} option visible text or value of option.
21
+ @return {Promise<any>}
@@ -13,3 +13,4 @@ I.setCookie([
13
13
  ```
14
14
 
15
15
  @param {Cookie|Array<Cookie>} cookie a cookie object or array of cookie objects.
16
+ @return {Promise<any>}
@@ -9,3 +9,4 @@ I.setGeoLocation(121.21, 11.56, 10);
9
9
  @param {number} latitude to set.
10
10
  @param {number} longitude to set
11
11
  @param {number=} altitude (optional, null by default) to set
12
+ @return {Promise<any>}
@@ -5,4 +5,5 @@ I.switchTo('iframe'); // switch to first iframe
5
5
  I.switchTo(); // switch back to main page
6
6
  ```
7
7
 
8
- @param {?CodeceptJS.LocatorOrString} [locator=null] (optional, `null` by default) element located by CSS|XPath|strict locator.
8
+ @param {?CodeceptJS.LocatorOrString} [locator=null] (optional, `null` by default) element located by CSS|XPath|strict locator.
9
+ @return {Promise<any>}
@@ -1,9 +1,10 @@
1
- Switch focus to a particular tab by its number. It waits tabs loading and then switch tab.
1
+ Switch focus to a particular tab by its number. It waits tabs loading and then switch tab.
2
2
 
3
- ```js
4
- I.switchToNextTab();
5
- I.switchToNextTab(2);
6
- ```
3
+ ```js
4
+ I.switchToNextTab();
5
+ I.switchToNextTab(2);
6
+ ```
7
7
 
8
- @param {number} [num] (optional) number of tabs to switch forward, default: 1.
9
- @param {number | null} [sec] (optional) time in seconds to wait.
8
+ @param {number} [num] (optional) number of tabs to switch forward, default: 1.
9
+ @param {number | null} [sec] (optional) time in seconds to wait.
10
+ @return {Promise<any>}
@@ -1,9 +1,10 @@
1
- Switch focus to a particular tab by its number. It waits tabs loading and then switch tab.
1
+ Switch focus to a particular tab by its number. It waits tabs loading and then switch tab.
2
2
 
3
- ```js
4
- I.switchToPreviousTab();
5
- I.switchToPreviousTab(2);
6
- ```
3
+ ```js
4
+ I.switchToPreviousTab();
5
+ I.switchToPreviousTab(2);
6
+ ```
7
7
 
8
- @param {number} [num] (optional) number of tabs to switch backward, default: 1.
9
- @param {number?} [sec] (optional) time in seconds to wait.
8
+ @param {number} [num] (optional) number of tabs to switch backward, default: 1.
9
+ @param {number?} [sec] (optional) time in seconds to wait.
10
+ @return {Promise<any>}
@@ -15,3 +15,4 @@ I.type(['T', 'E', 'X', 'T']);
15
15
 
16
16
  @param {string|string[]} key or array of keys to type.
17
17
  @param {?number} [delay=null] (optional) delay in ms between key presses
18
+ @return {Promise<any>}
@@ -9,4 +9,5 @@ I.uncheckOption('I Agree to Terms and Conditions');
9
9
  I.uncheckOption('agree', '//form');
10
10
  ```
11
11
  @param {CodeceptJS.LocatorOrString} field checkbox located by label | name | CSS | XPath | strict locator.
12
- @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS | XPath | strict locator.
12
+ @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS | XPath | strict locator.
13
+ @return {Promise<any>}
@@ -4,4 +4,5 @@ Pauses execution for a number of seconds.
4
4
  I.wait(2); // wait 2 secs
5
5
  ```
6
6
 
7
- @param {number} sec number of second to wait.
7
+ @param {number} sec number of second to wait.
8
+ @return {Promise<any>}
@@ -7,4 +7,5 @@ I.waitForClickable('.btn.continue', 5); // wait for 5 secs
7
7
  ```
8
8
 
9
9
  @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
10
- @param {number} [sec] (optional, `1` by default) time in seconds to wait
10
+ @param {number} [sec] (optional, `1` by default) time in seconds to wait
11
+ @return {Promise<any>}
@@ -6,4 +6,5 @@ I.waitForDetached('#popup');
6
6
  ```
7
7
 
8
8
  @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
9
- @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
9
+ @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
10
+ @return {Promise<any>}