codeceptjs 3.5.6 → 3.5.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 (139) hide show
  1. package/README.md +5 -1
  2. package/docs/advanced.md +1 -1
  3. package/docs/bdd.md +11 -7
  4. package/docs/build/ApiDataFactory.js +2 -1
  5. package/docs/build/Appium.js +26 -23
  6. package/docs/build/Expect.js +422 -0
  7. package/docs/build/Nightmare.js +53 -56
  8. package/docs/build/Playwright.js +202 -103
  9. package/docs/build/Protractor.js +66 -69
  10. package/docs/build/Puppeteer.js +124 -81
  11. package/docs/build/TestCafe.js +56 -55
  12. package/docs/build/WebDriver.js +81 -82
  13. package/docs/changelog.md +562 -1
  14. package/docs/commands.md +12 -0
  15. package/docs/community-helpers.md +8 -4
  16. package/docs/examples.md +8 -2
  17. package/docs/helpers/Appium.md +50 -32
  18. package/docs/helpers/Expect.md +275 -0
  19. package/docs/helpers/Nightmare.md +141 -94
  20. package/docs/helpers/Playwright.md +360 -261
  21. package/docs/helpers/Protractor.md +229 -169
  22. package/docs/helpers/Puppeteer.md +270 -187
  23. package/docs/helpers/TestCafe.md +201 -149
  24. package/docs/helpers/WebDriver.md +252 -178
  25. package/docs/mobile.md +17 -21
  26. package/docs/plugins.md +35 -1
  27. package/docs/webapi/amOnPage.mustache +1 -1
  28. package/docs/webapi/appendField.mustache +1 -1
  29. package/docs/webapi/attachFile.mustache +1 -1
  30. package/docs/webapi/blur.mustache +1 -0
  31. package/docs/webapi/checkOption.mustache +1 -1
  32. package/docs/webapi/clearCookie.mustache +1 -1
  33. package/docs/webapi/clearField.mustache +1 -1
  34. package/docs/webapi/click.mustache +1 -1
  35. package/docs/webapi/clickLink.mustache +1 -1
  36. package/docs/webapi/closeCurrentTab.mustache +1 -1
  37. package/docs/webapi/closeOtherTabs.mustache +1 -1
  38. package/docs/webapi/dontSee.mustache +1 -1
  39. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +1 -1
  40. package/docs/webapi/dontSeeCookie.mustache +1 -1
  41. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +1 -1
  42. package/docs/webapi/dontSeeElement.mustache +1 -1
  43. package/docs/webapi/dontSeeElementInDOM.mustache +1 -1
  44. package/docs/webapi/dontSeeInCurrentUrl.mustache +1 -1
  45. package/docs/webapi/dontSeeInField.mustache +1 -1
  46. package/docs/webapi/dontSeeInSource.mustache +1 -1
  47. package/docs/webapi/dontSeeInTitle.mustache +1 -1
  48. package/docs/webapi/doubleClick.mustache +1 -1
  49. package/docs/webapi/downloadFile.mustache +1 -1
  50. package/docs/webapi/dragAndDrop.mustache +1 -1
  51. package/docs/webapi/dragSlider.mustache +1 -1
  52. package/docs/webapi/executeAsyncScript.mustache +0 -2
  53. package/docs/webapi/executeScript.mustache +0 -2
  54. package/docs/webapi/fillField.mustache +1 -1
  55. package/docs/webapi/focus.mustache +1 -0
  56. package/docs/webapi/forceClick.mustache +1 -1
  57. package/docs/webapi/forceRightClick.mustache +1 -1
  58. package/docs/webapi/grabCookie.mustache +1 -1
  59. package/docs/webapi/grabDataFromPerformanceTiming.mustache +1 -1
  60. package/docs/webapi/moveCursorTo.mustache +1 -1
  61. package/docs/webapi/openNewTab.mustache +1 -1
  62. package/docs/webapi/pressKey.mustache +1 -1
  63. package/docs/webapi/pressKeyDown.mustache +1 -1
  64. package/docs/webapi/pressKeyUp.mustache +1 -1
  65. package/docs/webapi/pressKeyWithKeyNormalization.mustache +1 -1
  66. package/docs/webapi/refreshPage.mustache +1 -1
  67. package/docs/webapi/resizeWindow.mustache +1 -1
  68. package/docs/webapi/rightClick.mustache +1 -1
  69. package/docs/webapi/saveElementScreenshot.mustache +1 -1
  70. package/docs/webapi/saveScreenshot.mustache +1 -1
  71. package/docs/webapi/say.mustache +1 -1
  72. package/docs/webapi/scrollIntoView.mustache +1 -1
  73. package/docs/webapi/scrollPageToBottom.mustache +1 -1
  74. package/docs/webapi/scrollPageToTop.mustache +1 -1
  75. package/docs/webapi/scrollTo.mustache +1 -1
  76. package/docs/webapi/see.mustache +1 -1
  77. package/docs/webapi/seeAttributesOnElements.mustache +1 -1
  78. package/docs/webapi/seeCheckboxIsChecked.mustache +1 -1
  79. package/docs/webapi/seeCookie.mustache +1 -1
  80. package/docs/webapi/seeCssPropertiesOnElements.mustache +1 -1
  81. package/docs/webapi/seeCurrentUrlEquals.mustache +1 -1
  82. package/docs/webapi/seeElement.mustache +1 -1
  83. package/docs/webapi/seeElementInDOM.mustache +1 -1
  84. package/docs/webapi/seeInCurrentUrl.mustache +1 -1
  85. package/docs/webapi/seeInField.mustache +1 -1
  86. package/docs/webapi/seeInPopup.mustache +1 -1
  87. package/docs/webapi/seeInSource.mustache +1 -1
  88. package/docs/webapi/seeInTitle.mustache +1 -1
  89. package/docs/webapi/seeNumberOfElements.mustache +1 -1
  90. package/docs/webapi/seeNumberOfVisibleElements.mustache +1 -1
  91. package/docs/webapi/seeTextEquals.mustache +1 -1
  92. package/docs/webapi/seeTitleEquals.mustache +1 -1
  93. package/docs/webapi/selectOption.mustache +1 -1
  94. package/docs/webapi/setCookie.mustache +1 -1
  95. package/docs/webapi/setGeoLocation.mustache +1 -1
  96. package/docs/webapi/switchTo.mustache +1 -1
  97. package/docs/webapi/switchToNextTab.mustache +1 -1
  98. package/docs/webapi/switchToPreviousTab.mustache +1 -1
  99. package/docs/webapi/type.mustache +1 -1
  100. package/docs/webapi/uncheckOption.mustache +1 -1
  101. package/docs/webapi/wait.mustache +1 -1
  102. package/docs/webapi/waitForClickable.mustache +1 -1
  103. package/docs/webapi/waitForDetached.mustache +1 -1
  104. package/docs/webapi/waitForElement.mustache +1 -1
  105. package/docs/webapi/waitForEnabled.mustache +1 -1
  106. package/docs/webapi/waitForFunction.mustache +1 -1
  107. package/docs/webapi/waitForInvisible.mustache +1 -1
  108. package/docs/webapi/waitForText.mustache +1 -1
  109. package/docs/webapi/waitForValue.mustache +1 -1
  110. package/docs/webapi/waitForVisible.mustache +1 -1
  111. package/docs/webapi/waitInUrl.mustache +1 -1
  112. package/docs/webapi/waitNumberOfVisibleElements.mustache +1 -1
  113. package/docs/webapi/waitToHide.mustache +1 -1
  114. package/docs/webapi/waitUrlEquals.mustache +1 -1
  115. package/docs/webdriver.md +1 -1
  116. package/lib/cli.js +3 -1
  117. package/lib/command/dryRun.js +2 -1
  118. package/lib/helper/ApiDataFactory.js +2 -1
  119. package/lib/helper/Appium.js +8 -5
  120. package/lib/helper/Expect.js +422 -0
  121. package/lib/helper/Playwright.js +127 -32
  122. package/lib/helper/Puppeteer.js +47 -4
  123. package/lib/interfaces/gherkin.js +21 -2
  124. package/lib/output.js +1 -1
  125. package/lib/plugin/autoLogin.js +41 -3
  126. package/lib/utils.js +1 -1
  127. package/lib/workers.js +23 -2
  128. package/package.json +25 -16
  129. package/translations/de-DE.js +5 -0
  130. package/translations/fr-FR.js +1 -0
  131. package/translations/it-IT.js +1 -0
  132. package/translations/ja-JP.js +5 -0
  133. package/translations/pl-PL.js +5 -0
  134. package/translations/pt-BR.js +1 -0
  135. package/translations/ru-RU.js +1 -0
  136. package/translations/zh-CN.js +5 -0
  137. package/translations/zh-TW.js +5 -0
  138. package/typings/promiseBasedTypes.d.ts +928 -862
  139. package/typings/types.d.ts +932 -845
