codeceptjs 3.5.8 → 3.5.9-beta.2

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 (124) hide show
  1. package/README.md +1 -1
  2. package/docs/build/Appium.js +24 -24
  3. package/docs/build/Nightmare.js +51 -52
  4. package/docs/build/Playwright.js +137 -76
  5. package/docs/build/Protractor.js +64 -65
  6. package/docs/build/Puppeteer.js +74 -75
  7. package/docs/build/TestCafe.js +54 -55
  8. package/docs/build/WebDriver.js +79 -80
  9. package/docs/changelog.md +1 -571
  10. package/docs/community-helpers.md +4 -8
  11. package/docs/examples.md +2 -8
  12. package/docs/helpers/Appium.md +19 -19
  13. package/docs/helpers/Nightmare.md +75 -77
  14. package/docs/helpers/Playwright.md +350 -314
  15. package/docs/helpers/Protractor.md +153 -155
  16. package/docs/helpers/Puppeteer.md +146 -148
  17. package/docs/helpers/TestCafe.md +124 -126
  18. package/docs/helpers/WebDriver.md +155 -157
  19. package/docs/internal-api.md +111 -0
  20. package/docs/plugins.md +4 -2
  21. package/docs/webapi/amOnPage.mustache +1 -1
  22. package/docs/webapi/appendField.mustache +1 -1
  23. package/docs/webapi/attachFile.mustache +1 -1
  24. package/docs/webapi/blur.mustache +1 -1
  25. package/docs/webapi/checkOption.mustache +1 -1
  26. package/docs/webapi/clearCookie.mustache +1 -2
  27. package/docs/webapi/clearField.mustache +1 -1
  28. package/docs/webapi/click.mustache +1 -1
  29. package/docs/webapi/clickLink.mustache +1 -1
  30. package/docs/webapi/closeCurrentTab.mustache +1 -1
  31. package/docs/webapi/closeOtherTabs.mustache +1 -1
  32. package/docs/webapi/dontSee.mustache +1 -1
  33. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +1 -1
  34. package/docs/webapi/dontSeeCookie.mustache +1 -1
  35. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +1 -1
  36. package/docs/webapi/dontSeeElement.mustache +1 -1
  37. package/docs/webapi/dontSeeElementInDOM.mustache +1 -1
  38. package/docs/webapi/dontSeeInCurrentUrl.mustache +1 -1
  39. package/docs/webapi/dontSeeInField.mustache +1 -1
  40. package/docs/webapi/dontSeeInSource.mustache +1 -1
  41. package/docs/webapi/dontSeeInTitle.mustache +1 -1
  42. package/docs/webapi/doubleClick.mustache +1 -1
  43. package/docs/webapi/downloadFile.mustache +1 -1
  44. package/docs/webapi/dragAndDrop.mustache +1 -1
  45. package/docs/webapi/dragSlider.mustache +1 -1
  46. package/docs/webapi/fillField.mustache +1 -1
  47. package/docs/webapi/focus.mustache +1 -1
  48. package/docs/webapi/forceClick.mustache +1 -1
  49. package/docs/webapi/forceRightClick.mustache +1 -1
  50. package/docs/webapi/grabDataFromPerformanceTiming.mustache +1 -1
  51. package/docs/webapi/moveCursorTo.mustache +1 -1
  52. package/docs/webapi/openNewTab.mustache +1 -1
  53. package/docs/webapi/pressKey.mustache +1 -1
  54. package/docs/webapi/pressKeyDown.mustache +1 -1
  55. package/docs/webapi/pressKeyUp.mustache +1 -1
  56. package/docs/webapi/pressKeyWithKeyNormalization.mustache +1 -1
  57. package/docs/webapi/refreshPage.mustache +1 -1
  58. package/docs/webapi/resizeWindow.mustache +1 -1
  59. package/docs/webapi/rightClick.mustache +1 -1
  60. package/docs/webapi/saveElementScreenshot.mustache +1 -1
  61. package/docs/webapi/saveScreenshot.mustache +1 -1
  62. package/docs/webapi/say.mustache +1 -1
  63. package/docs/webapi/scrollIntoView.mustache +1 -1
  64. package/docs/webapi/scrollPageToBottom.mustache +1 -1
  65. package/docs/webapi/scrollPageToTop.mustache +1 -1
  66. package/docs/webapi/scrollTo.mustache +1 -1
  67. package/docs/webapi/see.mustache +1 -1
  68. package/docs/webapi/seeAttributesOnElements.mustache +1 -1
  69. package/docs/webapi/seeCheckboxIsChecked.mustache +1 -1
  70. package/docs/webapi/seeCookie.mustache +1 -1
  71. package/docs/webapi/seeCssPropertiesOnElements.mustache +1 -1
  72. package/docs/webapi/seeCurrentUrlEquals.mustache +1 -1
  73. package/docs/webapi/seeElement.mustache +1 -1
  74. package/docs/webapi/seeElementInDOM.mustache +1 -1
  75. package/docs/webapi/seeInCurrentUrl.mustache +1 -1
  76. package/docs/webapi/seeInField.mustache +1 -1
  77. package/docs/webapi/seeInPopup.mustache +1 -1
  78. package/docs/webapi/seeInSource.mustache +1 -1
  79. package/docs/webapi/seeInTitle.mustache +1 -1
  80. package/docs/webapi/seeNumberOfElements.mustache +1 -1
  81. package/docs/webapi/seeNumberOfVisibleElements.mustache +1 -1
  82. package/docs/webapi/seeTextEquals.mustache +1 -1
  83. package/docs/webapi/seeTitleEquals.mustache +1 -1
  84. package/docs/webapi/selectOption.mustache +1 -1
  85. package/docs/webapi/setCookie.mustache +1 -1
  86. package/docs/webapi/setGeoLocation.mustache +1 -1
  87. package/docs/webapi/switchTo.mustache +1 -1
  88. package/docs/webapi/switchToNextTab.mustache +1 -1
  89. package/docs/webapi/switchToPreviousTab.mustache +1 -1
  90. package/docs/webapi/type.mustache +1 -1
  91. package/docs/webapi/uncheckOption.mustache +1 -1
  92. package/docs/webapi/wait.mustache +1 -1
  93. package/docs/webapi/waitForClickable.mustache +1 -1
  94. package/docs/webapi/waitForDetached.mustache +1 -1
  95. package/docs/webapi/waitForElement.mustache +1 -1
  96. package/docs/webapi/waitForEnabled.mustache +1 -1
  97. package/docs/webapi/waitForFunction.mustache +1 -1
  98. package/docs/webapi/waitForInvisible.mustache +1 -1
  99. package/docs/webapi/waitForText.mustache +1 -1
  100. package/docs/webapi/waitForValue.mustache +1 -1
  101. package/docs/webapi/waitForVisible.mustache +1 -1
  102. package/docs/webapi/waitInUrl.mustache +1 -1
  103. package/docs/webapi/waitNumberOfVisibleElements.mustache +1 -1
  104. package/docs/webapi/waitToHide.mustache +1 -1
  105. package/docs/webapi/waitUrlEquals.mustache +1 -1
  106. package/lib/command/run-multiple.js +1 -1
  107. package/lib/command/run-workers.js +30 -4
  108. package/lib/command/workers/runTests.js +23 -0
  109. package/lib/event.js +2 -0
  110. package/lib/helper/Appium.js +10 -10
  111. package/lib/helper/Playwright.js +78 -7
  112. package/lib/helper/Puppeteer.js +7 -3
  113. package/lib/helper/WebDriver.js +6 -2
  114. package/lib/interfaces/gherkin.js +8 -1
  115. package/lib/interfaces/scenarioConfig.js +1 -0
  116. package/lib/locator.js +2 -2
  117. package/lib/plugin/autoLogin.js +4 -2
  118. package/lib/plugin/retryFailedStep.js +5 -0
  119. package/lib/plugin/stepByStepReport.js +2 -2
  120. package/lib/ui.js +1 -0
  121. package/lib/workers.js +2 -0
  122. package/package.json +4 -4
  123. package/typings/promiseBasedTypes.d.ts +449 -1008
  124. package/typings/types.d.ts +452 -425
