codeceptjs 3.3.1 → 3.3.4

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 (126) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +4 -25
  3. package/docs/api.md +4 -0
  4. package/docs/basics.md +2 -0
  5. package/docs/build/Appium.js +18 -28
  6. package/docs/build/JSONResponse.js +44 -3
  7. package/docs/build/Nightmare.js +53 -53
  8. package/docs/build/Playwright.js +95 -103
  9. package/docs/build/Protractor.js +66 -66
  10. package/docs/build/Puppeteer.js +74 -74
  11. package/docs/build/REST.js +8 -4
  12. package/docs/build/TestCafe.js +53 -53
  13. package/docs/build/WebDriver.js +84 -86
  14. package/docs/changelog.md +49 -0
  15. package/docs/helpers/Appium.md +212 -268
  16. package/docs/helpers/JSONResponse.md +24 -0
  17. package/docs/helpers/Nightmare.md +92 -141
  18. package/docs/helpers/Playwright.md +302 -413
  19. package/docs/helpers/Puppeteer.md +171 -231
  20. package/docs/helpers/REST.md +2 -0
  21. package/docs/helpers/TestCafe.md +125 -174
  22. package/docs/helpers/WebDriver.md +184 -247
  23. package/docs/plugins.md +41 -1
  24. package/docs/secrets.md +30 -0
  25. package/docs/webapi/amOnPage.mustache +1 -1
  26. package/docs/webapi/appendField.mustache +1 -1
  27. package/docs/webapi/attachFile.mustache +1 -1
  28. package/docs/webapi/checkOption.mustache +1 -1
  29. package/docs/webapi/clearCookie.mustache +1 -1
  30. package/docs/webapi/clearField.mustache +1 -1
  31. package/docs/webapi/click.mustache +1 -1
  32. package/docs/webapi/clickLink.mustache +1 -1
  33. package/docs/webapi/closeCurrentTab.mustache +1 -1
  34. package/docs/webapi/closeOtherTabs.mustache +1 -1
  35. package/docs/webapi/dontSee.mustache +1 -1
  36. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +1 -1
  37. package/docs/webapi/dontSeeCookie.mustache +1 -1
  38. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +1 -1
  39. package/docs/webapi/dontSeeElement.mustache +1 -1
  40. package/docs/webapi/dontSeeElementInDOM.mustache +1 -1
  41. package/docs/webapi/dontSeeInCurrentUrl.mustache +1 -1
  42. package/docs/webapi/dontSeeInField.mustache +1 -1
  43. package/docs/webapi/dontSeeInSource.mustache +1 -1
  44. package/docs/webapi/dontSeeInTitle.mustache +1 -1
  45. package/docs/webapi/doubleClick.mustache +1 -1
  46. package/docs/webapi/downloadFile.mustache +1 -1
  47. package/docs/webapi/dragAndDrop.mustache +1 -1
  48. package/docs/webapi/dragSlider.mustache +1 -1
  49. package/docs/webapi/executeAsyncScript.mustache +1 -1
  50. package/docs/webapi/executeScript.mustache +1 -1
  51. package/docs/webapi/fillField.mustache +1 -1
  52. package/docs/webapi/forceClick.mustache +1 -1
  53. package/docs/webapi/forceRightClick.mustache +1 -1
  54. package/docs/webapi/grabDataFromPerformanceTiming.mustache +1 -1
  55. package/docs/webapi/moveCursorTo.mustache +1 -1
  56. package/docs/webapi/openNewTab.mustache +1 -1
  57. package/docs/webapi/pressKey.mustache +1 -1
  58. package/docs/webapi/pressKeyDown.mustache +1 -1
  59. package/docs/webapi/pressKeyUp.mustache +1 -1
  60. package/docs/webapi/pressKeyWithKeyNormalization.mustache +1 -1
  61. package/docs/webapi/refreshPage.mustache +1 -1
  62. package/docs/webapi/resizeWindow.mustache +1 -1
  63. package/docs/webapi/rightClick.mustache +1 -1
  64. package/docs/webapi/saveElementScreenshot.mustache +1 -1
  65. package/docs/webapi/saveScreenshot.mustache +1 -1
  66. package/docs/webapi/say.mustache +1 -1
  67. package/docs/webapi/scrollIntoView.mustache +1 -1
  68. package/docs/webapi/scrollPageToBottom.mustache +1 -1
  69. package/docs/webapi/scrollPageToTop.mustache +1 -1
  70. package/docs/webapi/scrollTo.mustache +1 -1
  71. package/docs/webapi/see.mustache +1 -1
  72. package/docs/webapi/seeAttributesOnElements.mustache +1 -1
  73. package/docs/webapi/seeCheckboxIsChecked.mustache +1 -1
  74. package/docs/webapi/seeCookie.mustache +1 -1
  75. package/docs/webapi/seeCssPropertiesOnElements.mustache +1 -1
  76. package/docs/webapi/seeCurrentUrlEquals.mustache +1 -1
  77. package/docs/webapi/seeElement.mustache +1 -1
  78. package/docs/webapi/seeElementInDOM.mustache +1 -1
  79. package/docs/webapi/seeInCurrentUrl.mustache +1 -1
  80. package/docs/webapi/seeInField.mustache +1 -1
  81. package/docs/webapi/seeInPopup.mustache +1 -1
  82. package/docs/webapi/seeInSource.mustache +1 -1
  83. package/docs/webapi/seeInTitle.mustache +1 -1
  84. package/docs/webapi/seeNumberOfElements.mustache +1 -1
  85. package/docs/webapi/seeNumberOfVisibleElements.mustache +1 -1
  86. package/docs/webapi/seeTextEquals.mustache +1 -1
  87. package/docs/webapi/seeTitleEquals.mustache +1 -1
  88. package/docs/webapi/selectOption.mustache +1 -1
  89. package/docs/webapi/setCookie.mustache +1 -1
  90. package/docs/webapi/setGeoLocation.mustache +1 -1
  91. package/docs/webapi/switchTo.mustache +1 -1
  92. package/docs/webapi/switchToNextTab.mustache +1 -1
  93. package/docs/webapi/switchToPreviousTab.mustache +1 -1
  94. package/docs/webapi/type.mustache +1 -1
  95. package/docs/webapi/uncheckOption.mustache +1 -1
  96. package/docs/webapi/wait.mustache +1 -1
  97. package/docs/webapi/waitForClickable.mustache +1 -1
  98. package/docs/webapi/waitForDetached.mustache +1 -1
  99. package/docs/webapi/waitForElement.mustache +1 -1
  100. package/docs/webapi/waitForEnabled.mustache +1 -1
  101. package/docs/webapi/waitForFunction.mustache +1 -1
  102. package/docs/webapi/waitForInvisible.mustache +1 -1
  103. package/docs/webapi/waitForText.mustache +1 -1
  104. package/docs/webapi/waitForValue.mustache +1 -1
  105. package/docs/webapi/waitForVisible.mustache +1 -1
  106. package/docs/webapi/waitInUrl.mustache +1 -1
  107. package/docs/webapi/waitNumberOfVisibleElements.mustache +1 -1
  108. package/docs/webapi/waitToHide.mustache +1 -1
  109. package/docs/webapi/waitUrlEquals.mustache +1 -1
  110. package/lib/cli.js +1 -1
  111. package/lib/command/interactive.js +1 -1
  112. package/lib/command/run-workers.js +1 -1
  113. package/lib/command/workers/runTests.js +15 -0
  114. package/lib/helper/Appium.js +0 -10
  115. package/lib/helper/JSONResponse.js +44 -3
  116. package/lib/helper/Playwright.js +24 -32
  117. package/lib/helper/REST.js +8 -4
  118. package/lib/helper/WebDriver.js +5 -7
  119. package/lib/output.js +4 -0
  120. package/lib/plugin/customLocator.js +50 -3
  121. package/lib/plugin/retryFailedStep.js +1 -1
  122. package/lib/plugin/retryTo.js +1 -8
  123. package/lib/secret.js +30 -0
  124. package/lib/step.js +1 -1
  125. package/package.json +4 -4
  126. package/typings/types.d.ts +1016 -520