@@ -82,7 +82,7 @@ I.amOnPage('/login'); // opens a login page
82
82
  - `url` **[string][3]** url path or global url.
83
83
  - `headers` **[object][4]?** list of request headers can be passed
84
84
 
85
- Returns **void** automatically synchronized promise with recorder #!
85
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
86
86
 
87
87
  ### appendField
88
88
 
@@ -99,7 +99,8 @@ I.appendField('password', secret('123456'));
99
99
 
100
100
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator
101
101
  - `value` **[string][3]** text value to append.
102
- ⚠️ returns a _promise_ which is synchronized internally by recorder
102
+
103
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
103
104
 
104
105
  ### attachFile
105
106
 
@@ -116,7 +117,8 @@ I.attachFile('form input[name=avatar]', 'data/avatar.jpg');
116
117
 
117
118
  - `locator` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
118
119
  - `pathToFile` **[string][3]** local file path relative to codecept.conf.ts or codecept.conf.js config file.
119
- ⚠️ returns a _promise_ which is synchronized internally by recorderDoesn't work if the Chromium DevTools panel is open (as Chromium allows only one attachment to the debugger at a time. [See more][5])
120
+
121
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorderDoesn't work if the Chromium DevTools panel is open (as Chromium allows only one attachment to the debugger at a time. [See more][6])
120
122
 
