codeceptjs 4.0.0-rc.17 → 4.0.0-rc.19

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 (240) hide show
  1. package/bin/codecept.js +15 -2
  2. package/bin/codeceptq.js +49 -0
  3. package/bin/mcp-server.js +733 -196
  4. package/docs/advanced.md +201 -0
  5. package/docs/agents.md +159 -0
  6. package/docs/ai.md +537 -0
  7. package/docs/aitrace.md +266 -0
  8. package/docs/api.md +332 -0
  9. package/docs/assertions.md +415 -0
  10. package/docs/auth.md +318 -0
  11. package/docs/basics.md +424 -0
  12. package/docs/bdd.md +539 -0
  13. package/docs/best.md +240 -0
  14. package/docs/bootstrap.md +132 -0
  15. package/docs/commands.md +352 -0
  16. package/docs/community-helpers.md +63 -0
  17. package/docs/configuration.md +230 -0
  18. package/docs/continuous-integration.md +497 -0
  19. package/docs/custom-helpers.md +297 -0
  20. package/docs/data.md +448 -0
  21. package/docs/debugging.md +332 -0
  22. package/docs/detox.md +235 -0
  23. package/docs/docker.md +136 -0
  24. package/docs/effects.md +179 -0
  25. package/docs/element-based-testing.md +295 -0
  26. package/docs/element-selection.md +125 -0
  27. package/docs/els.md +328 -0
  28. package/docs/examples.md +161 -0
  29. package/docs/heal.md +213 -0
  30. package/docs/helpers/ApiDataFactory.md +267 -0
  31. package/docs/helpers/Appium.md +1405 -0
  32. package/docs/helpers/Detox.md +665 -0
  33. package/docs/helpers/ExpectHelper.md +275 -0
  34. package/docs/helpers/FileSystem.md +152 -0
  35. package/docs/helpers/GraphQL.md +152 -0
  36. package/docs/helpers/GraphQLDataFactory.md +226 -0
  37. package/docs/helpers/JSONResponse.md +255 -0
  38. package/docs/helpers/Mochawesome.md +8 -0
  39. package/docs/helpers/MockRequest.md +377 -0
  40. package/docs/helpers/MockServer.md +212 -0
  41. package/docs/helpers/Playwright.md +2969 -0
  42. package/docs/helpers/Polly.md +44 -0
  43. package/docs/helpers/Protractor.md +1769 -0
  44. package/docs/helpers/Puppeteer-firefox.md +86 -0
  45. package/docs/helpers/Puppeteer.md +2690 -0
  46. package/docs/helpers/REST.md +289 -0
  47. package/docs/helpers/SoftExpectHelper.md +352 -0
  48. package/docs/helpers/WebDriver.md +2682 -0
  49. package/docs/hooks.md +339 -0
  50. package/docs/index.md +111 -0
  51. package/docs/installation.md +83 -0
  52. package/docs/internal-api.md +265 -0
  53. package/docs/internal-test-server.md +89 -0
  54. package/docs/locators.md +355 -0
  55. package/docs/mcp.md +485 -0
  56. package/docs/migration-4.md +556 -0
  57. package/docs/mobile.md +338 -0
  58. package/docs/pageobjects.md +399 -0
  59. package/docs/parallel.md +585 -0
  60. package/docs/playwright.md +714 -0
  61. package/docs/plugins.md +866 -0
  62. package/docs/puppeteer.md +314 -0
  63. package/docs/quickstart.md +120 -0
  64. package/docs/react.md +70 -0
  65. package/docs/reports.md +483 -0
  66. package/docs/retry.md +274 -0
  67. package/docs/secrets.md +150 -0
  68. package/docs/sessions.md +80 -0
  69. package/docs/shadow.md +68 -0
  70. package/docs/test-structure.md +275 -0
  71. package/docs/timeouts.md +183 -0
  72. package/docs/translation.md +247 -0
  73. package/docs/tutorial.md +271 -0
  74. package/docs/typescript.md +374 -0
  75. package/docs/web-element.md +251 -0
  76. package/docs/webdriver.md +708 -0
  77. package/docs/within.md +55 -0
  78. package/lib/aria.js +260 -0
  79. package/lib/command/dryRun.js +23 -3
  80. package/lib/command/init.js +247 -266
  81. package/lib/command/list.js +150 -10
  82. package/lib/command/query.js +218 -0
  83. package/lib/config.js +77 -4
  84. package/lib/container.js +34 -2
  85. package/lib/element/WebElement.js +37 -0
  86. package/lib/globals.js +11 -10
  87. package/lib/helper/Playwright.js +5 -6
  88. package/lib/helper/extras/PlaywrightReactVueLocator.js +45 -36
  89. package/lib/html.js +90 -16
  90. package/lib/index.js +9 -1
  91. package/lib/locator.js +2 -2
  92. package/lib/mocha/factory.js +5 -1
  93. package/lib/mocha/inject.js +1 -1
  94. package/lib/parser.js +2 -2
  95. package/lib/pause.js +38 -4
  96. package/lib/plugin/aiTrace.js +72 -84
  97. package/lib/plugin/browser.js +77 -0
  98. package/lib/plugin/expose.js +159 -0
  99. package/lib/plugin/heal.js +44 -1
  100. package/lib/plugin/pageInfo.js +51 -48
  101. package/lib/plugin/pause.js +131 -0
  102. package/lib/plugin/pauseOnFail.js +10 -34
  103. package/lib/plugin/screencast.js +287 -0
  104. package/lib/plugin/screenshot.js +563 -0
  105. package/lib/plugin/screenshotOnFail.js +8 -170
  106. package/lib/utils/pluginParser.js +151 -0
  107. package/lib/utils/trace.js +297 -0
  108. package/lib/utils.js +25 -0
  109. package/lib/workers.js +1 -15
  110. package/package.json +12 -10
  111. package/typings/index.d.ts +0 -5
  112. package/docs/webapi/amOnPage.mustache +0 -11
  113. package/docs/webapi/appendField.mustache +0 -16
  114. package/docs/webapi/attachFile.mustache +0 -24
  115. package/docs/webapi/blur.mustache +0 -18
  116. package/docs/webapi/checkOption.mustache +0 -13
  117. package/docs/webapi/clearCookie.mustache +0 -9
  118. package/docs/webapi/clearField.mustache +0 -14
  119. package/docs/webapi/click.mustache +0 -29
  120. package/docs/webapi/clickLink.mustache +0 -8
  121. package/docs/webapi/closeCurrentTab.mustache +0 -7
  122. package/docs/webapi/closeOtherTabs.mustache +0 -8
  123. package/docs/webapi/dontSee.mustache +0 -11
  124. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +0 -10
  125. package/docs/webapi/dontSeeCookie.mustache +0 -8
  126. package/docs/webapi/dontSeeCurrentPathEquals.mustache +0 -10
  127. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +0 -10
  128. package/docs/webapi/dontSeeElement.mustache +0 -12
  129. package/docs/webapi/dontSeeElementInDOM.mustache +0 -8
  130. package/docs/webapi/dontSeeInCurrentUrl.mustache +0 -4
  131. package/docs/webapi/dontSeeInField.mustache +0 -16
  132. package/docs/webapi/dontSeeInSource.mustache +0 -8
  133. package/docs/webapi/dontSeeInTitle.mustache +0 -8
  134. package/docs/webapi/dontSeeTraffic.mustache +0 -13
  135. package/docs/webapi/doubleClick.mustache +0 -13
  136. package/docs/webapi/downloadFile.mustache +0 -12
  137. package/docs/webapi/dragAndDrop.mustache +0 -9
  138. package/docs/webapi/dragSlider.mustache +0 -11
  139. package/docs/webapi/executeAsyncScript.mustache +0 -24
  140. package/docs/webapi/executeScript.mustache +0 -26
  141. package/docs/webapi/fillField.mustache +0 -21
  142. package/docs/webapi/flushNetworkTraffics.mustache +0 -5
  143. package/docs/webapi/focus.mustache +0 -13
  144. package/docs/webapi/forceClick.mustache +0 -28
  145. package/docs/webapi/forceRightClick.mustache +0 -18
  146. package/docs/webapi/grabAllWindowHandles.mustache +0 -7
  147. package/docs/webapi/grabAttributeFrom.mustache +0 -10
  148. package/docs/webapi/grabAttributeFromAll.mustache +0 -9
  149. package/docs/webapi/grabBrowserLogs.mustache +0 -9
  150. package/docs/webapi/grabCookie.mustache +0 -11
  151. package/docs/webapi/grabCssPropertyFrom.mustache +0 -11
  152. package/docs/webapi/grabCssPropertyFromAll.mustache +0 -10
  153. package/docs/webapi/grabCurrentUrl.mustache +0 -9
  154. package/docs/webapi/grabCurrentWindowHandle.mustache +0 -6
  155. package/docs/webapi/grabDataFromPerformanceTiming.mustache +0 -20
  156. package/docs/webapi/grabElementBoundingRect.mustache +0 -20
  157. package/docs/webapi/grabGeoLocation.mustache +0 -8
  158. package/docs/webapi/grabHTMLFrom.mustache +0 -10
  159. package/docs/webapi/grabHTMLFromAll.mustache +0 -9
  160. package/docs/webapi/grabNumberOfOpenTabs.mustache +0 -8
  161. package/docs/webapi/grabNumberOfVisibleElements.mustache +0 -9
  162. package/docs/webapi/grabPageScrollPosition.mustache +0 -8
  163. package/docs/webapi/grabPopupText.mustache +0 -5
  164. package/docs/webapi/grabRecordedNetworkTraffics.mustache +0 -10
  165. package/docs/webapi/grabSource.mustache +0 -8
  166. package/docs/webapi/grabTextFrom.mustache +0 -10
  167. package/docs/webapi/grabTextFromAll.mustache +0 -9
  168. package/docs/webapi/grabTitle.mustache +0 -8
  169. package/docs/webapi/grabValueFrom.mustache +0 -9
  170. package/docs/webapi/grabValueFromAll.mustache +0 -8
  171. package/docs/webapi/grabWebElement.mustache +0 -9
  172. package/docs/webapi/grabWebElements.mustache +0 -9
  173. package/docs/webapi/moveCursorTo.mustache +0 -16
  174. package/docs/webapi/openNewTab.mustache +0 -7
  175. package/docs/webapi/pressKey.mustache +0 -12
  176. package/docs/webapi/pressKeyDown.mustache +0 -12
  177. package/docs/webapi/pressKeyUp.mustache +0 -12
  178. package/docs/webapi/pressKeyWithKeyNormalization.mustache +0 -60
  179. package/docs/webapi/refreshPage.mustache +0 -6
  180. package/docs/webapi/resizeWindow.mustache +0 -6
  181. package/docs/webapi/rightClick.mustache +0 -14
  182. package/docs/webapi/saveElementScreenshot.mustache +0 -10
  183. package/docs/webapi/saveScreenshot.mustache +0 -12
  184. package/docs/webapi/say.mustache +0 -10
  185. package/docs/webapi/scrollIntoView.mustache +0 -11
  186. package/docs/webapi/scrollPageToBottom.mustache +0 -6
  187. package/docs/webapi/scrollPageToTop.mustache +0 -6
  188. package/docs/webapi/scrollTo.mustache +0 -12
  189. package/docs/webapi/see.mustache +0 -11
  190. package/docs/webapi/seeAttributesOnElements.mustache +0 -9
  191. package/docs/webapi/seeCheckboxIsChecked.mustache +0 -10
  192. package/docs/webapi/seeCookie.mustache +0 -8
  193. package/docs/webapi/seeCssPropertiesOnElements.mustache +0 -9
  194. package/docs/webapi/seeCurrentPathEquals.mustache +0 -10
  195. package/docs/webapi/seeCurrentUrlEquals.mustache +0 -11
  196. package/docs/webapi/seeElement.mustache +0 -12
  197. package/docs/webapi/seeElementInDOM.mustache +0 -8
  198. package/docs/webapi/seeInCurrentUrl.mustache +0 -8
  199. package/docs/webapi/seeInField.mustache +0 -17
  200. package/docs/webapi/seeInPopup.mustache +0 -8
  201. package/docs/webapi/seeInSource.mustache +0 -7
  202. package/docs/webapi/seeInTitle.mustache +0 -8
  203. package/docs/webapi/seeNumberOfElements.mustache +0 -11
  204. package/docs/webapi/seeNumberOfVisibleElements.mustache +0 -10
  205. package/docs/webapi/seeTextEquals.mustache +0 -9
  206. package/docs/webapi/seeTitleEquals.mustache +0 -8
  207. package/docs/webapi/seeTraffic.mustache +0 -36
  208. package/docs/webapi/selectOption.mustache +0 -26
  209. package/docs/webapi/setCookie.mustache +0 -16
  210. package/docs/webapi/setGeoLocation.mustache +0 -12
  211. package/docs/webapi/startRecordingTraffic.mustache +0 -8
  212. package/docs/webapi/startRecordingWebSocketMessages.mustache +0 -8
  213. package/docs/webapi/stopRecordingTraffic.mustache +0 -5
  214. package/docs/webapi/stopRecordingWebSocketMessages.mustache +0 -7
  215. package/docs/webapi/switchTo.mustache +0 -9
  216. package/docs/webapi/switchToNextTab.mustache +0 -10
  217. package/docs/webapi/switchToPreviousTab.mustache +0 -10
  218. package/docs/webapi/type.mustache +0 -21
  219. package/docs/webapi/uncheckOption.mustache +0 -13
  220. package/docs/webapi/wait.mustache +0 -8
  221. package/docs/webapi/waitForClickable.mustache +0 -11
  222. package/docs/webapi/waitForCookie.mustache +0 -9
  223. package/docs/webapi/waitForDetached.mustache +0 -10
  224. package/docs/webapi/waitForDisabled.mustache +0 -6
  225. package/docs/webapi/waitForElement.mustache +0 -11
  226. package/docs/webapi/waitForEnabled.mustache +0 -6
  227. package/docs/webapi/waitForFunction.mustache +0 -17
  228. package/docs/webapi/waitForInvisible.mustache +0 -10
  229. package/docs/webapi/waitForNumberOfTabs.mustache +0 -9
  230. package/docs/webapi/waitForText.mustache +0 -13
  231. package/docs/webapi/waitForValue.mustache +0 -10
  232. package/docs/webapi/waitForVisible.mustache +0 -10
  233. package/docs/webapi/waitInUrl.mustache +0 -9
  234. package/docs/webapi/waitNumberOfVisibleElements.mustache +0 -10
  235. package/docs/webapi/waitToHide.mustache +0 -10
  236. package/docs/webapi/waitUrlEquals.mustache +0 -10
  237. package/lib/helper/AI.js +0 -214
  238. package/lib/plugin/pauseOn.js +0 -167
  239. package/lib/plugin/stepByStepReport.js +0 -432
  240. package/lib/plugin/subtitles.js +0 -89