@@ -107,7 +107,7 @@ I.amOnPage('/login'); // opens a login page
107
107
 
108
108
  - `url` **[string][4]** url path or global url.
109
109
 
110
- Returns **[Promise][5]<any>**
110
+ Returns **void** automatically synchronized promise with recorder #!
111
111
 
112
112
  ### appendField
113
113
 
@@ -120,10 +120,9 @@ I.appendField('#myTextField', 'appended');
120
120
 
121
121
  #### Parameters
122
122
 
123
- - `field` **([string][4] | [object][6])** located by label|name|CSS|XPath|strict locator
123
+ - `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator
124
124
  - `value` **[string][4]** text value to append.
125
-
126
- Returns **[Promise][5]<any>**
125
+ [!] returns a _promise_ which is synchronized internally by recorder
127
126
 
128
127
  ### attachFile
129
128
 
@@ -140,9 +139,8 @@ I.attachFile('form input[name=avatar]', 'data/avatar.jpg');
140
139
 
141
140
  - `field`
142
141
  - `pathToFile` **[string][4]** local file path relative to codecept.json config file.
143
- - `locator` **([string][4] | [object][6])** field located by label|name|CSS|XPath|strict locator.
144
-
145
- Returns **[Promise][5]<any>**
142
+ [!] returns a _promise_ which is synchronized internally by recorder
143
+ - `locator` **([string][4] | [object][5])** field located by label|name|CSS|XPath|strict locator.
146
144
 
147
145
  ### checkOption
148
146
 
@@ -159,10 +157,9 @@ I.checkOption('agree', '//form');
159
157
 
160
158
  #### Parameters
161
159
 
162
- - `field` **([string][4] | [object][6])** checkbox located by label | name | CSS | XPath | strict locator.
163
- - `context` **([string][4]? | [object][6])** (optional, `null` by default) element located by CSS | XPath | strict locator.
164
-
165
- Returns **[Promise][5]<any>**
160
+ - `field` **([string][4] | [object][5])** checkbox located by label | name | CSS | XPath | strict locator.
161
+ - `context` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS | XPath | strict locator.
162
+ [!] returns a _promise_ which is synchronized internally by recorder
166
163
 
167
164
  ### clearCookie
168
165
 
@@ -177,9 +174,8 @@ I.clearCookie('test');
177
174
  #### Parameters
178
175
 
179
176
  - `cookieName`
180
- - `cookie` **[string][4]?** (optional, `null` by default) cookie name
181
-
182
- Returns **[Promise][5]<any>**
177
+ - `cookie` **[string][4]?** (optional, `null` by default) cookie name
178
+ [!] returns a _promise_ which is synchronized internally by recorder
183
179
 
184
180
  ### clearField
185
181
 
@@ -194,9 +190,8 @@ I.clearField('#email');
194
190
  #### Parameters
195
191
 
196
192
  - `field`
197
- - `editable` **([string][4] | [object][6])** field located by label|name|CSS|XPath|strict locator.
198
-
199
- Returns **[Promise][5]<any>**
193
+ - `editable` **([string][4] | [object][5])** field located by label|name|CSS|XPath|strict locator.
194
+ [!] returns a _promise_ which is synchronized internally by recorder
200
195
 
201
196
  ### click
202
197
 
@@ -224,10 +219,9 @@ I.click({css: 'nav a.login'});
224
219
 
225
220
  #### Parameters
226
221
 
227
- - `locator` **([string][4] | [object][6])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
228
- - `context` **([string][4]? | [object][6] | null)** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
229
-
230
- Returns **[Promise][5]<any>**
222
+ - `locator` **([string][4] | [object][5])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
223
+ - `context` **([string][4]? | [object][5] | null)** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
224
+ [!] returns a _promise_ which is synchronized internally by recorder
231
225
 
232
226
  ### dontSee
233
227
 
@@ -242,9 +236,8 @@ I.dontSee('Login', '.nav'); // no login inside .nav element
242
236
  #### Parameters
243
237
 
244
238
  - `text` **[string][4]** which is not present.
245
- - `context` **([string][4] | [object][6])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
246
-
247
- Returns **[Promise][5]<any>**
239
+ - `context` **([string][4] | [object][5])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
240
+ [!] returns a _promise_ which is synchronized internally by recorder
248
241
 
249
242
  ### dontSeeCheckboxIsChecked
250
243
 
@@ -258,9 +251,8 @@ I.dontSeeCheckboxIsChecked('agree'); // located by name
258
251
 
259
252
  #### Parameters
260
253
 
261
- - `field` **([string][4] | [object][6])** located by label|name|CSS|XPath|strict locator.
262
-
263
- Returns **[Promise][5]<any>**
254
+ - `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
255
+ [!] returns a _promise_ which is synchronized internally by recorder
264
256
 