121
123
  ### checkOption
122
124
 
@@ -134,8 +136,9 @@ I.checkOption('agree', '//form');
134
136
  #### Parameters
135
137
 
136
138
  - `field` **([string][3] | [object][4])** checkbox located by label | name | CSS | XPath | strict locator.
137
- - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
138
- ⚠️ returns a _promise_ which is synchronized internally by recorder
139
+ - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
140
+
141
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
139
142
 
140
143
  ### clearCookie
141
144
 
@@ -149,8 +152,9 @@ I.clearCookie('test');
149
152
 
150
153
  #### Parameters
151
154
 
152
- - `cookie` **[string][3]?** (optional, `null` by default) cookie name
153
- ⚠️ returns a _promise_ which is synchronized internally by recorder
155
+ - `cookie` **[string][3]?** (optional, `null` by default) cookie name
156
+
157
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
154
158
 
155
159
  ### clearField
156
160
 
@@ -166,7 +170,8 @@ I.clearField('#email');
166
170
 
167
171
  - `field`
168
172
  - `editable` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
169
- ⚠️ returns a _promise_ which is synchronized internally by recorder.
173
+
174
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder.
170
175
 
171
176
  ### click
172
177
 
@@ -195,8 +200,9 @@ I.click({css: 'nav a.login'});
195
200
  #### Parameters
196
201
 
197
202
  - `locator` **([string][3] | [object][4])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
198
- - `context` **([string][3]? | [object][4] | null)** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
199
- ⚠️ returns a _promise_ which is synchronized internally by recorder
203
+ - `context` **([string][3]? | [object][4] | null)** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
204
+
205
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
200
206
 
201
207
  ### dontSee
202
208
 
@@ -211,8 +217,9 @@ I.dontSee('Login', '.nav'); // no login inside .nav element
211
217
  #### Parameters
212
218
 
213
219
  - `text` **[string][3]** which is not present.
214
- - `context` **([string][3] | [object][4])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
215
- ⚠️ returns a _promise_ which is synchronized internally by recorder
220
+ - `context` **([string][3] | [object][4])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
221
+
222
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
216
223
 
217
224
  ### dontSeeCheckboxIsChecked
218
225
 
@@ -227,7 +234,8 @@ I.dontSeeCheckboxIsChecked('agree'); // located by name
227
234
  #### Parameters
228
235
 
229
236
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
230
- ⚠️ returns a _promise_ which is synchronized internally by recorder
237
+
238
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
231
239
 
232
240
  ### dontSeeCookie
233
241
 
@@ -240,7 +248,8 @@ I.dontSeeCookie('auth'); // no auth cookie
240
248
  #### Parameters
241
249
 
242
250
  - `name` **[string][3]** cookie name.
243
- ⚠️ returns a _promise_ which is synchronized internally by recorder
251
+
252
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
244
253
 
245
254
  ### dontSeeCurrentUrlEquals
246
255
 
@@ -255,7 +264,8 @@ I.dontSeeCurrentUrlEquals('http://mysite.com/login'); // absolute urls are also
255
264
  #### Parameters
256
265
 
257
266
  - `url` **[string][3]** value to check.
258
- ⚠️ returns a _promise_ which is synchronized internally by recorder
267
+
268
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
259
269
 
260
270
  ### dontSeeElement
261
271
 
@@ -268,7 +278,8 @@ I.dontSeeElement('.modal'); // modal is not shown
268
278
  #### Parameters
269
279
 
270
280
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|Strict locator.
271
- ⚠️ returns a _promise_ which is synchronized internally by recorder
281
+
282
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
272
283
 
273
284
  ### dontSeeElementInDOM
274
285
 
@@ -281,7 +292,8 @@ I.dontSeeElementInDOM('.nav'); // checks that element is not on page visible or
281
292
  #### Parameters
282
293
 
283
294
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|Strict locator.
284
- ⚠️ returns a _promise_ which is synchronized internally by recorder
295
+
296
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
285
297
 
286
298
  ### dontSeeInCurrentUrl
287
299
 