@@ -1,17 +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
- The third parameter is an optional context (CSS or XPath locator) to narrow the search.
5
-
6
- ```js
7
- I.seeInField('Username', 'davert');
8
- I.seeInField({css: 'form textarea'},'Type your comment here');
9
- I.seeInField('form input[type=hidden]','hidden_value');
10
- I.seeInField('#searchform input','Search');
11
- // within a context
12
- I.seeInField('Name', 'John', '.form-container');
13
- ```
14
- @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
15
- @param {CodeceptJS.StringOrSecret} value value to check.
16
- @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS | XPath | strict locator.
17
- @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,36 +0,0 @@
1
- Verifies that a certain request is part of network traffic.
2
-
3
- ```js
4
- // checking the request url contains certain query strings
5
- I.amOnPage('https://openai.com/blog/chatgpt');
6
- I.startRecordingTraffic();
7
- await I.seeTraffic({
8
- name: 'sentry event',
9
- url: 'https://images.openai.com/blob/cf717bdb-0c8c-428a-b82b-3c3add87a600',
10
- parameters: {
11
- width: '1919',
12
- height: '1138',
13
- },
14
- });
15
- ```
16
-
17
- ```js
18
- // checking the request url contains certain post data
19
- I.amOnPage('https://openai.com/blog/chatgpt');
20
- I.startRecordingTraffic();
21
- await I.seeTraffic({
22
- name: 'event',
23
- url: 'https://cloudflareinsights.com/cdn-cgi/rum',
24
- requestPostData: {
25
- st: 2,
26
- },
27
- });
28
- ```
29
-
30
- @param {Object} opts - options when checking the traffic network.
31
- @param {string} opts.name A name of that request. Can be any value. Only relevant to have a more meaningful error message in case of fail.
32
- @param {string} opts.url Expected URL of request in network traffic
33
- @param {Object} [opts.parameters] Expected parameters of that request in network traffic
34
- @param {Object} [opts.requestPostData] Expected that request contains post data in network traffic
35
- @param {number} [opts.timeout] Timeout to wait for request in seconds. Default is 10 seconds.
36
- @return {void} automatically synchronized promise through #recorder
@@ -1,26 +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
- The third parameter is an optional context (CSS or XPath locator) to narrow the search.
6
-
7
- ```js
8
- I.selectOption('Choose Plan', 'Monthly'); // select by label
9
- I.selectOption('subscription', 'Monthly'); // match option by text
10
- I.selectOption('subscription', '0'); // or by value
11
- I.selectOption('//form/select[@name=account]','Premium');
12
- I.selectOption('form select[name=account]', 'Premium');
13
- I.selectOption({css: 'form select[name=account]'}, 'Premium');
14
- // within a context
15
- I.selectOption('age', '21-60', '#section2');
16
- ```
17
-
18
- Provide an array for the second argument to select multiple options.
19
-
20
- ```js
21
- I.selectOption('Which OS do you use?', ['Android', 'iOS']);
22
- ```
23
- @param {LocatorOrString} select field located by label|name|CSS|XPath|strict locator.
24
- @param {string|Array<*>} option visible text or value of option.
25
- @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS | XPath | strict locator.
26
- @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,8 +0,0 @@
1
- Starts recording the network traffics.
2
- This also resets recorded network requests.
3
-
4
- ```js
5
- I.startRecordingTraffic();
6
- ```
7
-
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,8 +0,0 @@
1
- Starts recording of websocket messages.
2
- This also resets recorded websocket messages.
3
-
4
- ```js
5
- await I.startRecordingWebSocketMessages();
6
- ```
7
-
8
- @returns {void} automatically synchronized promise through #recorder
@@ -1,5 +0,0 @@
1
- Stops recording of network traffic. Recorded traffic is not flashed.
2
-
3
- ```js
4
- I.stopRecordingTraffic();
5
- ```
@@ -1,7 +0,0 @@
1
- Stops recording WS messages. Recorded WS messages is not flashed.
2
-
3
- ```js
4
- await I.stopRecordingWebSocketMessages();
5
- ```
6
-
7
- @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 an optional 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,9 +0,0 @@
1
- Waits for the specified cookie in the cookies.
2
-
3
- ```js
4
- I.waitForCookie("token");
5
- ```
6
-
7
- @param {string} name expected cookie name.
8
- @param {number} [sec=3] (optional, `3` by default) time in seconds to wait
9
- @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,6 +0,0 @@
1
- Waits for element to become disabled (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,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
@@ -1,9 +0,0 @@
1
- Waits for number of tabs.
2
-
3
- ```js
4
- I.waitForNumberOfTabs(2);
5
- ```
6
-
7
- @param {number} expectedTabs expecting the number of tabs.
8
- @param {number} sec number of secs to wait.
9
- @returns {void} automatically synchronized promise through #recorder
@@ -1,13 +0,0 @@
1
- Waits for a text to appear (by default waits for 1sec).
2
- Element can be located by CSS or XPath.
3
- Narrow down search results by providing context.
4
-
5
- ```js
6
- I.waitForText('Thank you, form has been submitted');
7
- I.waitForText('Thank you, form has been submitted', 5, '#modal');
8
- ```
9
-
10
- @param {string }text to wait for.
11
- @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
12
- @param {CodeceptJS.LocatorOrString} [context] (optional) element located by CSS|XPath|strict locator.
13
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Waits for the specified value to be in value attribute.
2
-
3
- ```js
4
- I.waitForValue('//input', "GoodValue");
5
- ```
6
-
7
- @param {LocatorOrString} field input field.
8
- @param {string }value expected value.
9
- @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
10
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Waits for an element to become visible on a page (by default waits for 1sec).
2
- Element can be located by CSS or XPath.
3
-
4
- ```js
5
- I.waitForVisible('#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,9 +0,0 @@
1
- Waiting for the part of the URL to match the expected. Useful for SPA to understand that page was changed.
2
-
3
- ```js
4
- I.waitInUrl('/info', 2);
5
- ```
6
-
7
- @param {string} urlPart value to check.
8
- @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
9
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Waits for a specified number of elements on the page.
2
-
3
- ```js
4
- I.waitNumberOfVisibleElements('a', 3);
5
- ```
6
-
7
- @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
8
- @param {number} num number of elements.
9
- @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
10
- @returns {void} automatically synchronized promise through #recorder
@@ -1,10 +0,0 @@
1
- Waits for an element to hide (by default waits for 1sec).
2
- Element can be located by CSS or XPath.
3
-
4
- ```js
5
- I.waitToHide('#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,10 +0,0 @@
1
- Waits for the entire URL to match the expected
2
-
3
- ```js
4
- I.waitUrlEquals('/info', 2);
5
- I.waitUrlEquals('http://127.0.0.1:8000/info');
6
- ```
7
-
8
- @param {string} urlPart value to check.
9
- @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
10
- @returns {void} automatically synchronized promise through #recorder