@@ -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 **[Promise][5]<void>** automatically synchronized promise through #recorder
85
+ Returns **void** automatically synchronized promise through #recorder
86
86
 
87
87
  ### appendField
88
88
 
@@ -100,7 +100,7 @@ I.appendField('password', secret('123456'));
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
102
 
103
- Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
103
+ Returns **void** automatically synchronized promise through #recorder
104
104
 
105
105
  ### attachFile
106
106
 
@@ -118,7 +118,7 @@ I.attachFile('form input[name=avatar]', 'data/avatar.jpg');
118
118
  - `locator` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
119
119
  - `pathToFile` **[string][3]** local file path relative to codecept.conf.ts or codecept.conf.js config file.
120
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])
121
+ Returns **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][5])
122
122
 
123
123
  ### checkOption
124
124
 
@@ -138,7 +138,7 @@ I.checkOption('agree', '//form');
138
138
  - `field` **([string][3] | [object][4])** checkbox located by label | name | CSS | XPath | strict locator.
139
139
  - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
140
140
 
141
- Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
141
+ Returns **void** automatically synchronized promise through #recorder
142
142
 
143
143
  ### clearCookie
144
144
 
@@ -147,15 +147,13 @@ if none provided clears all cookies.
147
147
 
148
148
  ```js
149
149
  I.clearCookie();
150
- I.clearCookie('test');
150
+ I.clearCookie('test'); // Playwright currently doesn't support clear a particular cookie name
151
151
  ```