@@ -290,7 +302,8 @@ Checks that current url does not contain a provided fragment.
290
302
  #### Parameters
291
303
 
292
304
  - `url` **[string][3]** value to check.
293
- ⚠️ returns a _promise_ which is synchronized internally by recorder
305
+
306
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
294
307
 
295
308
  ### dontSeeInField
296
309
 
@@ -306,7 +319,8 @@ I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
306
319
 
307
320
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
308
321
  - `value` **([string][3] | [object][4])** value to check.
309
- ⚠️ returns a _promise_ which is synchronized internally by recorder
322
+
323
+ Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
310
324
 
311
325
  ### dontSeeInSource
312
326
 
@@ -320,7 +334,8 @@ I.dontSeeInSource('<!--'); // no comments in source
320
334
 
321
335
  - `text`
322
336
  - `value` **[string][3]** to check.
323
- ⚠️ returns a _promise_ which is synchronized internally by recorder
337
+
338
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
324
339
 
325
340
  ### dontSeeInTitle
326
341
 
@@ -333,7 +348,8 @@ I.dontSeeInTitle('Error');
333
348
  #### Parameters
334
349
 
335
350
  - `text` **[string][3]** value to check.
336
- ⚠️ returns a _promise_ which is synchronized internally by recorder
351
+
352
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
337
353
 
338
354
  ### doubleClick
339
355
 
@@ -350,15 +366,16 @@ I.doubleClick('.btn.edit');
350
366
  #### Parameters
351
367
 
352
368
  - `locator` **([string][3] | [object][4])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
353
- - `context` **([string][3]? | [object][4])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
354
- ⚠️ returns a _promise_ which is synchronized internally by recorder
369
+ - `context` **([string][3]? | [object][4])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
370
+
371
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
355
372
 
356
373
  ### executeAsyncScript
357
374
 
358
375
  Executes async script on page.
359
376
  Provided function should execute a passed callback (as first argument) to signal it is finished.
360
377
 
361
- Example: In Vue.js to make components completely rendered we are waiting for [nextTick][6].
378
+ Example: In Vue.js to make components completely rendered we are waiting for [nextTick][7].
362
379
 
363
380
  ```js
364
381
  I.executeAsyncScript(function(done) {
@@ -379,9 +396,9 @@ let val = await I.executeAsyncScript(function(url, done) {
379
396
  #### Parameters
380
397
 
381
398
  - `args` **...any** to be passed to function.
382
- - `fn` **([string][3] | [function][7])** function to be executed in browser context.
399
+ - `fn` **([string][3] | [function][8])** function to be executed in browser context.
383
400
 
384
- Returns **[Promise][8]&lt;any>** script return value⚠️ returns a _promise_ which is synchronized internally by recorderWrapper for asynchronous [evaluate][9].
401
+ Returns **[Promise][5]&lt;any>** script return valueWrapper for asynchronous [evaluate][9].
385
402
  Unlike NightmareJS implementation calling `done` will return its first argument.
386
403
 
387
404
  ### executeScript
@@ -413,9 +430,9 @@ let date = await I.executeScript(function(el) {
413
430
  #### Parameters
414
431
 
415
432
  - `args` **...any** to be passed to function.
416
- - `fn` **([string][3] | [function][7])** function to be executed in browser context.
433
+ - `fn` **([string][3] | [function][8])** function to be executed in browser context.
417
434
 
418
- Returns **[Promise][8]&lt;any>** script return value⚠️ returns a _promise_ which is synchronized internally by recorderWrapper for synchronous [evaluate][9]
435
+ Returns **[Promise][5]&lt;any>** script return valueWrapper for synchronous [evaluate][9]
419
436
 
420
437
  ### fillField
421
438
 
@@ -437,7 +454,8 @@ I.fillField({css: 'form#login input[name=username]'}, 'John');
437
454
 
438
455
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
439
456
  - `value` **([string][3] | [object][4])** text value to fill.
440
- ⚠️ returns a _promise_ which is synchronized internally by recorder
457
+
458
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
441
459
 
442
460
  ### grabAttributeFrom
443
461
 
@@ -454,7 +472,7 @@ let hint = await I.grabAttributeFrom('#tooltip', 'title');
454
472
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
455
473
  - `attr` **[string][3]** attribute name.
456
474
 
457
- Returns **[Promise][8]&lt;[string][3]>** attribute value
475
+ Returns **[Promise][5]&lt;[string][3]>** attribute value
458
476
 
459
477
  ### grabAttributeFromAll
460
478
 
@@ -470,7 +488,7 @@ let hints = await I.grabAttributeFromAll('.tooltip', 'title');
470
488
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
471
489
  - `attr` **[string][3]** attribute name.
472
490
 
473
- Returns **[Promise][8]&lt;[Array][10]&lt;[string][3]>>** attribute value
491
+ Returns **[Promise][5]&lt;[Array][10]&lt;[string][3]>>** attribute value
474
492
 
475
493
  ### grabCookie
476
494
 
@@ -487,7 +505,7 @@ assert(cookie.value, '123456');
487
505
 
488
506
  - `name` **[string][3]?** cookie name.
489
507
 
490
- Returns **([Promise][8]&lt;[string][3]> | [Promise][8]&lt;[Array][10]&lt;[string][3]>>)** attribute valueCookie in JSON format. If name not passed returns all cookies for this domain.Multiple cookies can be received by passing query object `I.grabCookie({ secure: true});`. If you'd like get all cookies for all urls, use: `.grabCookie({ url: null }).`
508
+ Returns **any** attribute valueCookie in JSON format. If name not passed returns all cookies for this domain.Multiple cookies can be received by passing query object `I.grabCookie({ secure: true});`. If you'd like get all cookies for all urls, use: `.grabCookie({ url: null }).`
491
509
 
492
510
  ### grabCssPropertyFrom
493
511
 
@@ -504,7 +522,7 @@ const value = await I.grabCssPropertyFrom('h3', 'font-weight');
504
522
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
505
523
  - `cssProperty` **[string][3]** CSS property name.
506
524
 
507
- Returns **[Promise][8]&lt;[string][3]>** CSS value
525
+ Returns **[Promise][5]&lt;[string][3]>** CSS value
508
526
 
509
527
  ### grabCurrentUrl
510
528
 
@@ -516,7 +534,7 @@ let url = await I.grabCurrentUrl();
516
534
  console.log(`Current URL is [${url}]`);
517
535
  ```