265
257
  ### dontSeeCookie
266
258
 
@@ -273,8 +265,7 @@ I.dontSeeCookie('auth'); // no auth cookie
273
265
  #### Parameters
274
266
 
275
267
  - `name` **[string][4]** cookie name.
276
-
277
- Returns **[Promise][5]<any>**
268
+ [!] returns a _promise_ which is synchronized internally by recorder
278
269
 
279
270
  ### dontSeeCurrentUrlEquals
280
271
 
@@ -289,8 +280,7 @@ I.dontSeeCurrentUrlEquals('http://mysite.com/login'); // absolute urls are also
289
280
  #### Parameters
290
281
 
291
282
  - `url` **[string][4]** value to check.
292
-
293
- Returns **[Promise][5]<any>**
283
+ [!] returns a _promise_ which is synchronized internally by recorder
294
284
 
295
285
  ### dontSeeElement
296
286
 
@@ -302,9 +292,8 @@ I.dontSeeElement('.modal'); // modal is not shown
302
292
 
303
293
  #### Parameters
304
294
 
305
- - `locator` **([string][4] | [object][6])** located by CSS|XPath|Strict locator.
306
-
307
- Returns **[Promise][5]<any>**
295
+ - `locator` **([string][4] | [object][5])** located by CSS|XPath|Strict locator.
296
+ [!] returns a _promise_ which is synchronized internally by recorder
308
297
 
309
298
  ### dontSeeElementInDOM
310
299
 
@@ -316,9 +305,8 @@ I.dontSeeElementInDOM('.nav'); // checks that element is not on page visible or
316
305
 
317
306
  #### Parameters
318
307
 
319
- - `locator` **([string][4] | [object][6])** located by CSS|XPath|Strict locator.
320
-
321
- Returns **[Promise][5]<any>**
308
+ - `locator` **([string][4] | [object][5])** located by CSS|XPath|Strict locator.
309
+ [!] returns a _promise_ which is synchronized internally by recorder
322
310
 
323
311
  ### dontSeeInCurrentUrl
324
312
 
@@ -327,8 +315,7 @@ Checks that current url does not contain a provided fragment.
327
315
  #### Parameters
328
316
 
329
317
  - `url` **[string][4]** value to check.
330
-
331
- Returns **[Promise][5]<any>**
318
+ [!] returns a _promise_ which is synchronized internally by recorder
332
319
 
333
320
  ### dontSeeInField
334
321
 
@@ -342,10 +329,9 @@ I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
342
329
 
343
330
  #### Parameters
344
331
 