152
152
 
153
153
  #### Parameters
154
154
 
155
155
  - `cookie` **[string][3]?** (optional, `null` by default) cookie name
156
156
 
157
- Returns **[Promise][5]<void>** automatically synchronized promise through #recorder
158
-
159
157
  ### clearField
160
158
 
161
159
  Clears a `<textarea>` or text `<input>` element's value.
@@ -171,7 +169,7 @@ I.clearField('#email');
171
169
  - `field`
172
170
  - `editable` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
173
171
 
174
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder.
172
+ Returns **void** automatically synchronized promise through #recorder.
175
173
 
176
174
  ### click
177
175
 
@@ -202,7 +200,7 @@ I.click({css: 'nav a.login'});
202
200
  - `locator` **([string][3] | [object][4])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
203
201
  - `context` **([string][3]? | [object][4] | null)** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
204
202
 
205
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
203
+ Returns **void** automatically synchronized promise through #recorder
206
204
 
207
205
  ### dontSee
208
206
 
@@ -219,7 +217,7 @@ I.dontSee('Login', '.nav'); // no login inside .nav element
219
217
  - `text` **[string][3]** which is not present.
220
218
  - `context` **([string][3] | [object][4])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
221
219
 
222
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
220
+ Returns **void** automatically synchronized promise through #recorder
223
221
 
224
222
  ### dontSeeCheckboxIsChecked
225
223
 
@@ -235,7 +233,7 @@ I.dontSeeCheckboxIsChecked('agree'); // located by name
235
233
 
236
234
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
237
235
 
238
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
236
+ Returns **void** automatically synchronized promise through #recorder
239
237
 
240
238
  ### dontSeeCookie
241
239
 
@@ -249,7 +247,7 @@ I.dontSeeCookie('auth'); // no auth cookie
249
247
 
250
248
  - `name` **[string][3]** cookie name.
251
249
 
252
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
250
+ Returns **void** automatically synchronized promise through #recorder
253
251
 
254
252
  ### dontSeeCurrentUrlEquals
255
253
 
@@ -265,7 +263,7 @@ I.dontSeeCurrentUrlEquals('http://mysite.com/login'); // absolute urls are also
265
263
 
266
264
  - `url` **[string][3]** value to check.
267
265
 
268
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
266
+ Returns **void** automatically synchronized promise through #recorder
269
267
 
270
268
  ### dontSeeElement
271
269
 
@@ -279,7 +277,7 @@ I.dontSeeElement('.modal'); // modal is not shown
279
277
 
280
278
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|Strict locator.
281
279
 
282
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
280
+ Returns **void** automatically synchronized promise through #recorder
283
281
 
284
282
  ### dontSeeElementInDOM
285
283
 
@@ -293,7 +291,7 @@ I.dontSeeElementInDOM('.nav'); // checks that element is not on page visible or
293
291
 
294
292
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|Strict locator.
295
293
 
296
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
294
+ Returns **void** automatically synchronized promise through #recorder
297
295
 
298
296
  ### dontSeeInCurrentUrl
299
297
 
@@ -303,7 +301,7 @@ Checks that current url does not contain a provided fragment.
303
301
 
304
302
  - `url` **[string][3]** value to check.
305
303
 
306
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
304
+ Returns **void** automatically synchronized promise through #recorder
307
305
 
308
306
  ### dontSeeInField
309
307
 
@@ -320,7 +318,7 @@ I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
320
318
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
321
319
  - `value` **([string][3] | [object][4])** value to check.
322
320
 
