codeceptjs 3.5.12-beta.5 → 3.5.12-beta.6

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 (214) hide show
  1. package/lib/helper/Playwright.js +41 -22
  2. package/lib/helper/Puppeteer.js +23 -6
  3. package/lib/helper/WebDriver.js +23 -4
  4. package/lib/helper/errors/ElementAssertion.js +38 -0
  5. package/lib/locator.js +4 -13
  6. package/package.json +8 -10
  7. package/docs/advanced.md +0 -351
  8. package/docs/ai.md +0 -248
  9. package/docs/api.md +0 -323
  10. package/docs/basics.md +0 -979
  11. package/docs/bdd.md +0 -539
  12. package/docs/best.md +0 -237
  13. package/docs/books.md +0 -37
  14. package/docs/bootstrap.md +0 -135
  15. package/docs/build/ApiDataFactory.js +0 -410
  16. package/docs/build/Appium.js +0 -2027
  17. package/docs/build/Expect.js +0 -422
  18. package/docs/build/FileSystem.js +0 -228
  19. package/docs/build/GraphQL.js +0 -229
  20. package/docs/build/GraphQLDataFactory.js +0 -309
  21. package/docs/build/JSONResponse.js +0 -338
  22. package/docs/build/Mochawesome.js +0 -71
  23. package/docs/build/Nightmare.js +0 -2152
  24. package/docs/build/OpenAI.js +0 -126
  25. package/docs/build/Playwright.js +0 -5110
  26. package/docs/build/Protractor.js +0 -2706
  27. package/docs/build/Puppeteer.js +0 -3905
  28. package/docs/build/REST.js +0 -344
  29. package/docs/build/TestCafe.js +0 -2125
  30. package/docs/build/WebDriver.js +0 -4240
  31. package/docs/changelog.md +0 -2572
  32. package/docs/commands.md +0 -266
  33. package/docs/community-helpers.md +0 -58
  34. package/docs/configuration.md +0 -157
  35. package/docs/continuous-integration.md +0 -22
  36. package/docs/custom-helpers.md +0 -306
  37. package/docs/data.md +0 -379
  38. package/docs/detox.md +0 -235
  39. package/docs/docker.md +0 -136
  40. package/docs/email.md +0 -183
  41. package/docs/examples.md +0 -149
  42. package/docs/helpers/ApiDataFactory.md +0 -266
  43. package/docs/helpers/Appium.md +0 -1374
  44. package/docs/helpers/Detox.md +0 -586
  45. package/docs/helpers/Expect.md +0 -275
  46. package/docs/helpers/FileSystem.md +0 -152
  47. package/docs/helpers/GraphQL.md +0 -151
  48. package/docs/helpers/GraphQLDataFactory.md +0 -226
  49. package/docs/helpers/JSONResponse.md +0 -254
  50. package/docs/helpers/Mochawesome.md +0 -8
  51. package/docs/helpers/MockRequest.md +0 -377
  52. package/docs/helpers/Nightmare.md +0 -1305
  53. package/docs/helpers/OpenAI.md +0 -70
  54. package/docs/helpers/Playwright.md +0 -2759
  55. package/docs/helpers/Polly.md +0 -44
  56. package/docs/helpers/Protractor.md +0 -1769
  57. package/docs/helpers/Puppeteer-firefox.md +0 -86
  58. package/docs/helpers/Puppeteer.md +0 -2317
  59. package/docs/helpers/REST.md +0 -218
  60. package/docs/helpers/TestCafe.md +0 -1321
  61. package/docs/helpers/WebDriver.md +0 -2547
  62. package/docs/hooks.md +0 -340
  63. package/docs/index.md +0 -111
  64. package/docs/installation.md +0 -75
  65. package/docs/internal-api.md +0 -266
  66. package/docs/locators.md +0 -339
  67. package/docs/mobile-react-native-locators.md +0 -67
  68. package/docs/mobile.md +0 -338
  69. package/docs/pageobjects.md +0 -291
  70. package/docs/parallel.md +0 -400
  71. package/docs/playwright.md +0 -632
  72. package/docs/plugins.md +0 -1259
  73. package/docs/puppeteer.md +0 -316
  74. package/docs/quickstart.md +0 -162
  75. package/docs/react.md +0 -70
  76. package/docs/reports.md +0 -392
  77. package/docs/secrets.md +0 -36
  78. package/docs/shadow.md +0 -68
  79. package/docs/shared/keys.mustache +0 -31
  80. package/docs/shared/react.mustache +0 -1
  81. package/docs/testcafe.md +0 -174
  82. package/docs/translation.md +0 -247
  83. package/docs/tutorial.md +0 -271
  84. package/docs/typescript.md +0 -180
  85. package/docs/ui.md +0 -59
  86. package/docs/videos.md +0 -28
  87. package/docs/visual.md +0 -202
  88. package/docs/vue.md +0 -143
  89. package/docs/webapi/amOnPage.mustache +0 -11
  90. package/docs/webapi/appendField.mustache +0 -11
  91. package/docs/webapi/attachFile.mustache +0 -12
  92. package/docs/webapi/blur.mustache +0 -18
  93. package/docs/webapi/checkOption.mustache +0 -13
  94. package/docs/webapi/clearCookie.mustache +0 -9
  95. package/docs/webapi/clearField.mustache +0 -9
  96. package/docs/webapi/click.mustache +0 -25
  97. package/docs/webapi/clickLink.mustache +0 -8
  98. package/docs/webapi/closeCurrentTab.mustache +0 -7
  99. package/docs/webapi/closeOtherTabs.mustache +0 -8
  100. package/docs/webapi/dontSee.mustache +0 -11
  101. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +0 -10
  102. package/docs/webapi/dontSeeCookie.mustache +0 -8
  103. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +0 -10
  104. package/docs/webapi/dontSeeElement.mustache +0 -8
  105. package/docs/webapi/dontSeeElementInDOM.mustache +0 -8
  106. package/docs/webapi/dontSeeInCurrentUrl.mustache +0 -4
  107. package/docs/webapi/dontSeeInField.mustache +0 -11
  108. package/docs/webapi/dontSeeInSource.mustache +0 -8
  109. package/docs/webapi/dontSeeInTitle.mustache +0 -8
  110. package/docs/webapi/doubleClick.mustache +0 -13
  111. package/docs/webapi/downloadFile.mustache +0 -12
  112. package/docs/webapi/dragAndDrop.mustache +0 -9
  113. package/docs/webapi/dragSlider.mustache +0 -11
  114. package/docs/webapi/executeAsyncScript.mustache +0 -24
  115. package/docs/webapi/executeScript.mustache +0 -26
  116. package/docs/webapi/fillField.mustache +0 -16
  117. package/docs/webapi/focus.mustache +0 -13
  118. package/docs/webapi/forceClick.mustache +0 -28
  119. package/docs/webapi/forceRightClick.mustache +0 -18
  120. package/docs/webapi/grabAllWindowHandles.mustache +0 -7
  121. package/docs/webapi/grabAttributeFrom.mustache +0 -10
  122. package/docs/webapi/grabAttributeFromAll.mustache +0 -9
  123. package/docs/webapi/grabBrowserLogs.mustache +0 -9
  124. package/docs/webapi/grabCookie.mustache +0 -11
  125. package/docs/webapi/grabCssPropertyFrom.mustache +0 -11
  126. package/docs/webapi/grabCssPropertyFromAll.mustache +0 -10
  127. package/docs/webapi/grabCurrentUrl.mustache +0 -9
  128. package/docs/webapi/grabCurrentWindowHandle.mustache +0 -6
  129. package/docs/webapi/grabDataFromPerformanceTiming.mustache +0 -20
  130. package/docs/webapi/grabElementBoundingRect.mustache +0 -20
  131. package/docs/webapi/grabGeoLocation.mustache +0 -8
  132. package/docs/webapi/grabHTMLFrom.mustache +0 -10
  133. package/docs/webapi/grabHTMLFromAll.mustache +0 -9
  134. package/docs/webapi/grabNumberOfOpenTabs.mustache +0 -8
  135. package/docs/webapi/grabNumberOfVisibleElements.mustache +0 -9
  136. package/docs/webapi/grabPageScrollPosition.mustache +0 -8
  137. package/docs/webapi/grabPopupText.mustache +0 -5
  138. package/docs/webapi/grabSource.mustache +0 -8
  139. package/docs/webapi/grabTextFrom.mustache +0 -10
  140. package/docs/webapi/grabTextFromAll.mustache +0 -9
  141. package/docs/webapi/grabTitle.mustache +0 -8
  142. package/docs/webapi/grabValueFrom.mustache +0 -9
  143. package/docs/webapi/grabValueFromAll.mustache +0 -8
  144. package/docs/webapi/grabWebElement.mustache +0 -9
  145. package/docs/webapi/grabWebElements.mustache +0 -9
  146. package/docs/webapi/moveCursorTo.mustache +0 -12
  147. package/docs/webapi/openNewTab.mustache +0 -7
  148. package/docs/webapi/pressKey.mustache +0 -12
  149. package/docs/webapi/pressKeyDown.mustache +0 -12
  150. package/docs/webapi/pressKeyUp.mustache +0 -12
  151. package/docs/webapi/pressKeyWithKeyNormalization.mustache +0 -60
  152. package/docs/webapi/refreshPage.mustache +0 -6
  153. package/docs/webapi/resizeWindow.mustache +0 -6
  154. package/docs/webapi/rightClick.mustache +0 -14
  155. package/docs/webapi/saveElementScreenshot.mustache +0 -10
  156. package/docs/webapi/saveScreenshot.mustache +0 -12
  157. package/docs/webapi/say.mustache +0 -10
  158. package/docs/webapi/scrollIntoView.mustache +0 -11
  159. package/docs/webapi/scrollPageToBottom.mustache +0 -6
  160. package/docs/webapi/scrollPageToTop.mustache +0 -6
  161. package/docs/webapi/scrollTo.mustache +0 -12
  162. package/docs/webapi/see.mustache +0 -11
  163. package/docs/webapi/seeAttributesOnElements.mustache +0 -9
  164. package/docs/webapi/seeCheckboxIsChecked.mustache +0 -10
  165. package/docs/webapi/seeCookie.mustache +0 -8
  166. package/docs/webapi/seeCssPropertiesOnElements.mustache +0 -9
  167. package/docs/webapi/seeCurrentUrlEquals.mustache +0 -11
  168. package/docs/webapi/seeElement.mustache +0 -8
  169. package/docs/webapi/seeElementInDOM.mustache +0 -8
  170. package/docs/webapi/seeInCurrentUrl.mustache +0 -8
  171. package/docs/webapi/seeInField.mustache +0 -12
  172. package/docs/webapi/seeInPopup.mustache +0 -8
  173. package/docs/webapi/seeInSource.mustache +0 -7
  174. package/docs/webapi/seeInTitle.mustache +0 -8
  175. package/docs/webapi/seeNumberOfElements.mustache +0 -11
  176. package/docs/webapi/seeNumberOfVisibleElements.mustache +0 -10
  177. package/docs/webapi/seeTextEquals.mustache +0 -9
  178. package/docs/webapi/seeTitleEquals.mustache +0 -8
  179. package/docs/webapi/selectOption.mustache +0 -21
  180. package/docs/webapi/setCookie.mustache +0 -16
  181. package/docs/webapi/setGeoLocation.mustache +0 -12
  182. package/docs/webapi/switchTo.mustache +0 -9
  183. package/docs/webapi/switchToNextTab.mustache +0 -10
  184. package/docs/webapi/switchToPreviousTab.mustache +0 -10
  185. package/docs/webapi/type.mustache +0 -21
  186. package/docs/webapi/uncheckOption.mustache +0 -13
  187. package/docs/webapi/wait.mustache +0 -8
  188. package/docs/webapi/waitForClickable.mustache +0 -11
  189. package/docs/webapi/waitForDetached.mustache +0 -10
  190. package/docs/webapi/waitForElement.mustache +0 -11
  191. package/docs/webapi/waitForEnabled.mustache +0 -6
  192. package/docs/webapi/waitForFunction.mustache +0 -17
  193. package/docs/webapi/waitForInvisible.mustache +0 -10
  194. package/docs/webapi/waitForNumberOfTabs.mustache +0 -9
  195. package/docs/webapi/waitForText.mustache +0 -13
  196. package/docs/webapi/waitForValue.mustache +0 -10
  197. package/docs/webapi/waitForVisible.mustache +0 -10
  198. package/docs/webapi/waitInUrl.mustache +0 -9
  199. package/docs/webapi/waitNumberOfVisibleElements.mustache +0 -10
  200. package/docs/webapi/waitToHide.mustache +0 -10
  201. package/docs/webapi/waitUrlEquals.mustache +0 -10
  202. package/docs/webdriver.md +0 -701
  203. package/docs/wiki/Books-&-Posts.md +0 -27
  204. package/docs/wiki/Community-Helpers-&-Plugins.md +0 -53
  205. package/docs/wiki/Converting-Playwright-to-Istanbul-Coverage.md +0 -61
  206. package/docs/wiki/Examples.md +0 -145
  207. package/docs/wiki/Google-Summer-of-Code-(GSoC)-2020.md +0 -68
  208. package/docs/wiki/Home.md +0 -16
  209. package/docs/wiki/Migration-to-Appium-v2---CodeceptJS.md +0 -83
  210. package/docs/wiki/Release-Process.md +0 -24
  211. package/docs/wiki/Roadmap.md +0 -23
  212. package/docs/wiki/Tests.md +0 -1393
  213. package/docs/wiki/Upgrading-to-CodeceptJS-3.md +0 -153
  214. package/docs/wiki/Videos.md +0 -19