518
536
 
519
- Returns **[Promise][8]&lt;[string][3]>** current URL
537
+ Returns **[Promise][5]&lt;[string][3]>** current URL
520
538
 
521
539
  ### grabElementBoundingRect
522
540
 
@@ -544,7 +562,7 @@ const width = await I.grabElementBoundingRect('h3', 'width');
544
562
  - `prop`
545
563
  - `elementSize` **[string][3]?** x, y, width or height of the given element.
546
564
 
547
- Returns **([Promise][8]&lt;DOMRect> | [Promise][8]&lt;[number][11]>)** Element bounding rectangle
565
+ Returns **([Promise][5]&lt;DOMRect> | [Promise][5]&lt;[number][11]>)** Element bounding rectangle
548
566
 
549
567
  ### grabHAR
550
568
 
@@ -570,7 +588,7 @@ let postHTML = await I.grabHTMLFrom('#post');
570
588
  - `locator`
571
589
  - `element` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
572
590
 
573
- Returns **[Promise][8]&lt;[string][3]>** HTML code for an element
591
+ Returns **[Promise][5]&lt;[string][3]>** HTML code for an element
574
592
 
575
593
  ### grabHTMLFromAll
576
594
 
@@ -586,7 +604,7 @@ let postHTMLs = await I.grabHTMLFromAll('.post');
586
604
  - `locator`
587
605
  - `element` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
588
606
 
589
- Returns **[Promise][8]&lt;[Array][10]&lt;[string][3]>>** HTML code for an element
607
+ Returns **[Promise][5]&lt;[Array][10]&lt;[string][3]>>** HTML code for an element
590
608
 
591
609
  ### grabNumberOfVisibleElements
592
610
 
@@ -601,7 +619,7 @@ let numOfElements = await I.grabNumberOfVisibleElements('p');
601
619
 
602
620
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
603
621
 
604
- Returns **[Promise][8]&lt;[number][11]>** number of visible elements
622
+ Returns **[Promise][5]&lt;[number][11]>** number of visible elements
605
623
 
606
624
  ### grabPageScrollPosition
607
625
 
@@ -612,7 +630,7 @@ Resumes test execution, so **should be used inside an async function with `await
612
630
  let { x, y } = await I.grabPageScrollPosition();
613
631
  ```
614
632
 
615
- Returns **[Promise][8]&lt;PageScrollPosition>** scroll position
633
+ Returns **[Promise][5]&lt;PageScrollPosition>** scroll position
616
634
 
617
635
  ### grabTextFrom
618
636
 
@@ -629,7 +647,7 @@ If multiple elements found returns first element.
629
647
 
630
648
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
631
649
 
632
- Returns **[Promise][8]&lt;[string][3]>** attribute value
650
+ Returns **[Promise][5]&lt;[string][3]>** attribute value
633
651
 
634
652
  ### grabTextFromAll
635
653
 
@@ -644,7 +662,7 @@ let pins = await I.grabTextFromAll('#pin li');
644
662
 
645
663
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
646
664
 
647
- Returns **[Promise][8]&lt;[Array][10]&lt;[string][3]>>** attribute value
665
+ Returns **[Promise][5]&lt;[Array][10]&lt;[string][3]>>** attribute value
648
666
 