323
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
321
+ Returns **void** automatically synchronized promise through #recorder
324
322
 
325
323
  ### dontSeeInSource
326
324
 
@@ -335,7 +333,7 @@ I.dontSeeInSource('<!--'); // no comments in source
335
333
  - `text`
336
334
  - `value` **[string][3]** to check.
337
335
 
338
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
336
+ Returns **void** automatically synchronized promise through #recorder
339
337
 
340
338
  ### dontSeeInTitle
341
339
 
@@ -349,7 +347,7 @@ I.dontSeeInTitle('Error');
349
347
 
350
348
  - `text` **[string][3]** value to check.
351
349
 
352
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
350
+ Returns **void** automatically synchronized promise through #recorder
353
351
 
354
352
  ### doubleClick
355
353
 
@@ -368,14 +366,14 @@ I.doubleClick('.btn.edit');
368
366
  - `locator` **([string][3] | [object][4])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
369
367
  - `context` **([string][3]? | [object][4])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
370
368
 
371
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
369
+ Returns **void** automatically synchronized promise through #recorder
372
370
 
373
371
  ### executeAsyncScript
374
372
 
375
373
  Executes async script on page.
376
374
  Provided function should execute a passed callback (as first argument) to signal it is finished.
377
375
 
378
- Example: In Vue.js to make components completely rendered we are waiting for [nextTick][7].
376
+ Example: In Vue.js to make components completely rendered we are waiting for [nextTick][6].
379
377
 
380
378
  ```js
381
379
  I.executeAsyncScript(function(done) {
@@ -396,9 +394,9 @@ let val = await I.executeAsyncScript(function(url, done) {
396
394
  #### Parameters
397
395
 
398
396
  - `args` **...any** to be passed to function.
399
- - `fn` **([string][3] | [function][8])** function to be executed in browser context.
397
+ - `fn` **([string][3] | [function][7])** function to be executed in browser context.
400
398
 
401
- Returns **[Promise][5]&lt;any>** script return valueWrapper for asynchronous [evaluate][9].
399
+ Returns **[Promise][8]&lt;any>** script return valueWrapper for asynchronous [evaluate][9].
402
400
  Unlike NightmareJS implementation calling `done` will return its first argument.
403
401
 
404
402
  ### executeScript
@@ -430,9 +428,9 @@ let date = await I.executeScript(function(el) {
430
428
  #### Parameters
431
429
 
432
430
  - `args` **...any** to be passed to function.
433
- - `fn` **([string][3] | [function][8])** function to be executed in browser context.
431
+ - `fn` **([string][3] | [function][7])** function to be executed in browser context.
434
432
 
435
- Returns **[Promise][5]&lt;any>** script return valueWrapper for synchronous [evaluate][9]
433
+ Returns **[Promise][8]&lt;any>** script return valueWrapper for synchronous [evaluate][9]
436
434
 
437
435
  ### fillField
438
436
 
@@ -455,7 +453,7 @@ I.fillField({css: 'form#login input[name=username]'}, 'John');
455
453
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
456
454
  - `value` **([string][3] | [object][4])** text value to fill.
457
455
 
458
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
456
+ Returns **void** automatically synchronized promise through #recorder
459
457
 
460
458
  ### grabAttributeFrom
461
459
 
@@ -472,7 +470,7 @@ let hint = await I.grabAttributeFrom('#tooltip', 'title');
472
470
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
473
471
  - `attr` **[string][3]** attribute name.
474
472
 
475
- Returns **[Promise][5]&lt;[string][3]>** attribute value
473
+ Returns **[Promise][8]&lt;[string][3]>** attribute value
476
474
 
477
475
  ### grabAttributeFromAll
478
476
 
@@ -488,7 +486,7 @@ let hints = await I.grabAttributeFromAll('.tooltip', 'title');
488
486
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
489
487
  - `attr` **[string][3]** attribute name.
490
488
 
491
- Returns **[Promise][5]&lt;[Array][10]&lt;[string][3]>>** attribute value
489
+ Returns **[Promise][8]&lt;[Array][10]&lt;[string][3]>>** attribute value
492
490
 
493
491
  ### grabCookie
494
492
 
@@ -522,7 +520,7 @@ const value = await I.grabCssPropertyFrom('h3', 'font-weight');
522
520
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
523
521
  - `cssProperty` **[string][3]** CSS property name.
524
522
 
525
- Returns **[Promise][5]&lt;[string][3]>** CSS value
523
+ Returns **[Promise][8]&lt;[string][3]>** CSS value
526
524
 
527
525
  ### grabCurrentUrl
528
526
 
@@ -534,7 +532,7 @@ let url = await I.grabCurrentUrl();
534
532
  console.log(`Current URL is [${url}]`);
535
533
  ```