345
- - `field` **([string][4] | [object][6])** located by label|name|CSS|XPath|strict locator.
332
+ - `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
346
333
  - `value` **[string][4]** value to check.
347
-
348
- Returns **[Promise][5]<any>**
334
+ [!] returns a _promise_ which is synchronized internally by recorder
349
335
 
350
336
  ### dontSeeInSource
351
337
 
@@ -359,8 +345,7 @@ I.dontSeeInSource('<!--'); // no comments in source
359
345
 
360
346
  - `text`
361
347
  - `value` **[string][4]** to check.
362
-
363
- Returns **[Promise][5]&lt;any>**
348
+ [!] returns a _promise_ which is synchronized internally by recorder
364
349
 
365
350
  ### doubleClick
366
351
 
@@ -376,10 +361,9 @@ I.doubleClick('.btn.edit');
376
361
 
377
362
  #### Parameters
378
363
 
379
- - `locator` **([string][4] | [object][6])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
380
- - `context` **([string][4]? | [object][6])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
381
-
382
- Returns **[Promise][5]&lt;any>**
364
+ - `locator` **([string][4] | [object][5])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
365
+ - `context` **([string][4]? | [object][5])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
366
+ [!] returns a _promise_ which is synchronized internally by recorder
383
367
 
384
368
  ### executeScript
385
369
 
@@ -409,10 +393,9 @@ let date = await I.executeScript(function(el) {
409
393
 
410
394
  #### Parameters
411
395
 
412
- - `fn` **([string][4] | [function][7])** function to be executed in browser context.
396
+ - `fn` **([string][4] | [function][6])** function to be executed in browser context.
413
397
  - `args` **...any** to be passed to function.
414
-
415
- Returns **[Promise][5]&lt;any>** If a function returns a Promise It will wait for it resolution.
398
+ [!] returns a _promise_ which is synchronized internally by recorderIf a function returns a Promise It will wait for it resolution.
416
399
 
417
400
  ### fillField
418
401
 
@@ -432,10 +415,9 @@ I.fillField({css: 'form#login input[name=username]'}, 'John');
432
415
 
433
416
  #### Parameters
434
417
 
435
- - `field` **([string][4] | [object][6])** located by label|name|CSS|XPath|strict locator.
436
- - `value` **([string][4] | [object][6])** text value to fill.
437
-
438
- Returns **[Promise][5]&lt;any>**
418
+ - `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
419
+ - `value` **([string][4] | [object][5])** text value to fill.
420
+ [!] returns a _promise_ which is synchronized internally by recorder
439
421
 
440
422
  ### grabAttributeFrom
441
423
 
@@ -449,10 +431,10 @@ let hint = await I.grabAttributeFrom('#tooltip', 'title');
449
431
 
450
432
  #### Parameters
451
433
 
452
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
434
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
453
435
  - `attr` **[string][4]** attribute name.
454
436
 
455
- Returns **[Promise][5]&lt;[string][4]>** attribute value
437
+ Returns **[Promise][7]&lt;[string][4]>** attribute value
456
438
 
457
439
  ### grabAttributeFromAll
458
440
 
@@ -466,10 +448,10 @@ let hint = await I.grabAttributeFrom('#tooltip', 'title');
466
448
 
467
449
  #### Parameters
468
450
 
469
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
451
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
470
452
  - `attr` **[string][4]** attribute name.
471
453
 
472
- Returns **[Promise][5]&lt;[string][4]>** attribute value
454
+ Returns **[Promise][7]&lt;[string][4]>** attribute value
473
455
 
474
456
  ### grabBrowserLogs
475
457
 
@@ -495,7 +477,7 @@ assert(cookie.value, '123456');
495
477
 
496
478
  - `name` **[string][4]?** cookie name.
497
479
 
498
- Returns **([Promise][5]&lt;[string][4]> | [Promise][5]&lt;[Array][8]&lt;[string][4]>>)** attribute valueReturns cookie in JSON format. If name not passed returns all cookies for this domain.
480
+ Returns **([Promise][7]&lt;[string][4]> | [Promise][7]&lt;[Array][8]&lt;[string][4]>>)** attribute valueReturns cookie in JSON format. If name not passed returns all cookies for this domain.
499
481
 
500
482
  ### grabCurrentUrl
501
483
 
@@ -507,7 +489,7 @@ let url = await I.grabCurrentUrl();
507
489
  console.log(`Current URL is [${url}]`);
508
490
  ```
509
491
 
510
- Returns **[Promise][5]&lt;[string][4]>** current URL
492
+ Returns **[Promise][7]&lt;[string][4]>** current URL
511
493
 
512
494
  ### grabNumberOfVisibleElements
513
495
 
@@ -520,9 +502,9 @@ let numOfElements = await I.grabNumberOfVisibleElements('p');
520
502
 
521
503
  #### Parameters
522
504
 
523
- - `locator` **([string][4] | [object][6])** located by CSS|XPath|strict locator.
505
+ - `locator` **([string][4] | [object][5])** located by CSS|XPath|strict locator.
524
506
 
525
- Returns **[Promise][5]&lt;[number][9]>** number of visible elements
507
+ Returns **[Promise][7]&lt;[number][9]>** number of visible elements
526
508
 
527
509
  ### grabPageScrollPosition
528
510
 
@@ -533,7 +515,7 @@ Resumes test execution, so **should be used inside an async function with `await
533
515
  let { x, y } = await I.grabPageScrollPosition();