649
667
  ### grabTitle
650
668
 
@@ -655,7 +673,7 @@ Resumes test execution, so **should be used inside async with `await`** operator
655
673
  let title = await I.grabTitle();
656
674
  ```
657
675
 
658
- Returns **[Promise][8]&lt;[string][3]>** title
676
+ Returns **[Promise][5]&lt;[string][3]>** title
659
677
 
660
678
  ### grabValueFrom
661
679
 
@@ -671,7 +689,7 @@ let email = await I.grabValueFrom('input[name=email]');
671
689
 
672
690
  - `locator` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
673
691
 
674
- Returns **[Promise][8]&lt;[string][3]>** attribute value
692
+ Returns **[Promise][5]&lt;[string][3]>** attribute value
675
693
 
676
694
  ### grabValueFromAll
677
695
 
@@ -686,7 +704,7 @@ let inputs = await I.grabValueFromAll('//form/input');
686
704
 
687
705
  - `locator` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
688
706
 
689
- Returns **[Promise][8]&lt;[Array][10]&lt;[string][3]>>** attribute value
707
+ Returns **[Promise][5]&lt;[Array][10]&lt;[string][3]>>** attribute value
690
708
 
691
709
  ### haveHeader
692
710
 
@@ -716,8 +734,9 @@ I.moveCursorTo('#submit', 5,5);
716
734
 
717
735
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
718
736
  - `offsetX` **[number][11]** (optional, `0` by default) X-axis offset.
719
- - `offsetY` **[number][11]** (optional, `0` by default) Y-axis offset.
720
- ⚠️ returns a _promise_ which is synchronized internally by recorder
737
+ - `offsetY` **[number][11]** (optional, `0` by default) Y-axis offset.
738
+
739
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
721
740
 
722
741
  ### pressKey
723
742
 
@@ -740,7 +759,7 @@ Reload the current page.
740
759
  I.refreshPage();
741
760
  ```
742
761
 
743
- ⚠️ returns a _promise_ which is synchronized internally by recorder
762
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
744
763
 
745
764
  ### resizeWindow
746
765
 
@@ -751,7 +770,8 @@ First parameter can be set to `maximize`.
751
770
 
752
771
  - `width` **[number][11]** width in pixels or `maximize`.
753
772
  - `height` **[number][11]** height in pixels.
754
- ⚠️ returns a _promise_ which is synchronized internally by recorder
773
+
774
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
755
775
 
756
776
  ### rightClick
757
777
 
@@ -769,8 +789,9 @@ I.rightClick('Click me', '.context');
769
789
  #### Parameters
770
790
 
771
791
  - `locator` **([string][3] | [object][4])** clickable element located by CSS|XPath|strict locator.
772
- - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS|XPath|strict locator.
773
- ⚠️ returns a _promise_ which is synchronized internally by recorder
792
+ - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS|XPath|strict locator.
793
+
794
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
774
795
 
775
796
  ### saveElementScreenshot
776
797
 
@@ -785,7 +806,8 @@ I.saveElementScreenshot(`#submit`,'debug.png');
785
806
 
786
807
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
787
808
  - `fileName` **[string][3]** file name to save.
788
- ⚠️ returns a _promise_ which is synchronized internally by recorder
809
+
810
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
789
811
 
790
812
  ### saveScreenshot
791
813
 
@@ -801,8 +823,9 @@ I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scro
801
823
  #### Parameters
802
824
 
803
825
  - `fileName` **[string][3]** file name to save.
804
- - `fullPage` **[boolean][13]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
805
- ⚠️ returns a _promise_ which is synchronized internally by recorder
826
+ - `fullPage` **[boolean][13]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
827
+
828
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
806
829
 
807
830
  ### scrollPageToBottom
808
831
 
@@ -812,7 +835,7 @@ Scroll page to the bottom.
812
835
  I.scrollPageToBottom();
813
836
  ```
814
837
 
815
- ⚠️ returns a _promise_ which is synchronized internally by recorder
838
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
816
839
 
817
840
  ### scrollPageToTop
818
841
 
@@ -822,7 +845,7 @@ Scroll page to the top.
822
845
  I.scrollPageToTop();
823
846
  ```
824
847
 
825
- ⚠️ returns a _promise_ which is synchronized internally by recorder
848
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
826
849
 
827
850
  ### scrollTo
828
851
 
@@ -838,8 +861,9 @@ I.scrollTo('#submit', 5, 5);
838
861
 
839
862
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
840
863
  - `offsetX` **[number][11]** (optional, `0` by default) X-axis offset.
841
- - `offsetY` **[number][11]** (optional, `0` by default) Y-axis offset.
842
- ⚠️ returns a _promise_ which is synchronized internally by recorder
864
+ - `offsetY` **[number][11]** (optional, `0` by default) Y-axis offset.
865
+
866
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
843
867
 