536
534
 
537
- Returns **[Promise][5]&lt;[string][3]>** current URL
535
+ Returns **[Promise][8]&lt;[string][3]>** current URL
538
536
 
539
537
  ### grabElementBoundingRect
540
538
 
@@ -562,7 +560,7 @@ const width = await I.grabElementBoundingRect('h3', 'width');
562
560
  - `prop`
563
561
  - `elementSize` **[string][3]?** x, y, width or height of the given element.
564
562
 
565
- Returns **([Promise][5]&lt;DOMRect> | [Promise][5]&lt;[number][11]>)** Element bounding rectangle
563
+ Returns **([Promise][8]&lt;DOMRect> | [Promise][8]&lt;[number][11]>)** Element bounding rectangle
566
564
 
567
565
  ### grabHAR
568
566
 
@@ -588,7 +586,7 @@ let postHTML = await I.grabHTMLFrom('#post');
588
586
  - `locator`
589
587
  - `element` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
590
588
 
591
- Returns **[Promise][5]&lt;[string][3]>** HTML code for an element
589
+ Returns **[Promise][8]&lt;[string][3]>** HTML code for an element
592
590
 
593
591
  ### grabHTMLFromAll
594
592
 
@@ -604,7 +602,7 @@ let postHTMLs = await I.grabHTMLFromAll('.post');
604
602
  - `locator`
605
603
  - `element` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
606
604
 
607
- Returns **[Promise][5]&lt;[Array][10]&lt;[string][3]>>** HTML code for an element
605
+ Returns **[Promise][8]&lt;[Array][10]&lt;[string][3]>>** HTML code for an element
608
606
 
609
607
  ### grabNumberOfVisibleElements
610
608
 
@@ -619,7 +617,7 @@ let numOfElements = await I.grabNumberOfVisibleElements('p');
619
617
 
620
618
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
621
619
 
622
- Returns **[Promise][5]&lt;[number][11]>** number of visible elements
620
+ Returns **[Promise][8]&lt;[number][11]>** number of visible elements
623
621
 
624
622
  ### grabPageScrollPosition
625
623
 
@@ -630,7 +628,7 @@ Resumes test execution, so **should be used inside an async function with `await
630
628
  let { x, y } = await I.grabPageScrollPosition();
631
629
  ```
632
630
 
633
- Returns **[Promise][5]&lt;PageScrollPosition>** scroll position
631
+ Returns **[Promise][8]&lt;PageScrollPosition>** scroll position
634
632
 
635
633
  ### grabTextFrom
636
634
 
@@ -647,7 +645,7 @@ If multiple elements found returns first element.
647
645
 
648
646
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
649
647
 
650
- Returns **[Promise][5]&lt;[string][3]>** attribute value
648
+ Returns **[Promise][8]&lt;[string][3]>** attribute value
651
649
 
652
650
  ### grabTextFromAll
653
651
 
@@ -662,7 +660,7 @@ let pins = await I.grabTextFromAll('#pin li');
662
660
 
663
661
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
664
662
 
665
- Returns **[Promise][5]&lt;[Array][10]&lt;[string][3]>>** attribute value
663
+ Returns **[Promise][8]&lt;[Array][10]&lt;[string][3]>>** attribute value
666
664
 
667
665
  ### grabTitle
668
666
 
@@ -673,7 +671,7 @@ Resumes test execution, so **should be used inside async with `await`** operator
673
671
  let title = await I.grabTitle();