534
516
  ```
535
517
 
536
- Returns **[Promise][5]&lt;PageScrollPosition>** scroll position
518
+ Returns **[Promise][7]&lt;PageScrollPosition>** scroll position
537
519
 
538
520
  ### grabSource
539
521
 
@@ -544,7 +526,7 @@ Resumes test execution, so **should be used inside async function with `await`**
544
526
  let pageSource = await I.grabSource();
545
527
  ```
546
528
 
547
- Returns **[Promise][5]&lt;[string][4]>** source code
529
+ Returns **[Promise][7]&lt;[string][4]>** source code
548
530
 
549
531
  ### grabTextFrom
550
532
 
@@ -559,9 +541,9 @@ If multiple elements found returns first element.
559
541
 
560
542
  #### Parameters
561
543
 
562
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
544
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
563
545
 
564
- Returns **[Promise][5]&lt;[string][4]>** attribute value
546
+ Returns **[Promise][7]&lt;[string][4]>** attribute value
565
547
 
566
548
  ### grabTextFromAll
567
549
 
@@ -574,9 +556,9 @@ let pins = await I.grabTextFromAll('#pin li');
574
556
 
575
557
  #### Parameters
576
558
 
577
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
559
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
578
560
 
579
- Returns **[Promise][5]&lt;[Array][8]&lt;[string][4]>>** attribute value
561
+ Returns **[Promise][7]&lt;[Array][8]&lt;[string][4]>>** attribute value
580
562
 
581
563
  ### grabValueFrom
582
564
 
@@ -590,9 +572,9 @@ let email = await I.grabValueFrom('input[name=email]');
590
572
 
591
573
  #### Parameters
592
574
 
593
- - `locator` **([string][4] | [object][6])** field located by label|name|CSS|XPath|strict locator.
575
+ - `locator` **([string][4] | [object][5])** field located by label|name|CSS|XPath|strict locator.
594
576
 
595
- Returns **[Promise][5]&lt;[string][4]>** attribute value
577
+ Returns **[Promise][7]&lt;[string][4]>** attribute value
596
578
 
597
579
  ### grabValueFromAll
598
580
 
@@ -605,9 +587,9 @@ let inputs = await I.grabValueFromAll('//form/input');
605
587
 
606
588
  #### Parameters
607
589
 
608
- - `locator` **([string][4] | [object][6])** field located by label|name|CSS|XPath|strict locator.
590
+ - `locator` **([string][4] | [object][5])** field located by label|name|CSS|XPath|strict locator.
609
591
 
610
- Returns **[Promise][5]&lt;[Array][8]&lt;[string][4]>>** attribute value
592
+ Returns **[Promise][7]&lt;[Array][8]&lt;[string][4]>>** attribute value
611
593
 
612
594
  ### moveCursorTo
613
595
 
@@ -621,11 +603,10 @@ I.moveCursorTo('#submit', 5,5);
621
603
 
622
604
  #### Parameters
623
605
 
624
- - `locator` **([string][4] | [object][6])** located by CSS|XPath|strict locator.
606
+ - `locator` **([string][4] | [object][5])** located by CSS|XPath|strict locator.
625
607
  - `offsetX` **[number][9]** (optional, `0` by default) X-axis offset.
626
- - `offsetY` **[number][9]** (optional, `0` by default) Y-axis offset.
627
-
628
- Returns **[Promise][5]&lt;any>**
608
+ - `offsetY` **[number][9]** (optional, `0` by default) Y-axis offset.
609
+ [!] returns a _promise_ which is synchronized internally by recorder
629
610
 
630
611
  ### pressKey
631
612
 
@@ -642,8 +623,7 @@ I.pressKey(['Control','a']);
642
623
  #### Parameters
643
624
 
644
625
  - `key` **([string][4] | [Array][8]&lt;[string][4]>)** key or array of keys to press.
645
-
646
- Returns **[Promise][5]&lt;any>**
626
+ [!] returns a _promise_ which is synchronized internally by recorder
647
627
 
648
628
 
