codeceptjs 3.4.1 → 3.5.1-2.beta.7

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 (281) hide show
  1. package/README.md +31 -30
  2. package/bin/codecept.js +1 -1
  3. package/lib/actor.js +6 -3
  4. package/lib/ai.js +180 -0
  5. package/lib/cli.js +13 -3
  6. package/lib/codecept.js +8 -0
  7. package/lib/colorUtils.js +10 -0
  8. package/lib/command/definitions.js +2 -7
  9. package/lib/command/dryRun.js +11 -2
  10. package/lib/command/generate.js +46 -3
  11. package/lib/command/info.js +24 -0
  12. package/lib/command/init.js +64 -6
  13. package/lib/command/interactive.js +15 -1
  14. package/lib/command/run-multiple/collection.js +17 -5
  15. package/lib/command/run-multiple.js +4 -2
  16. package/lib/command/run-workers.js +68 -5
  17. package/lib/command/run.js +7 -0
  18. package/lib/command/workers/runTests.js +39 -0
  19. package/lib/container.js +13 -3
  20. package/lib/data/context.js +14 -6
  21. package/lib/event.js +4 -0
  22. package/lib/helper/ApiDataFactory.js +2 -1
  23. package/lib/helper/Appium.js +116 -29
  24. package/lib/helper/Expect.js +422 -0
  25. package/lib/helper/FileSystem.js +1 -1
  26. package/lib/helper/GraphQL.js +25 -0
  27. package/lib/helper/JSONResponse.js +4 -4
  28. package/lib/helper/Nightmare.js +10 -5
  29. package/lib/helper/OpenAI.js +126 -0
  30. package/lib/helper/Playwright.js +1298 -229
  31. package/lib/helper/Protractor.js +12 -7
  32. package/lib/helper/Puppeteer.js +204 -64
  33. package/lib/helper/REST.js +15 -5
  34. package/lib/helper/TestCafe.js +45 -10
  35. package/lib/helper/WebDriver.js +252 -83
  36. package/lib/helper/errors/ElementNotFound.js +2 -1
  37. package/lib/helper/extras/PlaywrightReactVueLocator.js +38 -0
  38. package/lib/helper/scripts/blurElement.js +17 -0
  39. package/lib/helper/scripts/focusElement.js +17 -0
  40. package/lib/helper/scripts/highlightElement.js +20 -0
  41. package/lib/html.js +258 -0
  42. package/lib/interfaces/bdd.js +1 -1
  43. package/lib/interfaces/gherkin.js +37 -3
  44. package/lib/interfaces/scenarioConfig.js +1 -0
  45. package/lib/listener/retry.js +2 -1
  46. package/lib/locator.js +17 -4
  47. package/lib/mochaFactory.js +2 -1
  48. package/lib/output.js +1 -1
  49. package/lib/pause.js +78 -19
  50. package/lib/plugin/autoLogin.js +45 -10
  51. package/lib/plugin/debugErrors.js +67 -0
  52. package/lib/plugin/fakerTransform.js +4 -6
  53. package/lib/plugin/heal.js +209 -0
  54. package/lib/plugin/retryFailedStep.js +10 -1
  55. package/lib/plugin/retryTo.js +2 -4
  56. package/lib/plugin/screenshotOnFail.js +11 -2
  57. package/lib/plugin/selenoid.js +6 -1
  58. package/lib/plugin/standardActingHelpers.js +0 -2
  59. package/lib/plugin/stepByStepReport.js +2 -2
  60. package/lib/plugin/tryTo.js +5 -7
  61. package/lib/plugin/wdio.js +0 -1
  62. package/lib/recorder.js +22 -11
  63. package/lib/secret.js +5 -4
  64. package/lib/session.js +1 -1
  65. package/lib/step.js +36 -12
  66. package/lib/ui.js +5 -3
  67. package/lib/utils.js +22 -1
  68. package/lib/workers.js +83 -10
  69. package/package.json +117 -95
  70. package/translations/de-DE.js +5 -0
  71. package/translations/fr-FR.js +14 -1
  72. package/translations/it-IT.js +1 -0
  73. package/translations/ja-JP.js +14 -9
  74. package/translations/pl-PL.js +5 -0
  75. package/translations/pt-BR.js +1 -0
  76. package/translations/ru-RU.js +1 -0
  77. package/translations/zh-CN.js +5 -0
  78. package/translations/zh-TW.js +5 -0
  79. package/typings/index.d.ts +51 -15
  80. package/typings/promiseBasedTypes.d.ts +864 -802
  81. package/typings/types.d.ts +1339 -744
  82. package/CHANGELOG.md +0 -2427
  83. package/docs/advanced.md +0 -351
  84. package/docs/api.md +0 -323
  85. package/docs/basics.md +0 -980
  86. package/docs/bdd.md +0 -535
  87. package/docs/best.md +0 -237
  88. package/docs/books.md +0 -37
  89. package/docs/bootstrap.md +0 -135
  90. package/docs/build/ApiDataFactory.js +0 -409
  91. package/docs/build/Appium.js +0 -1938
  92. package/docs/build/FileSystem.js +0 -228
  93. package/docs/build/GraphQL.js +0 -204
  94. package/docs/build/GraphQLDataFactory.js +0 -309
  95. package/docs/build/JSONResponse.js +0 -338
  96. package/docs/build/Mochawesome.js +0 -71
  97. package/docs/build/Nightmare.js +0 -2145
  98. package/docs/build/Playwright.js +0 -3986
  99. package/docs/build/Polly.js +0 -42
  100. package/docs/build/Protractor.js +0 -2699
  101. package/docs/build/Puppeteer.js +0 -3710
  102. package/docs/build/REST.js +0 -334
  103. package/docs/build/SeleniumWebdriver.js +0 -76
  104. package/docs/build/TestCafe.js +0 -2057
  105. package/docs/build/WebDriver.js +0 -4017
  106. package/docs/changelog.md +0 -2436
  107. package/docs/commands.md +0 -254
  108. package/docs/community-helpers.md +0 -58
  109. package/docs/configuration.md +0 -157
  110. package/docs/continuous-integration.md +0 -22
  111. package/docs/custom-helpers.md +0 -306
  112. package/docs/data.md +0 -375
  113. package/docs/detox.md +0 -235
  114. package/docs/docker.md +0 -137
  115. package/docs/email.md +0 -183
  116. package/docs/examples.md +0 -149
  117. package/docs/helpers/ApiDataFactory.md +0 -266
  118. package/docs/helpers/Appium.md +0 -1312
  119. package/docs/helpers/Detox.md +0 -586
  120. package/docs/helpers/FileSystem.md +0 -152
  121. package/docs/helpers/GraphQL.md +0 -130
  122. package/docs/helpers/GraphQLDataFactory.md +0 -226
  123. package/docs/helpers/JSONResponse.md +0 -254
  124. package/docs/helpers/Mochawesome.md +0 -8
  125. package/docs/helpers/MockRequest.md +0 -377
  126. package/docs/helpers/Nightmare.md +0 -1256
  127. package/docs/helpers/Playwright.md +0 -2208
  128. package/docs/helpers/Polly.md +0 -44
  129. package/docs/helpers/Puppeteer-firefox.md +0 -86
  130. package/docs/helpers/Puppeteer.md +0 -2141
  131. package/docs/helpers/REST.md +0 -217
  132. package/docs/helpers/TestCafe.md +0 -1222
  133. package/docs/helpers/WebDriver.md +0 -2319
  134. package/docs/hooks.md +0 -340
  135. package/docs/index.md +0 -111
  136. package/docs/installation.md +0 -75
  137. package/docs/internal-api.md +0 -265
  138. package/docs/locators.md +0 -331
  139. package/docs/mobile-react-native-locators.md +0 -67
  140. package/docs/mobile.md +0 -297
  141. package/docs/nightmare.md +0 -223
  142. package/docs/pageobjects.md +0 -291
  143. package/docs/parallel.md +0 -232
  144. package/docs/playwright.md +0 -609
  145. package/docs/plugins.md +0 -1171
  146. package/docs/puppeteer.md +0 -316
  147. package/docs/quickstart.md +0 -163
  148. package/docs/react.md +0 -69
  149. package/docs/reports.md +0 -392
  150. package/docs/secrets.md +0 -30
  151. package/docs/shadow.md +0 -68
  152. package/docs/shared/keys.mustache +0 -31
  153. package/docs/shared/react.mustache +0 -1
  154. package/docs/testcafe.md +0 -174
  155. package/docs/translation.md +0 -247
  156. package/docs/tutorial.md +0 -271
  157. package/docs/typescript.md +0 -180
  158. package/docs/ui.md +0 -59
  159. package/docs/videos.md +0 -28
  160. package/docs/visual.md +0 -202
  161. package/docs/vue.md +0 -121
  162. package/docs/webapi/amOnPage.mustache +0 -11
  163. package/docs/webapi/appendField.mustache +0 -9
  164. package/docs/webapi/attachFile.mustache +0 -12
  165. package/docs/webapi/checkOption.mustache +0 -13
  166. package/docs/webapi/clearCookie.mustache +0 -10
  167. package/docs/webapi/clearField.mustache +0 -9
  168. package/docs/webapi/click.mustache +0 -25
  169. package/docs/webapi/clickLink.mustache +0 -8
  170. package/docs/webapi/closeCurrentTab.mustache +0 -7
  171. package/docs/webapi/closeOtherTabs.mustache +0 -8
  172. package/docs/webapi/dontSee.mustache +0 -11
  173. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +0 -10
  174. package/docs/webapi/dontSeeCookie.mustache +0 -8
  175. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +0 -10
  176. package/docs/webapi/dontSeeElement.mustache +0 -8
  177. package/docs/webapi/dontSeeElementInDOM.mustache +0 -8
  178. package/docs/webapi/dontSeeInCurrentUrl.mustache +0 -4
  179. package/docs/webapi/dontSeeInField.mustache +0 -11
  180. package/docs/webapi/dontSeeInSource.mustache +0 -8
  181. package/docs/webapi/dontSeeInTitle.mustache +0 -8
  182. package/docs/webapi/doubleClick.mustache +0 -13
  183. package/docs/webapi/downloadFile.mustache +0 -12
  184. package/docs/webapi/dragAndDrop.mustache +0 -9
  185. package/docs/webapi/dragSlider.mustache +0 -11
  186. package/docs/webapi/executeAsyncScript.mustache +0 -24
  187. package/docs/webapi/executeScript.mustache +0 -26
  188. package/docs/webapi/fillField.mustache +0 -16
  189. package/docs/webapi/forceClick.mustache +0 -28
  190. package/docs/webapi/forceRightClick.mustache +0 -18
  191. package/docs/webapi/grabAllWindowHandles.mustache +0 -7
  192. package/docs/webapi/grabAttributeFrom.mustache +0 -10
  193. package/docs/webapi/grabAttributeFromAll.mustache +0 -9
  194. package/docs/webapi/grabBrowserLogs.mustache +0 -9
  195. package/docs/webapi/grabCookie.mustache +0 -11
  196. package/docs/webapi/grabCssPropertyFrom.mustache +0 -11
  197. package/docs/webapi/grabCssPropertyFromAll.mustache +0 -10
  198. package/docs/webapi/grabCurrentUrl.mustache +0 -9
  199. package/docs/webapi/grabCurrentWindowHandle.mustache +0 -6
  200. package/docs/webapi/grabDataFromPerformanceTiming.mustache +0 -20
  201. package/docs/webapi/grabElementBoundingRect.mustache +0 -20
  202. package/docs/webapi/grabGeoLocation.mustache +0 -8
  203. package/docs/webapi/grabHTMLFrom.mustache +0 -10
  204. package/docs/webapi/grabHTMLFromAll.mustache +0 -9
  205. package/docs/webapi/grabNumberOfOpenTabs.mustache +0 -8
  206. package/docs/webapi/grabNumberOfVisibleElements.mustache +0 -9
  207. package/docs/webapi/grabPageScrollPosition.mustache +0 -8
  208. package/docs/webapi/grabPopupText.mustache +0 -5
  209. package/docs/webapi/grabSource.mustache +0 -8
  210. package/docs/webapi/grabTextFrom.mustache +0 -10
  211. package/docs/webapi/grabTextFromAll.mustache +0 -9
  212. package/docs/webapi/grabTitle.mustache +0 -8
  213. package/docs/webapi/grabValueFrom.mustache +0 -9
  214. package/docs/webapi/grabValueFromAll.mustache +0 -8
  215. package/docs/webapi/moveCursorTo.mustache +0 -12
  216. package/docs/webapi/openNewTab.mustache +0 -7
  217. package/docs/webapi/pressKey.mustache +0 -12
  218. package/docs/webapi/pressKeyDown.mustache +0 -12
  219. package/docs/webapi/pressKeyUp.mustache +0 -12
  220. package/docs/webapi/pressKeyWithKeyNormalization.mustache +0 -60
  221. package/docs/webapi/refreshPage.mustache +0 -6
  222. package/docs/webapi/resizeWindow.mustache +0 -6
  223. package/docs/webapi/rightClick.mustache +0 -14
  224. package/docs/webapi/saveElementScreenshot.mustache +0 -10
  225. package/docs/webapi/saveScreenshot.mustache +0 -12
  226. package/docs/webapi/say.mustache +0 -10
  227. package/docs/webapi/scrollIntoView.mustache +0 -11
  228. package/docs/webapi/scrollPageToBottom.mustache +0 -6
  229. package/docs/webapi/scrollPageToTop.mustache +0 -6
  230. package/docs/webapi/scrollTo.mustache +0 -12
  231. package/docs/webapi/see.mustache +0 -11
  232. package/docs/webapi/seeAttributesOnElements.mustache +0 -9
  233. package/docs/webapi/seeCheckboxIsChecked.mustache +0 -10
  234. package/docs/webapi/seeCookie.mustache +0 -8
  235. package/docs/webapi/seeCssPropertiesOnElements.mustache +0 -9
  236. package/docs/webapi/seeCurrentUrlEquals.mustache +0 -11
  237. package/docs/webapi/seeElement.mustache +0 -8
  238. package/docs/webapi/seeElementInDOM.mustache +0 -8
  239. package/docs/webapi/seeInCurrentUrl.mustache +0 -8
  240. package/docs/webapi/seeInField.mustache +0 -12
  241. package/docs/webapi/seeInPopup.mustache +0 -8
  242. package/docs/webapi/seeInSource.mustache +0 -7
  243. package/docs/webapi/seeInTitle.mustache +0 -8
  244. package/docs/webapi/seeNumberOfElements.mustache +0 -11
  245. package/docs/webapi/seeNumberOfVisibleElements.mustache +0 -10
  246. package/docs/webapi/seeTextEquals.mustache +0 -9
  247. package/docs/webapi/seeTitleEquals.mustache +0 -8
  248. package/docs/webapi/selectOption.mustache +0 -21
  249. package/docs/webapi/setCookie.mustache +0 -16
  250. package/docs/webapi/setGeoLocation.mustache +0 -12
  251. package/docs/webapi/switchTo.mustache +0 -9
  252. package/docs/webapi/switchToNextTab.mustache +0 -10
  253. package/docs/webapi/switchToPreviousTab.mustache +0 -10
  254. package/docs/webapi/type.mustache +0 -18
  255. package/docs/webapi/uncheckOption.mustache +0 -13
  256. package/docs/webapi/wait.mustache +0 -8
  257. package/docs/webapi/waitForClickable.mustache +0 -11
  258. package/docs/webapi/waitForDetached.mustache +0 -10
  259. package/docs/webapi/waitForElement.mustache +0 -11
  260. package/docs/webapi/waitForEnabled.mustache +0 -6
  261. package/docs/webapi/waitForFunction.mustache +0 -17
  262. package/docs/webapi/waitForInvisible.mustache +0 -10
  263. package/docs/webapi/waitForText.mustache +0 -13
  264. package/docs/webapi/waitForValue.mustache +0 -10
  265. package/docs/webapi/waitForVisible.mustache +0 -10
  266. package/docs/webapi/waitInUrl.mustache +0 -9
  267. package/docs/webapi/waitNumberOfVisibleElements.mustache +0 -10
  268. package/docs/webapi/waitToHide.mustache +0 -10
  269. package/docs/webapi/waitUrlEquals.mustache +0 -10
  270. package/docs/webdriver.md +0 -657
  271. package/docs/wiki/Books-&-Posts.md +0 -27
  272. package/docs/wiki/Community-Helpers-&-Plugins.md +0 -49
  273. package/docs/wiki/Converting-Playwright-to-Istanbul-Coverage.md +0 -29
  274. package/docs/wiki/Examples.md +0 -139
  275. package/docs/wiki/Google-Summer-of-Code-(GSoC)-2020.md +0 -68
  276. package/docs/wiki/Home.md +0 -16
  277. package/docs/wiki/Release-Process.md +0 -24
  278. package/docs/wiki/Roadmap.md +0 -23
  279. package/docs/wiki/Tests.md +0 -1393
  280. package/docs/wiki/Upgrading-to-CodeceptJS-3.md +0 -153
  281. package/docs/wiki/Videos.md +0 -19
@@ -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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 {string} value value to check.
12
- ⚠️ returns a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by recorder
@@ -1,18 +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
-
16
- @param {string|string[]} key or array of keys to type.
17
- @param {?number} [delay=null] (optional) delay in ms between key presses
18
- ⚠️ returns a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by 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 a _promise_ which is synchronized internally by recorder