674
672
  ```
675
673
 
676
- Returns **[Promise][5]&lt;[string][3]>** title
674
+ Returns **[Promise][8]&lt;[string][3]>** title
677
675
 
678
676
  ### grabValueFrom
679
677
 
@@ -689,7 +687,7 @@ let email = await I.grabValueFrom('input[name=email]');
689
687
 
690
688
  - `locator` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
691
689
 
692
- Returns **[Promise][5]&lt;[string][3]>** attribute value
690
+ Returns **[Promise][8]&lt;[string][3]>** attribute value
693
691
 
694
692
  ### grabValueFromAll
695
693
 
@@ -704,7 +702,7 @@ let inputs = await I.grabValueFromAll('//form/input');
704
702
 
705
703
  - `locator` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
706
704
 
707
- Returns **[Promise][5]&lt;[Array][10]&lt;[string][3]>>** attribute value
705
+ Returns **[Promise][8]&lt;[Array][10]&lt;[string][3]>>** attribute value
708
706
 
709
707
  ### haveHeader
710
708
 
@@ -736,7 +734,7 @@ I.moveCursorTo('#submit', 5,5);
736
734
  - `offsetX` **[number][11]** (optional, `0` by default) X-axis offset.
737
735
  - `offsetY` **[number][11]** (optional, `0` by default) Y-axis offset.
738
736
 
739
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
737
+ Returns **void** automatically synchronized promise through #recorder
740
738
 
741
739
  ### pressKey
742
740
 
@@ -759,7 +757,7 @@ Reload the current page.
759
757
  I.refreshPage();
760
758
  ```
761
759
 
762
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
760
+ Returns **void** automatically synchronized promise through #recorder
763
761
 
764
762
  ### resizeWindow
765
763
 
@@ -771,7 +769,7 @@ First parameter can be set to `maximize`.
771
769
  - `width` **[number][11]** width in pixels or `maximize`.
772
770
  - `height` **[number][11]** height in pixels.
773
771
 
774
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
772
+ Returns **void** automatically synchronized promise through #recorder
775
773
 
776
774
  ### rightClick
777
775
 
@@ -791,7 +789,7 @@ I.rightClick('Click me', '.context');
791
789
  - `locator` **([string][3] | [object][4])** clickable element located by CSS|XPath|strict locator.
792
790
  - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS|XPath|strict locator.
793
791
 
794
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
792
+ Returns **void** automatically synchronized promise through #recorder
795
793
 
796
794
  ### saveElementScreenshot
797
795
 
@@ -807,7 +805,7 @@ I.saveElementScreenshot(`#submit`,'debug.png');
807
805
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
808
806
  - `fileName` **[string][3]** file name to save.
809
807
 
810
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
808
+ Returns **void** automatically synchronized promise through #recorder
811
809
 
812
810
  ### saveScreenshot
813
811
 
@@ -825,7 +823,7 @@ I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scro
825
823
  - `fileName` **[string][3]** file name to save.
826
824
  - `fullPage` **[boolean][13]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
827
825
 
828
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
826
+ Returns **void** automatically synchronized promise through #recorder
829
827
 
830
828
  ### scrollPageToBottom
831
829
 
@@ -835,7 +833,7 @@ Scroll page to the bottom.
835
833
  I.scrollPageToBottom();
836
834
  ```
837
835
 
838
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
836
+ Returns **void** automatically synchronized promise through #recorder
839
837
 
840
838
  ### scrollPageToTop
841
839
 
@@ -845,7 +843,7 @@ Scroll page to the top.
845
843
  I.scrollPageToTop();
846
844
  ```
847
845
 
848
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
846
+ Returns **void** automatically synchronized promise through #recorder
849
847
 
850
848
  ### scrollTo
851
849
 
@@ -863,7 +861,7 @@ I.scrollTo('#submit', 5, 5);
863
861
  - `offsetX` **[number][11]** (optional, `0` by default) X-axis offset.
864
862
  - `offsetY` **[number][11]** (optional, `0` by default) Y-axis offset.
865
863
 
866
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
864
+ Returns **void** automatically synchronized promise through #recorder
867
865
 
868
866
  ### see
869
867
 
@@ -881,7 +879,7 @@ I.see('Register', {css: 'form.register'}); // use strict locator
881
879
  - `text` **[string][3]** expected on page.
882
880
  - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
883
881
 
884
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
882
+ Returns **void** automatically synchronized promise through #recorder
885
883
 
886
884
  ### seeCheckboxIsChecked
887
885
 
@@ -897,7 +895,7 @@ I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
897
895
 
898
896
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
899
897
 
900
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
898
+ Returns **void** automatically synchronized promise through #recorder
901
899
 
902
900
  ### seeCookie
903
901
 
@@ -911,7 +909,7 @@ I.seeCookie('Auth');
911
909
 
912
910
  - `name` **[string][3]** cookie name.
913
911
 
914
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
912
+ Returns **void** automatically synchronized promise through #recorder
915
913
 
916
914
  ### seeCurrentUrlEquals