649
629
  [Valid key names](https://w3c.github.io/webdriver/#keyboard-actions) are:
@@ -686,7 +666,7 @@ Reload the current page.
686
666
  I.refreshPage();
687
667
  ```
688
668
 
689
- Returns **[Promise][5]&lt;any>**
669
+ [!] returns a _promise_ which is synchronized internally by recorder
690
670
 
691
671
  ### resizeWindow
692
672
 
@@ -697,8 +677,7 @@ First parameter can be set to `maximize`.
697
677
 
698
678
  - `width` **[number][9]** width in pixels or `maximize`.
699
679
  - `height` **[number][9]** height in pixels.
700
-
701
- Returns **[Promise][5]&lt;any>**
680
+ [!] returns a _promise_ which is synchronized internally by recorder
702
681
 
703
682
  ### rightClick
704
683
 
@@ -715,10 +694,9 @@ I.rightClick('Click me', '.context');
715
694
 
716
695
  #### Parameters
717
696
 
718
- - `locator` **([string][4] | [object][6])** clickable element located by CSS|XPath|strict locator.
719
- - `context` **([string][4]? | [object][6])** (optional, `null` by default) element located by CSS|XPath|strict locator.
720
-
721
- Returns **[Promise][5]&lt;any>**
697
+ - `locator` **([string][4] | [object][5])** clickable element located by CSS|XPath|strict locator.
698
+ - `context` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS|XPath|strict locator.
699
+ [!] returns a _promise_ which is synchronized internally by recorder
722
700
 
723
701
  ### saveElementScreenshot
724
702
 
@@ -731,10 +709,9 @@ I.saveElementScreenshot(`#submit`,'debug.png');
731
709
 
732
710
  #### Parameters
733
711
 
734
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
712
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
735
713
  - `fileName` **[string][4]** file name to save.
736
-
737
- Returns **[Promise][5]&lt;any>**
714
+ [!] returns a _promise_ which is synchronized internally by recorder
738
715
 
739
716
  ### saveScreenshot
740
717
 
@@ -750,9 +727,8 @@ I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scro
750
727
  #### Parameters
751
728
 
752
729
  - `fileName` **[string][4]** file name to save.
753
- - `fullPage` **[boolean][11]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
754
-
755
- Returns **[Promise][5]&lt;any>**
730
+ - `fullPage` **[boolean][11]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
731
+ [!] returns a _promise_ which is synchronized internally by recorder
756
732
 
757
733
  ### scrollPageToBottom
758
734
 
@@ -762,7 +738,7 @@ Scroll page to the bottom.
762
738
  I.scrollPageToBottom();
763
739
  ```
764
740
 
765
- Returns **[Promise][5]&lt;any>**
741
+ [!] returns a _promise_ which is synchronized internally by recorder
766
742
 
767
743
  ### scrollPageToTop
768
744
 
@@ -772,7 +748,7 @@ Scroll page to the top.
772
748
  I.scrollPageToTop();
773
749
  ```
774
750
 
775
- Returns **[Promise][5]&lt;any>**
751
+ [!] returns a _promise_ which is synchronized internally by recorder
776
752
 
777
753
  ### scrollTo
778
754
 
@@ -786,11 +762,10 @@ I.scrollTo('#submit', 5, 5);
786
762
 
787
763
  #### Parameters
788
764
 
789
- - `locator` **([string][4] | [object][6])** located by CSS|XPath|strict locator.
765
+ - `locator` **([string][4] | [object][5])** located by CSS|XPath|strict locator.
790
766
  - `offsetX` **[number][9]** (optional, `0` by default) X-axis offset.
791
- - `offsetY` **[number][9]** (optional, `0` by default) Y-axis offset.
792
-
793
- Returns **[Promise][5]&lt;any>**
767
+ - `offsetY` **[number][9]** (optional, `0` by default) Y-axis offset.
768
+ [!] returns a _promise_ which is synchronized internally by recorder
794
769
 
795
770
  ### see
796
771
 
@@ -806,9 +781,8 @@ I.see('Register', {css: 'form.register'}); // use strict locator
806
781
  #### Parameters
807
782
 
808
783
  - `text` **[string][4]** expected on page.
809
- - `context` **([string][4]? | [object][6])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
810
-
811
- Returns **[Promise][5]&lt;any>**
784
+ - `context` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
785
+ [!] returns a _promise_ which is synchronized internally by recorder
812
786
 
813
787
  ### seeCheckboxIsChecked
814
788
 
@@ -822,9 +796,8 @@ I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
822
796
 
823
797
  #### Parameters
824
798
 
825
- - `field` **([string][4] | [object][6])** located by label|name|CSS|XPath|strict locator.
826
-
827
- Returns **[Promise][5]&lt;any>**
799
+ - `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
800
+ [!] returns a _promise_ which is synchronized internally by recorder
828
801
 
829
802
  ### seeCookie
830
803
 
@@ -837,8 +810,7 @@ I.seeCookie('Auth');
837
810
  #### Parameters
838
811
 
839
812
  - `name` **[string][4]** cookie name.
840
-
841
- Returns **[Promise][5]&lt;any>**
813
+ [!] returns a _promise_ which is synchronized internally by recorder
842
814
 
843
815
  ### seeCurrentUrlEquals
844
816
 
@@ -854,8 +826,7 @@ I.seeCurrentUrlEquals('http://my.site.com/register');
854
826
  #### Parameters
855
827
 
856
828
  - `url` **[string][4]** value to check.
857
-
858
- Returns **[Promise][5]&lt;any>**
829
+ [!] returns a _promise_ which is synchronized internally by recorder
859
830
 
860
831
  ### seeElement
861
832
 
@@ -868,9 +839,8 @@ I.seeElement('#modal');
868
839
 
869
840
  #### Parameters
870
841
 
871
- - `locator` **([string][4] | [object][6])** located by CSS|XPath|strict locator.
872
-
873
- Returns **[Promise][5]&lt;any>**
842
+ - `locator` **([string][4] | [object][5])** located by CSS|XPath|strict locator.
843
+ [!] returns a _promise_ which is synchronized internally by recorder
874
844
 
875
845
  ### seeElementInDOM
876
846
 
@@ -883,9 +853,8 @@ I.seeElementInDOM('#modal');
883
853
 
884
854
  #### Parameters
885
855
 
886
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
887
-
888
- Returns **[Promise][5]&lt;any>**
856
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
857
+ [!] returns a _promise_ which is synchronized internally by recorder
889
858
 
890
859
  ### seeInCurrentUrl
891
860
 
@@ -898,8 +867,7 @@ I.seeInCurrentUrl('/register'); // we are on registration page
898
867
  #### Parameters
899
868
 
900
869
  - `url` **[string][4]** a fragment to check
901
-
902
- Returns **[Promise][5]&lt;any>**
870
+ [!] returns a _promise_ which is synchronized internally by recorder
903
871
 
904
872
  ### seeInField
905
873
 
@@ -915,10 +883,9 @@ I.seeInField('#searchform input','Search');
915
883
 
916
884
  #### Parameters
917
885
 
918
- - `field` **([string][4] | [object][6])** located by label|name|CSS|XPath|strict locator.
886
+ - `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
919
887
  - `value` **[string][4]** value to check.
920
-
921
- Returns **[Promise][5]&lt;any>**
888
+ [!] returns a _promise_ which is synchronized internally by recorder
922
889
 
923
890
  ### seeInSource
924
891
 
@@ -931,8 +898,7 @@ I.seeInSource('<h1>Green eggs &amp; ham</h1>');
931
898
  #### Parameters
932
899
 
933
900
  - `text` **[string][4]** value to check.
934
-
935
- Returns **[Promise][5]&lt;any>**
901
+ [!] returns a _promise_ which is synchronized internally by recorder
936
902
 
937
903
  ### seeNumberOfVisibleElements
938
904
 
@@ -945,10 +911,9 @@ I.seeNumberOfVisibleElements('.buttons', 3);
945
911
 
946
912
  #### Parameters
947
913
 
948
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
914
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
949
915
  - `num` **[number][9]** number of elements.
950
-
951
- Returns **[Promise][5]&lt;any>**
916
+ [!] returns a _promise_ which is synchronized internally by recorder
952
917
 
953
918
  ### seeTextEquals
954
919
 
@@ -986,10 +951,9 @@ I.selectOption('Which OS do you use?', ['Android', 'iOS']);
986
951
 
987
952
  #### Parameters
988
953
 
989
- - `select` **([string][4] | [object][6])** field located by label|name|CSS|XPath|strict locator.
954
+ - `select` **([string][4] | [object][5])** field located by label|name|CSS|XPath|strict locator.
990
955
  - `option` **([string][4] | [Array][8]&lt;any>)** visible text or value of option.
991
-
992
- Returns **[Promise][5]&lt;any>**
956
+ [!] returns a _promise_ which is synchronized internally by recorder
993
957
 
994
958
  ### setCookie
995
959
 
@@ -1010,8 +974,7 @@ I.setCookie([
1010
974
  #### Parameters
1011
975
 
1012
976
  - `cookie` **(Cookie | [Array][8]&lt;Cookie>)** a cookie object or array of cookie objects.
1013
-
1014
- Returns **[Promise][5]&lt;any>**
977
+ [!] returns a _promise_ which is synchronized internally by recorder
1015
978
 
1016
979
  ### switchTo
1017
980
 
@@ -1024,9 +987,8 @@ I.switchTo(); // switch back to main page
1024
987
 
1025
988
  #### Parameters
1026
989
 
1027
- - `locator` **([string][4]? | [object][6])** (optional, `null` by default) element located by CSS|XPath|strict locator.
1028
-
1029
- Returns **[Promise][5]&lt;any>**
990
+ - `locator` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS|XPath|strict locator.
991
+ [!] returns a _promise_ which is synchronized internally by recorder
1030
992
 
1031
993
  ### uncheckOption
1032
994
 
@@ -1043,10 +1005,9 @@ I.uncheckOption('agree', '//form');
1043
1005
 
1044
1006
  #### Parameters
1045
1007
 
1046
- - `field` **([string][4] | [object][6])** checkbox located by label | name | CSS | XPath | strict locator.
1047
- - `context` **([string][4]? | [object][6])** (optional, `null` by default) element located by CSS | XPath | strict locator.
1048
-
1049
- Returns **[Promise][5]&lt;any>**
1008
+ - `field` **([string][4] | [object][5])** checkbox located by label | name | CSS | XPath | strict locator.
1009
+ - `context` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS | XPath | strict locator.
1010
+ [!] returns a _promise_ which is synchronized internally by recorder
1050
1011
 
1051
1012
  ### useTestCafeTo
1052
1013
 
@@ -1066,7 +1027,7 @@ I.useTestCafeTo('handle browser dialog', async ({ t }) {
1066
1027
  #### Parameters
1067
1028
 
1068
1029
  - `description` **[string][4]** used to show in logs.
1069
- - `fn` **[function][7]** async functuion that executed with TestCafe helper as argument
1030
+ - `fn` **[function][6]** async functuion that executed with TestCafe helper as argument
1070
1031
 
1071
1032
  ### wait
1072
1033
 
@@ -1079,8 +1040,7 @@ I.wait(2); // wait 2 secs
1079
1040
  #### Parameters
1080
1041
 
1081
1042
  - `sec` **[number][9]** number of second to wait.
1082
-
1083
- Returns **[Promise][5]&lt;any>**
1043
+ [!] returns a _promise_ which is synchronized internally by recorder
1084
1044
 
1085
1045
  ### waitForElement
1086
1046
 
@@ -1094,10 +1054,9 @@ I.waitForElement('.btn.continue', 5); // wait for 5 secs
1094
1054
 
1095
1055
  #### Parameters
1096
1056
 
1097
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
1057
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
1098
1058
  - `sec` **[number][9]?** (optional, `1` by default) time in seconds to wait
1099
-
1100
- Returns **[Promise][5]&lt;any>**
1059
+ [!] returns a _promise_ which is synchronized internally by recorder
1101
1060
 
1102
1061
  ### waitForFunction
1103
1062
 
@@ -1116,11 +1075,10 @@ I.waitForFunction((count) => window.requests == count, [3], 5) // pass args and
1116
1075
 
1117
1076
  #### Parameters
1118
1077
 
1119
- - `fn` **([string][4] | [function][7])** to be executed in browser context.
1078
+ - `fn` **([string][4] | [function][6])** to be executed in browser context.
1120
1079
  - `argsOrSec` **([Array][8]&lt;any> | [number][9])?** (optional, `1` by default) arguments for function or seconds.
1121
- - `sec` **[number][9]?** (optional, `1` by default) time in seconds to wait
1122
-
1123
- Returns **[Promise][5]&lt;any>**
1080
+ - `sec` **[number][9]?** (optional, `1` by default) time in seconds to wait
1081
+ [!] returns a _promise_ which is synchronized internally by recorder
1124
1082
 
1125
1083
  ### waitForInvisible
1126
1084
 
@@ -1133,10 +1091,9 @@ I.waitForInvisible('#popup');
1133
1091
 
1134
1092
  #### Parameters
1135
1093
 
1136
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
1137
- - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1138
-
1139
- Returns **[Promise][5]&lt;any>**
1094
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
1095
+ - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1096
+ [!] returns a _promise_ which is synchronized internally by recorder
1140
1097
 
1141
1098
  ### waitForText
1142
1099
 
@@ -1153,9 +1110,8 @@ I.waitForText('Thank you, form has been submitted', 5, '#modal');
1153
1110
 
1154
1111
  - `text` **[string][4]** to wait for.
1155
1112
  - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1156
- - `context` **([string][4] | [object][6])?** (optional) element located by CSS|XPath|strict locator.
1157
-
1158
- Returns **[Promise][5]&lt;any>**
1113
+ - `context` **([string][4] | [object][5])?** (optional) element located by CSS|XPath|strict locator.
1114
+ [!] returns a _promise_ which is synchronized internally by recorder
1159
1115
 
1160
1116
  ### waitForVisible
1161
1117
 
@@ -1168,10 +1124,9 @@ I.waitForVisible('#popup');
1168
1124
 
1169
1125
  #### Parameters
1170
1126
 
1171
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
1172
- - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1173
-
1174
- Returns **[Promise][5]&lt;any>**
1127
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
1128
+ - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1129
+ [!] returns a _promise_ which is synchronized internally by recorder
1175
1130
 
1176
1131
  ### waitInUrl
1177
1132
 
@@ -1184,9 +1139,8 @@ I.waitInUrl('/info', 2);
1184
1139
  #### Parameters
1185
1140
 
1186
1141
  - `urlPart` **[string][4]** value to check.
1187
- - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1188
-
1189
- Returns **[Promise][5]&lt;any>**
1142
+ - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1143
+ [!] returns a _promise_ which is synchronized internally by recorder
1190
1144
 
1191
1145
  ### waitNumberOfVisibleElements
1192
1146
 
@@ -1198,11 +1152,10 @@ I.waitNumberOfVisibleElements('a', 3);
1198
1152
 
1199
1153
  #### Parameters
1200
1154
 
1201
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
1155
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
1202
1156
  - `num` **[number][9]** number of elements.
1203
- - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1204
-
1205
- Returns **[Promise][5]&lt;any>**
1157
+ - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1158
+ [!] returns a _promise_ which is synchronized internally by recorder
1206
1159
 
1207
1160
  ### waitToHide
1208
1161
 
@@ -1215,10 +1168,9 @@ I.waitToHide('#popup');
1215
1168
 
1216
1169
  #### Parameters
1217
1170
 
1218
- - `locator` **([string][4] | [object][6])** element located by CSS|XPath|strict locator.
1219
- - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1220
-
1221
- Returns **[Promise][5]&lt;any>**
1171
+ - `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
1172
+ - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1173
+ [!] returns a _promise_ which is synchronized internally by recorder
1222
1174
 
1223
1175
  ### waitUrlEquals
1224
1176
 
@@ -1232,9 +1184,8 @@ I.waitUrlEquals('http://127.0.0.1:8000/info');
1232
1184
  #### Parameters
1233
1185
 
1234
1186
  - `urlPart` **[string][4]** value to check.
1235
- - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1236
-
1237
- Returns **[Promise][5]&lt;any>**
1187
+ - `sec` **[number][9]** (optional, `1` by default) time in seconds to wait
1188
+ [!] returns a _promise_ which is synchronized internally by recorder
1238
1189
 
1239
1190
  ## getPageUrl
1240
1191
 
@@ -1252,11 +1203,11 @@ Client Functions
1252
1203
 
1253
1204
  [4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
1254
1205
 
1255
- [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
1206
+ [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
1256
1207
 
1257
- [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
1208
+ [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
1258
1209
 
1259
- [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
1210
+ [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
1260
1211
 
1261
1212
  [8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
1262
1213