844
868
  ### see
845
869
 
@@ -855,8 +879,9 @@ I.see('Register', {css: 'form.register'}); // use strict locator
855
879
  #### Parameters
856
880
 
857
881
  - `text` **[string][3]** expected on page.
858
- - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
859
- ⚠️ returns a _promise_ which is synchronized internally by recorder
882
+ - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
883
+
884
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
860
885
 
861
886
  ### seeCheckboxIsChecked
862
887
 
@@ -871,7 +896,8 @@ I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
871
896
  #### Parameters
872
897
 
873
898
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
874
- ⚠️ returns a _promise_ which is synchronized internally by recorder
899
+
900
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
875
901
 
876
902
  ### seeCookie
877
903
 
@@ -884,7 +910,8 @@ I.seeCookie('Auth');
884
910
  #### Parameters
885
911
 
886
912
  - `name` **[string][3]** cookie name.
887
- ⚠️ returns a _promise_ which is synchronized internally by recorder
913
+
914
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
888
915
 
889
916
  ### seeCurrentUrlEquals
890
917
 
@@ -900,7 +927,8 @@ I.seeCurrentUrlEquals('http://my.site.com/register');
900
927
  #### Parameters
901
928
 
902
929
  - `url` **[string][3]** value to check.
903
- ⚠️ returns a _promise_ which is synchronized internally by recorder
930
+
931
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
904
932
 
905
933
  ### seeElement
906
934
 
@@ -914,7 +942,8 @@ I.seeElement('#modal');
914
942
  #### Parameters
915
943
 
916
944
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
917
- ⚠️ returns a _promise_ which is synchronized internally by recorder
945
+
946
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
918
947
 
919
948
  ### seeElementInDOM
920
949
 
@@ -928,7 +957,8 @@ I.seeElementInDOM('#modal');
928
957
  #### Parameters
929
958
 
930
959
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
931
- ⚠️ returns a _promise_ which is synchronized internally by recorder
960
+
961
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
932
962
 
933
963
  ### seeInCurrentUrl
934
964
 
@@ -941,7 +971,8 @@ I.seeInCurrentUrl('/register'); // we are on registration page
941
971
  #### Parameters
942
972
 
943
973
  - `url` **[string][3]** a fragment to check
944
- ⚠️ returns a _promise_ which is synchronized internally by recorder
974
+
975
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
945
976
 
946
977
  ### seeInField
947
978
 
@@ -959,7 +990,8 @@ I.seeInField('#searchform input','Search');
959
990
 
960
991
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
961
992
  - `value` **([string][3] | [object][4])** value to check.
962
- ⚠️ returns a _promise_ which is synchronized internally by recorder
993
+
994
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
963
995
 
964
996
  ### seeInSource
965
997
 
@@ -972,7 +1004,8 @@ I.seeInSource('<h1>Green eggs &amp; ham</h1>');
972
1004
  #### Parameters
973
1005
 
974
1006
  - `text` **[string][3]** value to check.
975
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1007
+
1008
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
976
1009
 
977
1010
  ### seeInTitle
978
1011
 
@@ -985,7 +1018,8 @@ I.seeInTitle('Home Page');
985
1018
  #### Parameters
986
1019
 
987
1020
  - `text` **[string][3]** text value to check.
988
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1021
+
1022
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
989
1023
 
990
1024
  ### seeNumberOfElements
991
1025
 
@@ -1000,7 +1034,8 @@ I.seeNumberOfElements('#submitBtn', 1);
1000
1034
 
1001
1035
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1002
1036
  - `num` **[number][11]** number of elements.
1003
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1037
+
1038
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1004
1039
 
1005
1040
  ### seeNumberOfVisibleElements
1006
1041
 
@@ -1015,7 +1050,8 @@ I.seeNumberOfVisibleElements('.buttons', 3);
1015
1050
 
1016
1051
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1017
1052
  - `num` **[number][11]** number of elements.
1018
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1053
+
1054
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1019
1055
 
1020
1056
  ### selectOption
1021
1057
 
@@ -1042,7 +1078,8 @@ I.selectOption('Which OS do you use?', ['Android', 'iOS']);
1042
1078
 
1043
1079
  - `select` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
1044
1080
  - `option` **([string][3] | [Array][10]&lt;any>)** visible text or value of option.
1045
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1081
+
1082
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1046
1083
 
1047
1084
  ### setCookie
1048
1085
 