917
915
 
@@ -928,7 +926,7 @@ I.seeCurrentUrlEquals('http://my.site.com/register');
928
926
 
929
927
  - `url` **[string][3]** value to check.
930
928
 
931
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
929
+ Returns **void** automatically synchronized promise through #recorder
932
930
 
933
931
  ### seeElement
934
932
 
@@ -943,7 +941,7 @@ I.seeElement('#modal');
943
941
 
944
942
  - `locator` **([string][3] | [object][4])** located by CSS|XPath|strict locator.
945
943
 
946
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
944
+ Returns **void** automatically synchronized promise through #recorder
947
945
 
948
946
  ### seeElementInDOM
949
947
 
@@ -958,7 +956,7 @@ I.seeElementInDOM('#modal');
958
956
 
959
957
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
960
958
 
961
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
959
+ Returns **void** automatically synchronized promise through #recorder
962
960
 
963
961
  ### seeInCurrentUrl
964
962
 
@@ -972,7 +970,7 @@ I.seeInCurrentUrl('/register'); // we are on registration page
972
970
 
973
971
  - `url` **[string][3]** a fragment to check
974
972
 
975
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
973
+ Returns **void** automatically synchronized promise through #recorder
976
974
 
977
975
  ### seeInField
978
976
 
@@ -991,7 +989,7 @@ I.seeInField('#searchform input','Search');
991
989
  - `field` **([string][3] | [object][4])** located by label|name|CSS|XPath|strict locator.
992
990
  - `value` **([string][3] | [object][4])** value to check.
993
991
 
994
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
992
+ Returns **void** automatically synchronized promise through #recorder
995
993
 
996
994
  ### seeInSource
997
995
 
@@ -1005,7 +1003,7 @@ I.seeInSource('<h1>Green eggs &amp; ham</h1>');
1005
1003
 
1006
1004
  - `text` **[string][3]** value to check.
1007
1005
 
1008
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1006
+ Returns **void** automatically synchronized promise through #recorder
1009
1007
 
1010
1008
  ### seeInTitle
1011
1009
 
@@ -1019,7 +1017,7 @@ I.seeInTitle('Home Page');
1019
1017
 
1020
1018
  - `text` **[string][3]** text value to check.
1021
1019
 
1022
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1020
+ Returns **void** automatically synchronized promise through #recorder
1023
1021
 
1024
1022
  ### seeNumberOfElements
1025
1023
 
@@ -1035,7 +1033,7 @@ I.seeNumberOfElements('#submitBtn', 1);
1035
1033
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1036
1034
  - `num` **[number][11]** number of elements.
1037
1035
 
1038
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1036
+ Returns **void** automatically synchronized promise through #recorder
1039
1037
 
1040
1038
  ### seeNumberOfVisibleElements
1041
1039
 
@@ -1051,7 +1049,7 @@ I.seeNumberOfVisibleElements('.buttons', 3);
1051
1049
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1052
1050
  - `num` **[number][11]** number of elements.
1053
1051
 
1054
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1052
+ Returns **void** automatically synchronized promise through #recorder
1055
1053
 
1056
1054
  ### selectOption
1057
1055
 
@@ -1079,7 +1077,7 @@ I.selectOption('Which OS do you use?', ['Android', 'iOS']);
1079
1077
  - `select` **([string][3] | [object][4])** field located by label|name|CSS|XPath|strict locator.
1080
1078
  - `option` **([string][3] | [Array][10]&lt;any>)** visible text or value of option.
1081
1079
 
1082
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1080
+ Returns **void** automatically synchronized promise through #recorder
1083
1081
 
1084
1082
  ### setCookie
1085
1083
 