@@ -1,9 +0,0 @@
1
- Grab WebElements for given locator
2
- Resumes test execution, so **should be used inside an async function with `await`** operator.
3
-
4
- ```js
5
- const webElements = await I.grabWebElements('#button');
6
- ```
7
-
8
- @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
9
- @returns {Promise<*>} WebElement of being used Web helper
@@ -1,12 +0,0 @@
1
- Moves cursor to element matched by locator.
2
- Extra shift can be set with offsetX and offsetY options.
3
-
4
- ```js
5
- I.moveCursorTo('.tooltip');
6
- I.moveCursorTo('#submit', 5,5);
7
- ```
8
-
9
- @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
10
- @param {number} [offsetX=0] (optional, `0` by default) X-axis offset.
11
- @param {number} [offsetY=0] (optional, `0` by default) Y-axis offset.
12
- @returns {void} automatically synchronized promise through #recorder
@@ -1,7 +0,0 @@
1
- Open new tab and switch to it.
2
-
3
- ```js
4
- I.openNewTab();
5
- ```
6
-
7
- @returns {void} automatically synchronized promise through #recorder
@@ -1,12 +0,0 @@
1
- Presses a key on a focused element.
2
- Special keys like 'Enter', 'Control', [etc](https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/value)
3
- will be replaced with corresponding unicode.
4
- If modifier key is used (Control, Command, Alt, Shift) in array, it will be released afterwards.
5
-
6
- ```js
7
- I.pressKey('Enter');
8
- I.pressKey(['Control','a']);
9
- ```
10
-
11
- @param {string|string[]} key key or array of keys to press.
12
- @returns {void} automatically synchronized promise through #recorder
@@ -1,12 +0,0 @@
1
- Presses a key in the browser and leaves it in a down state.
2
-
3
- To make combinations with modifier key and user operation (e.g. `'Control'` + [`click`](#click)).
4
-
5
- ```js
6
- I.pressKeyDown('Control');
7
- I.click('#element');
8
- I.pressKeyUp('Control');
9
- ```
10
-
11
- @param {string} key name of key to press down.
12
- @returns {void} automatically synchronized promise through #recorder
@@ -1,12 +0,0 @@
1
- Releases a key in the browser which was previously set to a down state.
2
-
3
- To make combinations with modifier key and user operation (e.g. `'Control'` + [`click`](#click)).
4
-
5
- ```js
6
- I.pressKeyDown('Control');
7
- I.click('#element');
8
- I.pressKeyUp('Control');
9
- ```
10
-
11
- @param {string} key name of key to release.
12
- @returns {void} automatically synchronized promise through #recorder
@@ -1,60 +0,0 @@
1
- Presses a key in the browser (on a focused element).
2
-
3
- _Hint:_ For populating text field or textarea, it is recommended to use [`fillField`](#fillfield).
4
-
5
- ```js
6
- I.pressKey('Backspace');
7
- ```
8
-
9
- To press a key in combination with modifier keys, pass the sequence as an array. All modifier keys (`'Alt'`, `'Control'`, `'Meta'`, `'Shift'`) will be released afterwards.
10
-
11
- ```js
12
- I.pressKey(['Control', 'Z']);
13
- ```
14
-
15
- For specifying operation modifier key based on operating system it is suggested to use `'CommandOrControl'`.
16
- This will press `'Command'` (also known as `'Meta'`) on macOS machines and `'Control'` on non-macOS machines.
17
-
18
- ```js
19
- I.pressKey(['CommandOrControl', 'Z']);
20
- ```
21
-
22
- Some of the supported key names are:
23
- - `'AltLeft'` or `'Alt'`
24
- - `'AltRight'`
25
- - `'ArrowDown'`
26
- - `'ArrowLeft'`
27
- - `'ArrowRight'`
28
- - `'ArrowUp'`
29
- - `'Backspace'`
30
- - `'Clear'`
31
- - `'ControlLeft'` or `'Control'`
32
- - `'ControlRight'`
33
- - `'Command'`
34
- - `'CommandOrControl'`
35
- - `'Delete'`
36
- - `'End'`
37
- - `'Enter'`
38
- - `'Escape'`
39
- - `'F1'` to `'F12'`
40
- - `'Home'`
41
- - `'Insert'`
42
- - `'MetaLeft'` or `'Meta'`
43
- - `'MetaRight'`
44
- - `'Numpad0'` to `'Numpad9'`
45
- - `'NumpadAdd'`
46
- - `'NumpadDecimal'`
47
- - `'NumpadDivide'`
48
- - `'NumpadMultiply'`
49
- - `'NumpadSubtract'`
50
- - `'PageDown'`
51
- - `'PageUp'`
52
- - `'Pause'`
53
- - `'Return'`
54
- - `'ShiftLeft'` or `'Shift'`
55
- - `'ShiftRight'`
56
- - `'Space'`
57
- - `'Tab'`
58
-
59
- @param {string|string[]} key key or array of keys to press.
60
- @returns {void} automatically synchronized promise through #recorder
@@ -1,6 +0,0 @@
1
- Reload the current page.
2
-
3
- ```js
4
- I.refreshPage();
5
- ```
6
- @returns {void} automatically synchronized promise through #recorder
@@ -1,6 +0,0 @@
1
- Resize the current window to provided width and height.
2
- First parameter can be set to `maximize`.
3
-
4
- @param {number} width width in pixels or `maximize`.
5
- @param {number} height height in pixels.
6
- @returns {void} automatically synchronized promise through #recorder
@@ -1,14 +0,0 @@
1
- Performs right click on a clickable element matched by semantic locator, CSS or XPath.
2
-
3
- ```js
4
- // right click element with id el
5
- I.rightClick('#el');
6
- // right click link or button with text "Click me"
7
- I.rightClick('Click me');
8
- // right click button with text "Click me" inside .context
9
- I.rightClick('Click me', '.context');
10
- ```
11
-
12
- @param {CodeceptJS.LocatorOrString} locator clickable element located by CSS|XPath|strict locator.
13
- @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS|XPath|strict locator.
14
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Saves screenshot of the specified locator to ouput folder (set in codecept.conf.ts or codecept.conf.js).
2
- Filename is relative to output folder.
3
-
4
- ```js
5
- I.saveElementScreenshot(`#submit`,'debug.png');
6
- ```
7
-
8
- @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
9
- @param {string} fileName file name to save.
10
- @returns {void} automatically synchronized promise through #recorder
@@ -1,12 +0,0 @@
1
- Saves a screenshot to ouput folder (set in codecept.conf.ts or codecept.conf.js).
2
- Filename is relative to output folder.
3
- Optionally resize the window to the full available page `scrollHeight` and `scrollWidth` to capture the entire page by passing `true` in as the second argument.
4
-
5
- ```js
6
- I.saveScreenshot('debug.png');
7
- I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scrollWidth before taking screenshot
8
- ```
9
-
10
- @param {string} fileName file name to save.
11
- @param {boolean} [fullPage=false] (optional, `false` by default) flag to enable fullscreen screenshot mode.
12
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Print a text in console log
2
-
3
- ```js
4
- I.say('This is red', 'red'); //red is used
5
- I.say('This is blue', 'blue'); //blue is used
6
- I.say('This is by default'); //cyan is used
7
- ```
8
- @param {string} text expected on console log.
9
- @param {string} [color='cyan'] color you want to use.
10
- @returns {void} automatically synchronized promise through #recorder
@@ -1,11 +0,0 @@
1
- Scroll element into viewport.
2
-
3
- ```js
4
- I.scrollIntoView('#submit');
5
- I.scrollIntoView('#submit', true);
6
- I.scrollIntoView('#submit', { behavior: "smooth", block: "center", inline: "center" });
7
- ```
8
-
9
- @param {LocatorOrString} locator located by CSS|XPath|strict locator.
10
- @param {ScrollIntoViewOptions|boolean} scrollIntoViewOptions either alignToTop=true|false or scrollIntoViewOptions. See https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView.
11
- @returns {void} automatically synchronized promise through #recorder
@@ -1,6 +0,0 @@
1
- Scroll page to the bottom.
2
-
3
- ```js
4
- I.scrollPageToBottom();
5
- ```
6
- @returns {void} automatically synchronized promise through #recorder
@@ -1,6 +0,0 @@
1
- Scroll page to the top.
2
-
3
- ```js
4
- I.scrollPageToTop();
5
- ```
6
- @returns {void} automatically synchronized promise through #recorder
@@ -1,12 +0,0 @@
1
- Scrolls to element matched by locator.
2
- Extra shift can be set with offsetX and offsetY options.
3
-
4
- ```js
5
- I.scrollTo('footer');
6
- I.scrollTo('#submit', 5, 5);
7
- ```
8
-
9
- @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
10
- @param {number} [offsetX=0] (optional, `0` by default) X-axis offset.
11
- @param {number} [offsetY=0] (optional, `0` by default) Y-axis offset.
12
- @returns {void} automatically synchronized promise through #recorder
@@ -1,11 +0,0 @@
1
- Checks that a page contains a visible text.
2
- Use context parameter to narrow down the search.
3
-
4
- ```js
5
- I.see('Welcome'); // text welcome on a page
6
- I.see('Welcome', '.content'); // text inside .content div
7
- I.see('Register', {css: 'form.register'}); // use strict locator
8
- ```
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.
11
- @returns {void} automatically synchronized promise through #recorder
@@ -1,9 +0,0 @@
1
- Checks that all elements with given locator have given attributes.
2
-
3
- ```js
4
- I.seeAttributesOnElements('//form', { method: "post"});
5
- ```
6
-
7
- @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
8
- @param {object} attributes attributes and their values to check.
9
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Verifies that the specified checkbox is checked.
2
-
3
- ```js
4
- I.seeCheckboxIsChecked('Agree');
5
- I.seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms
6
- I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
7
- ```
8
-
9
- @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
10
- @returns {void} automatically synchronized promise through #recorder
@@ -1,8 +0,0 @@
1
- Checks that cookie with given name exists.
2
-
3
- ```js
4
- I.seeCookie('Auth');
5
- ```
6
-
7
- @param {string} name cookie name.
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,9 +0,0 @@
1
- Checks that all elements with given locator have given CSS properties.
2
-
3
- ```js
4
- I.seeCssPropertiesOnElements('h3', { 'font-weight': "bold"});
5
- ```
6
-
7
- @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
8
- @param {object} cssProperties object with CSS properties and their values to check.
9
- @returns {void} automatically synchronized promise through #recorder
@@ -1,11 +0,0 @@
1
- Checks that current url is equal to provided one.
2
- If a relative url provided, a configured url will be prepended to it.
3
- So both examples will work:
4
-
5
- ```js
6
- I.seeCurrentUrlEquals('/register');
7
- I.seeCurrentUrlEquals('http://my.site.com/register');
8
- ```
9
-
10
- @param {string} url value to check.
11
- @returns {void} automatically synchronized promise through #recorder
@@ -1,8 +0,0 @@
1
- Checks that a given Element is visible
2
- Element is located by CSS or XPath.
3
-
4
- ```js
5
- I.seeElement('#modal');
6
- ```
7
- @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,8 +0,0 @@
1
- Checks that a given Element is present in the DOM
2
- Element is located by CSS or XPath.
3
-
4
- ```js
5
- I.seeElementInDOM('#modal');
6
- ```
7
- @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,8 +0,0 @@
1
- Checks that current url contains a provided fragment.
2
-
3
- ```js
4
- I.seeInCurrentUrl('/register'); // we are on registration page
5
- ```
6
-
7
- @param {string} url a fragment to check
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,12 +0,0 @@
1
- Checks that the given input field or textarea equals to given value.
2
- For fuzzy locators, fields are matched by label text, the "name" attribute, CSS, and XPath.
3
-
4
- ```js
5
- I.seeInField('Username', 'davert');
6
- I.seeInField({css: 'form textarea'},'Type your comment here');
7
- I.seeInField('form input[type=hidden]','hidden_value');
8
- I.seeInField('#searchform input','Search');
9
- ```
10
- @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
11
- @param {CodeceptJS.StringOrSecret} value value to check.
12
- @returns {void} automatically synchronized promise through #recorder
@@ -1,8 +0,0 @@
1
- Checks that the active JavaScript popup, as created by `window.alert|window.confirm|window.prompt`, contains the
2
- given string.
3
-
4
- ```js
5
- I.seeInPopup('Popup text');
6
- ```
7
- @param {string} text value to check.
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,7 +0,0 @@
1
- Checks that the current page contains the given string in its raw source code.
2
-
3
- ```js
4
- I.seeInSource('<h1>Green eggs &amp; ham</h1>');
5
- ```
6
- @param {string} text value to check.
7
- @returns {void} automatically synchronized promise through #recorder
@@ -1,8 +0,0 @@
1
- Checks that title contains text.
2
-
3
- ```js
4
- I.seeInTitle('Home Page');
5
- ```
6
-
7
- @param {string} text text value to check.
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,11 +0,0 @@
1
- Asserts that an element appears a given number of times in the DOM.
2
- Element is located by label or name or CSS or XPath.
3
-
4
-
5
- ```js
6
- I.seeNumberOfElements('#submitBtn', 1);
7
- ```
8
-
9
- @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
10
- @param {number} num number of elements.
11
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Asserts that an element is visible a given number of times.
2
- Element is located by CSS or XPath.
3
-
4
- ```js
5
- I.seeNumberOfVisibleElements('.buttons', 3);
6
- ```
7
-
8
- @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
9
- @param {number} num number of elements.
10
- @returns {void} automatically synchronized promise through #recorder
@@ -1,9 +0,0 @@
1
- Checks that text is equal to provided one.
2
-
3
- ```js
4
- I.seeTextEquals('text', 'h1');
5
- ```
6
-
7
- @param {string} text element value to check.
8
- @param {CodeceptJS.LocatorOrString?} [context=null] element located by CSS|XPath|strict locator.
9
- @returns {void} automatically synchronized promise through #recorder
@@ -1,8 +0,0 @@
1
- Checks that title is equal to provided one.
2
-
3
- ```js
4
- I.seeTitleEquals('Test title.');
5
- ```
6
-
7
- @param {string} text value to check.
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,21 +0,0 @@
1
- Selects an option in a drop-down select.
2
- Field is searched by label | name | CSS | XPath.
3
- Option is selected by visible text or by value.
4
-
5
- ```js
6
- I.selectOption('Choose Plan', 'Monthly'); // select by label
7
- I.selectOption('subscription', 'Monthly'); // match option by text
8
- I.selectOption('subscription', '0'); // or by value
9
- I.selectOption('//form/select[@name=account]','Premium');
10
- I.selectOption('form select[name=account]', 'Premium');
11
- I.selectOption({css: 'form select[name=account]'}, 'Premium');
12
- ```
13
-
14
- Provide an array for the second argument to select multiple options.
15
-
16
- ```js
17
- I.selectOption('Which OS do you use?', ['Android', 'iOS']);
18
- ```
19
- @param {LocatorOrString} select field located by label|name|CSS|XPath|strict locator.
20
- @param {string|Array<*>} option visible text or value of option.
21
- @returns {void} automatically synchronized promise through #recorder
@@ -1,16 +0,0 @@
1
- Sets cookie(s).
2
-
3
- Can be a single cookie object or an array of cookies:
4
-
5
- ```js
6
- I.setCookie({name: 'auth', value: true});
7
-
8
- // as array
9
- I.setCookie([
10
- {name: 'auth', value: true},
11
- {name: 'agree', value: true}
12
- ]);
13
- ```
14
-
15
- @param {Cookie|Array<Cookie>} cookie a cookie object or array of cookie objects.
16
- @returns {void} automatically synchronized promise through #recorder
@@ -1,12 +0,0 @@
1
- Set the current geo location
2
-
3
-
4
- ```js
5
- I.setGeoLocation(121.21, 11.56);
6
- I.setGeoLocation(121.21, 11.56, 10);
7
- ```
8
-
9
- @param {number} latitude to set.
10
- @param {number} longitude to set
11
- @param {number=} altitude (optional, null by default) to set
12
- @returns {void} automatically synchronized promise through #recorder
@@ -1,9 +0,0 @@
1
- Switches frame or in case of null locator reverts to parent.
2
-
3
- ```js
4
- I.switchTo('iframe'); // switch to first iframe
5
- I.switchTo(); // switch back to main page
6
- ```
7
-
8
- @param {?CodeceptJS.LocatorOrString} [locator=null] (optional, `null` by default) element located by CSS|XPath|strict locator.
9
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Switch focus to a particular tab by its number. It waits tabs loading and then switch tab.
2
-
3
- ```js
4
- I.switchToNextTab();
5
- I.switchToNextTab(2);
6
- ```
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.
10
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Switch focus to a particular tab by its number. It waits tabs loading and then switch tab.
2
-
3
- ```js
4
- I.switchToPreviousTab();
5
- I.switchToPreviousTab(2);
6
- ```
7
-
8
- @param {number} [num] (optional) number of tabs to switch backward, default: 1.
9
- @param {number?} [sec] (optional) time in seconds to wait.
10
- @returns {void} automatically synchronized promise through #recorder
@@ -1,21 +0,0 @@
1
- Types out the given text into an active field.
2
- To slow down typing use a second parameter, to set interval between key presses.
3
- _Note:_ Should be used when [`fillField`](#fillfield) is not an option.
4
-
5
- ```js
6
- // passing in a string
7
- I.type('Type this out.');
8
-
9
- // typing values with a 100ms interval
10
- I.type('4141555311111111', 100);
11
-
12
- // passing in an array
13
- I.type(['T', 'E', 'X', 'T']);
14
-
15
- // passing a secret
16
- I.type(secret('123456'));
17
- ```
18
-
19
- @param {string|string[]} key or array of keys to type.
20
- @param {?number} [delay=null] (optional) delay in ms between key presses
21
- @returns {void} automatically synchronized promise through #recorder
@@ -1,13 +0,0 @@
1
- Unselects a checkbox or radio button.
2
- Element is located by label or name or CSS or XPath.
3
-
4
- The second parameter is a context (CSS or XPath locator) to narrow the search.
5
-
6
- ```js
7
- I.uncheckOption('#agree');
8
- I.uncheckOption('I Agree to Terms and Conditions');
9
- I.uncheckOption('agree', '//form');
10
- ```
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.
13
- @returns {void} automatically synchronized promise through #recorder
@@ -1,8 +0,0 @@
1
- Pauses execution for a number of seconds.
2
-
3
- ```js
4
- I.wait(2); // wait 2 secs
5
- ```
6
-
7
- @param {number} sec number of second to wait.
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,11 +0,0 @@
1
- Waits for element to be clickable (by default waits for 1sec).
2
- Element can be located by CSS or XPath.
3
-
4
- ```js
5
- I.waitForClickable('.btn.continue');
6
- I.waitForClickable('.btn.continue', 5); // wait for 5 secs
7
- ```
8
-
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
11
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Waits for an element to become not attached to the DOM on a page (by default waits for 1sec).
2
- Element can be located by CSS or XPath.
3
-
4
- ```js
5
- I.waitForDetached('#popup');
6
- ```
7
-
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
10
- @returns {void} automatically synchronized promise through #recorder
@@ -1,11 +0,0 @@
1
- Waits for element to be present on page (by default waits for 1sec).
2
- Element can be located by CSS or XPath.
3
-
4
- ```js
5
- I.waitForElement('.btn.continue');
6
- I.waitForElement('.btn.continue', 5); // wait for 5 secs
7
- ```
8
-
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
11
- @returns {void} automatically synchronized promise through #recorder
@@ -1,6 +0,0 @@
1
- Waits for element to become enabled (by default waits for 1sec).
2
- Element can be located by CSS or XPath.
3
-
4
- @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
5
- @param {number} [sec=1] (optional) time in seconds to wait, 1 by default.
6
- @returns {void} automatically synchronized promise through #recorder
@@ -1,17 +0,0 @@
1
- Waits for a function to return true (waits for 1 sec by default).
2
- Running in browser context.
3
-
4
- ```js
5
- I.waitForFunction(fn[, [args[, timeout]])
6
- ```
7
-
8
- ```js
9
- I.waitForFunction(() => window.requests == 0);
10
- I.waitForFunction(() => window.requests == 0, 5); // waits for 5 sec
11
- I.waitForFunction((count) => window.requests == count, [3], 5) // pass args and wait for 5 sec
12
- ```
13
-
14
- @param {string|function} fn to be executed in browser context.
15
- @param {any[]|number} [argsOrSec] (optional, `1` by default) arguments for function or seconds.
16
- @param {number} [sec] (optional, `1` by default) time in seconds to wait
17
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Waits for an element to be removed or become invisible on a page (by default waits for 1sec).
2
- Element can be located by CSS or XPath.
3
-
4
- ```js
5
- I.waitForInvisible('#popup');
6
- ```
7
-
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
10
- @returns {void} automatically synchronized promise through #recorder