@@ -1063,8 +1100,9 @@ I.setCookie([
1063
1100
  #### Parameters
1064
1101
 
1065
1102
  - `cookie` **(Cookie | [Array][10]&lt;Cookie>)** a cookie object or array of cookie objects.
1066
- ⚠️ returns a _promise_ which is synchronized internally by recorderWrapper for `.cookies.set(cookie)`.
1067
- [See more][14]
1103
+
1104
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorderWrapper for `.cookies.set(cookie)`.
1105
+ [See more][14]
1068
1106
 
1069
1107
  ### triggerMouseEvent
1070
1108
 
@@ -1097,8 +1135,9 @@ I.uncheckOption('agree', '//form');
1097
1135
  #### Parameters
1098
1136
 
1099
1137
  - `field` **([string][3] | [object][4])** checkbox located by label | name | CSS | XPath | strict locator.
1100
- - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
1101
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1138
+ - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
1139
+
1140
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1102
1141
 
1103
1142
  ### wait
1104
1143
 
@@ -1111,7 +1150,8 @@ I.wait(2); // wait 2 secs
1111
1150
  #### Parameters
1112
1151
 
1113
1152
  - `sec` **[number][11]** number of second to wait.
1114
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1153
+
1154
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1115
1155
 
1116
1156
  ### waitForDetached
1117
1157
 
@@ -1125,8 +1165,9 @@ I.waitForDetached('#popup');
1125
1165
  #### Parameters
1126
1166
 
1127
1167
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1128
- - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1129
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1168
+ - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1169
+
1170
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1130
1171
 
1131
1172
  ### waitForElement
1132
1173
 
@@ -1142,7 +1183,8 @@ I.waitForElement('.btn.continue', 5); // wait for 5 secs
1142
1183
 
1143
1184
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1144
1185
  - `sec` **[number][11]?** (optional, `1` by default) time in seconds to wait
1145
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1186
+
1187
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1146
1188
 
1147
1189
  ### waitForFunction
1148
1190
 
@@ -1161,10 +1203,11 @@ I.waitForFunction((count) => window.requests == count, [3], 5) // pass args and
1161
1203
 
1162
1204
  #### Parameters
1163
1205
 
1164
- - `fn` **([string][3] | [function][7])** to be executed in browser context.
1206
+ - `fn` **([string][3] | [function][8])** to be executed in browser context.
1165
1207
  - `argsOrSec` **([Array][10]&lt;any> | [number][11])?** (optional, `1` by default) arguments for function or seconds.
1166
- - `sec` **[number][11]?** (optional, `1` by default) time in seconds to wait
1167
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1208
+ - `sec` **[number][11]?** (optional, `1` by default) time in seconds to wait
1209
+
1210
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1168
1211
 
1169
1212
  ### waitForInvisible
1170
1213
 
@@ -1178,8 +1221,9 @@ I.waitForInvisible('#popup');
1178
1221
  #### Parameters
1179
1222
 
1180
1223
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1181
- - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1182
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1224
+ - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1225
+
1226
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1183
1227
 
1184
1228
  ### waitForText
1185
1229
 
@@ -1196,8 +1240,9 @@ I.waitForText('Thank you, form has been submitted', 5, '#modal');
1196
1240
 
1197
1241
  - `text` **[string][3]** to wait for.
1198
1242
  - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1199
- - `context` **([string][3] | [object][4])?** (optional) element located by CSS|XPath|strict locator.
1200
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1243
+ - `context` **([string][3] | [object][4])?** (optional) element located by CSS|XPath|strict locator.
1244
+
1245
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1201
1246
 
1202
1247
  ### waitForVisible
1203
1248
 
@@ -1211,8 +1256,9 @@ I.waitForVisible('#popup');
1211
1256
  #### Parameters
1212
1257
 
1213
1258
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1214
- - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1215
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1259
+ - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1260
+
1261
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1216
1262
 
1217
1263
  ### waitToHide
1218
1264
 
@@ -1226,8 +1272,9 @@ I.waitToHide('#popup');
1226
1272
  #### Parameters
1227
1273
 
1228
1274
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1229
- - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1230
- ⚠️ returns a _promise_ which is synchronized internally by recorder
1275
+ - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1276
+
1277
+ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1231
1278
 
1232
1279
  [1]: https://github.com/segmentio/nightmare
1233
1280
 
@@ -1237,13 +1284,13 @@ I.waitToHide('#popup');
1237
1284
 
1238
1285
  [4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
1239
1286
 
1240
- [5]: https://github.com/rosshinkley/nightmare-upload#important-note-about-setting-file-upload-inputs
1287
+ [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
1241
1288
 
1242
- [6]: https://vuejs.org/v2/api/#Vue-nextTick
1289
+ [6]: https://github.com/rosshinkley/nightmare-upload#important-note-about-setting-file-upload-inputs
1243
1290
 
1244
- [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
1291
+ [7]: https://vuejs.org/v2/api/#Vue-nextTick
1245
1292
 
1246
- [8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
1293
+ [8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
1247
1294
 
1248
1295
  [9]: https://github.com/segmentio/nightmare#evaluatefn-arg1-arg2
1249
1296