@@ -1101,7 +1099,7 @@ I.setCookie([
1101
1099
 
1102
1100
  - `cookie` **(Cookie | [Array][10]&lt;Cookie>)** a cookie object or array of cookie objects.
1103
1101
 
1104
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorderWrapper for `.cookies.set(cookie)`.
1102
+ Returns **void** automatically synchronized promise through #recorderWrapper for `.cookies.set(cookie)`.
1105
1103
  [See more][14]
1106
1104
 
1107
1105
  ### triggerMouseEvent
@@ -1137,7 +1135,7 @@ I.uncheckOption('agree', '//form');
1137
1135
  - `field` **([string][3] | [object][4])** checkbox located by label | name | CSS | XPath | strict locator.
1138
1136
  - `context` **([string][3]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
1139
1137
 
1140
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1138
+ Returns **void** automatically synchronized promise through #recorder
1141
1139
 
1142
1140
  ### wait
1143
1141
 
@@ -1151,7 +1149,7 @@ I.wait(2); // wait 2 secs
1151
1149
 
1152
1150
  - `sec` **[number][11]** number of second to wait.
1153
1151
 
1154
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1152
+ Returns **void** automatically synchronized promise through #recorder
1155
1153
 
1156
1154
  ### waitForDetached
1157
1155
 
@@ -1167,7 +1165,7 @@ I.waitForDetached('#popup');
1167
1165
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1168
1166
  - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1169
1167
 
1170
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1168
+ Returns **void** automatically synchronized promise through #recorder
1171
1169
 
1172
1170
  ### waitForElement
1173
1171
 
@@ -1184,7 +1182,7 @@ I.waitForElement('.btn.continue', 5); // wait for 5 secs
1184
1182
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1185
1183
  - `sec` **[number][11]?** (optional, `1` by default) time in seconds to wait
1186
1184
 
1187
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1185
+ Returns **void** automatically synchronized promise through #recorder
1188
1186
 
1189
1187
  ### waitForFunction
1190
1188
 
@@ -1203,11 +1201,11 @@ I.waitForFunction((count) => window.requests == count, [3], 5) // pass args and
1203
1201
 
1204
1202
  #### Parameters
1205
1203
 
1206
- - `fn` **([string][3] | [function][8])** to be executed in browser context.
1204
+ - `fn` **([string][3] | [function][7])** to be executed in browser context.
1207
1205
  - `argsOrSec` **([Array][10]&lt;any> | [number][11])?** (optional, `1` by default) arguments for function or seconds.
1208
1206
  - `sec` **[number][11]?** (optional, `1` by default) time in seconds to wait
1209
1207
 
1210
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1208
+ Returns **void** automatically synchronized promise through #recorder
1211
1209
 
1212
1210
  ### waitForInvisible
1213
1211
 
@@ -1223,7 +1221,7 @@ I.waitForInvisible('#popup');
1223
1221
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1224
1222
  - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1225
1223
 
1226
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1224
+ Returns **void** automatically synchronized promise through #recorder
1227
1225
 
1228
1226
  ### waitForText
1229
1227
 
@@ -1242,7 +1240,7 @@ I.waitForText('Thank you, form has been submitted', 5, '#modal');
1242
1240
  - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1243
1241
  - `context` **([string][3] | [object][4])?** (optional) element located by CSS|XPath|strict locator.
1244
1242
 
1245
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1243
+ Returns **void** automatically synchronized promise through #recorder
1246
1244
 
1247
1245
  ### waitForVisible
1248
1246
 
@@ -1258,7 +1256,7 @@ I.waitForVisible('#popup');
1258
1256
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1259
1257
  - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1260
1258
 
1261
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1259
+ Returns **void** automatically synchronized promise through #recorder
1262
1260
 
1263
1261
  ### waitToHide
1264
1262
 
@@ -1274,7 +1272,7 @@ I.waitToHide('#popup');
1274
1272
  - `locator` **([string][3] | [object][4])** element located by CSS|XPath|strict locator.
1275
1273
  - `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
1276
1274
 
1277
- Returns **[Promise][5]&lt;void>** automatically synchronized promise through #recorder
1275
+ Returns **void** automatically synchronized promise through #recorder
1278
1276
 
1279
1277
  [1]: https://github.com/segmentio/nightmare
1280
1278
 
@@ -1284,13 +1282,13 @@ Returns **[Promise][5]&lt;void>** automatically synchronized promise through #re
1284
1282
 
1285
1283
  [4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
1286
1284
 
1287
- [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
1285
+ [5]: https://github.com/rosshinkley/nightmare-upload#important-note-about-setting-file-upload-inputs
1288
1286
 
1289
- [6]: https://github.com/rosshinkley/nightmare-upload#important-note-about-setting-file-upload-inputs
1287
+ [6]: https://vuejs.org/v2/api/#Vue-nextTick
1290
1288
 
1291
- [7]: https://vuejs.org/v2/api/#Vue-nextTick
1289
+ [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
1292
1290
 
1293
- [8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
1291
+ [8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
1294
1292
 
1295
1293
  [9]: https://github.com/segmentio/nightmare#evaluatefn-arg1-arg2
1296
1294