codeceptjs 3.5.5 → 3.5.7-beta.1
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.
- package/CHANGELOG.md +63 -0
- package/docs/bdd.md +11 -7
- package/docs/build/ApiDataFactory.js +2 -1
- package/docs/build/Appium.js +25 -23
- package/docs/build/Expect.js +422 -0
- package/docs/build/FileSystem.js +1 -1
- package/docs/build/Nightmare.js +53 -56
- package/docs/build/Playwright.js +209 -135
- package/docs/build/Protractor.js +66 -69
- package/docs/build/Puppeteer.js +83 -83
- package/docs/build/TestCafe.js +56 -55
- package/docs/build/WebDriver.js +85 -86
- package/docs/changelog.md +63 -0
- package/docs/commands.md +12 -0
- package/docs/helpers/Appium.md +50 -32
- package/docs/helpers/Expect.md +275 -0
- package/docs/helpers/FileSystem.md +1 -1
- package/docs/helpers/Nightmare.md +141 -94
- package/docs/helpers/Playwright.md +281 -212
- package/docs/helpers/Protractor.md +229 -169
- package/docs/helpers/Puppeteer.md +257 -186
- package/docs/helpers/TestCafe.md +201 -149
- package/docs/helpers/WebDriver.md +253 -179
- package/docs/mobile.md +17 -21
- package/docs/plugins.md +35 -1
- package/docs/webapi/amOnPage.mustache +1 -1
- package/docs/webapi/appendField.mustache +1 -1
- package/docs/webapi/attachFile.mustache +1 -1
- package/docs/webapi/blur.mustache +1 -0
- package/docs/webapi/checkOption.mustache +1 -1
- package/docs/webapi/clearCookie.mustache +1 -1
- package/docs/webapi/clearField.mustache +1 -1
- package/docs/webapi/click.mustache +1 -1
- package/docs/webapi/clickLink.mustache +1 -1
- package/docs/webapi/closeCurrentTab.mustache +1 -1
- package/docs/webapi/closeOtherTabs.mustache +1 -1
- package/docs/webapi/dontSee.mustache +1 -1
- package/docs/webapi/dontSeeCheckboxIsChecked.mustache +1 -1
- package/docs/webapi/dontSeeCookie.mustache +1 -1
- package/docs/webapi/dontSeeCurrentUrlEquals.mustache +1 -1
- package/docs/webapi/dontSeeElement.mustache +1 -1
- package/docs/webapi/dontSeeElementInDOM.mustache +1 -1
- package/docs/webapi/dontSeeInCurrentUrl.mustache +1 -1
- package/docs/webapi/dontSeeInField.mustache +1 -1
- package/docs/webapi/dontSeeInSource.mustache +1 -1
- package/docs/webapi/dontSeeInTitle.mustache +1 -1
- package/docs/webapi/doubleClick.mustache +1 -1
- package/docs/webapi/downloadFile.mustache +1 -1
- package/docs/webapi/dragAndDrop.mustache +1 -1
- package/docs/webapi/dragSlider.mustache +1 -1
- package/docs/webapi/executeAsyncScript.mustache +0 -2
- package/docs/webapi/executeScript.mustache +0 -2
- package/docs/webapi/fillField.mustache +1 -1
- package/docs/webapi/focus.mustache +1 -0
- package/docs/webapi/forceClick.mustache +1 -1
- package/docs/webapi/forceRightClick.mustache +1 -1
- package/docs/webapi/grabCookie.mustache +1 -1
- package/docs/webapi/grabDataFromPerformanceTiming.mustache +1 -1
- package/docs/webapi/moveCursorTo.mustache +1 -1
- package/docs/webapi/openNewTab.mustache +1 -1
- package/docs/webapi/pressKey.mustache +1 -1
- package/docs/webapi/pressKeyDown.mustache +1 -1
- package/docs/webapi/pressKeyUp.mustache +1 -1
- package/docs/webapi/pressKeyWithKeyNormalization.mustache +1 -1
- package/docs/webapi/refreshPage.mustache +1 -1
- package/docs/webapi/resizeWindow.mustache +1 -1
- package/docs/webapi/rightClick.mustache +1 -1
- package/docs/webapi/saveElementScreenshot.mustache +1 -1
- package/docs/webapi/saveScreenshot.mustache +1 -1
- package/docs/webapi/say.mustache +1 -1
- package/docs/webapi/scrollIntoView.mustache +1 -1
- package/docs/webapi/scrollPageToBottom.mustache +1 -1
- package/docs/webapi/scrollPageToTop.mustache +1 -1
- package/docs/webapi/scrollTo.mustache +1 -1
- package/docs/webapi/see.mustache +1 -1
- package/docs/webapi/seeAttributesOnElements.mustache +1 -1
- package/docs/webapi/seeCheckboxIsChecked.mustache +1 -1
- package/docs/webapi/seeCookie.mustache +1 -1
- package/docs/webapi/seeCssPropertiesOnElements.mustache +1 -1
- package/docs/webapi/seeCurrentUrlEquals.mustache +1 -1
- package/docs/webapi/seeElement.mustache +1 -1
- package/docs/webapi/seeElementInDOM.mustache +1 -1
- package/docs/webapi/seeInCurrentUrl.mustache +1 -1
- package/docs/webapi/seeInField.mustache +1 -1
- package/docs/webapi/seeInPopup.mustache +1 -1
- package/docs/webapi/seeInSource.mustache +1 -1
- package/docs/webapi/seeInTitle.mustache +1 -1
- package/docs/webapi/seeNumberOfElements.mustache +1 -1
- package/docs/webapi/seeNumberOfVisibleElements.mustache +1 -1
- package/docs/webapi/seeTextEquals.mustache +1 -1
- package/docs/webapi/seeTitleEquals.mustache +1 -1
- package/docs/webapi/selectOption.mustache +1 -1
- package/docs/webapi/setCookie.mustache +1 -1
- package/docs/webapi/setGeoLocation.mustache +1 -1
- package/docs/webapi/switchTo.mustache +1 -1
- package/docs/webapi/switchToNextTab.mustache +1 -1
- package/docs/webapi/switchToPreviousTab.mustache +1 -1
- package/docs/webapi/type.mustache +1 -1
- package/docs/webapi/uncheckOption.mustache +1 -1
- package/docs/webapi/wait.mustache +1 -1
- package/docs/webapi/waitForClickable.mustache +1 -1
- package/docs/webapi/waitForDetached.mustache +1 -1
- package/docs/webapi/waitForElement.mustache +1 -1
- package/docs/webapi/waitForEnabled.mustache +1 -1
- package/docs/webapi/waitForFunction.mustache +1 -1
- package/docs/webapi/waitForInvisible.mustache +1 -1
- package/docs/webapi/waitForText.mustache +1 -1
- package/docs/webapi/waitForValue.mustache +1 -1
- package/docs/webapi/waitForVisible.mustache +1 -1
- package/docs/webapi/waitInUrl.mustache +1 -1
- package/docs/webapi/waitNumberOfVisibleElements.mustache +1 -1
- package/docs/webapi/waitToHide.mustache +1 -1
- package/docs/webapi/waitUrlEquals.mustache +1 -1
- package/lib/ai.js +12 -3
- package/lib/cli.js +3 -1
- package/lib/codecept.js +3 -0
- package/lib/command/dryRun.js +2 -1
- package/lib/command/info.js +24 -0
- package/lib/command/run-workers.js +3 -2
- package/lib/command/run.js +3 -2
- package/lib/data/context.js +14 -6
- package/lib/helper/ApiDataFactory.js +2 -1
- package/lib/helper/Appium.js +7 -5
- package/lib/helper/Expect.js +422 -0
- package/lib/helper/FileSystem.js +1 -1
- package/lib/helper/Playwright.js +134 -64
- package/lib/helper/Puppeteer.js +6 -6
- package/lib/helper/WebDriver.js +4 -4
- package/lib/helper/scripts/highlightElement.js +1 -1
- package/lib/html.js +3 -3
- package/lib/interfaces/gherkin.js +21 -2
- package/lib/output.js +1 -1
- package/lib/pause.js +6 -5
- package/lib/plugin/autoLogin.js +35 -8
- package/lib/plugin/heal.js +40 -7
- package/lib/plugin/retryTo.js +0 -2
- package/lib/plugin/tryTo.js +0 -3
- package/lib/recorder.js +12 -5
- package/lib/session.js +1 -1
- package/package.json +24 -17
- package/translations/de-DE.js +5 -0
- package/translations/fr-FR.js +14 -1
- package/translations/it-IT.js +1 -0
- package/translations/ja-JP.js +5 -0
- package/translations/pl-PL.js +5 -0
- package/translations/pt-BR.js +1 -0
- package/translations/ru-RU.js +1 -0
- package/translations/zh-CN.js +5 -0
- package/translations/zh-TW.js +5 -0
- package/typings/promiseBasedTypes.d.ts +905 -863
- package/typings/types.d.ts +909 -850
|
@@ -46,17 +46,17 @@ Type: [object][4]
|
|
|
46
46
|
- `uniqueScreenshotNames` **[boolean][20]?** option to prevent screenshot override if you have scenarios with the same name in different suites.
|
|
47
47
|
- `keepBrowserState` **[boolean][20]?** keep browser state between tests when `restart` is set to false.
|
|
48
48
|
- `keepCookies` **[boolean][20]?** keep cookies between tests when `restart` is set to false.
|
|
49
|
-
- `waitForAction` **[number][
|
|
49
|
+
- `waitForAction` **[number][11]?** how long to wait after click, doubleClick or PressKey actions in ms. Default: 100.
|
|
50
50
|
- `waitForNavigation` **[string][6]?** when to consider navigation succeeded. Possible options: `load`, `domcontentloaded`, `networkidle0`, `networkidle2`. See [Puppeteer API][23]. Array values are accepted as well.
|
|
51
|
-
- `pressKeyDelay` **[number][
|
|
52
|
-
- `getPageTimeout` **[number][
|
|
53
|
-
- `waitForTimeout` **[number][
|
|
51
|
+
- `pressKeyDelay` **[number][11]?** delay between key presses in ms. Used when calling Puppeteers page.type(...) in fillField/appendField
|
|
52
|
+
- `getPageTimeout` **[number][11]?** config option to set maximum navigation time in milliseconds. If the timeout is set to 0, then timeout will be disabled.
|
|
53
|
+
- `waitForTimeout` **[number][11]?** default wait* timeout in ms.
|
|
54
54
|
- `windowSize` **[string][6]?** default window size. Set a dimension in format WIDTHxHEIGHT like `640x480`.
|
|
55
55
|
- `userAgent` **[string][6]?** user-agent string.
|
|
56
56
|
- `manualStart` **[boolean][20]?** do not start browser before a test, start it manually inside a helper with `this.helpers["Puppeteer"]._startBrowser()`.
|
|
57
57
|
- `browser` **[string][6]?** can be changed to `firefox` when using [puppeteer-firefox][2].
|
|
58
58
|
- `chrome` **[object][4]?** pass additional [Puppeteer run options][25].
|
|
59
|
-
- `highlightElement` **[boolean][20]?** highlight the interacting elements. Default: false
|
|
59
|
+
- `highlightElement` **[boolean][20]?** highlight the interacting elements. Default: false. Note: only activate under verbose mode (--verbose).
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
|
|
@@ -288,7 +288,7 @@ I.amOnPage('/login'); // opens a login page
|
|
|
288
288
|
|
|
289
289
|
- `url` **[string][6]** url path or global url.
|
|
290
290
|
|
|
291
|
-
Returns **void
|
|
291
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
292
292
|
|
|
293
293
|
### appendField
|
|
294
294
|
|
|
@@ -305,7 +305,8 @@ I.appendField('password', secret('123456'));
|
|
|
305
305
|
|
|
306
306
|
- `field` **([string][6] | [object][4])** located by label|name|CSS|XPath|strict locator
|
|
307
307
|
- `value` **[string][6]** text value to append.
|
|
308
|
-
|
|
308
|
+
|
|
309
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
309
310
|
|
|
310
311
|
|
|
311
312
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -326,12 +327,13 @@ I.attachFile('form input[name=avatar]', 'data/avatar.jpg');
|
|
|
326
327
|
|
|
327
328
|
- `locator` **([string][6] | [object][4])** field located by label|name|CSS|XPath|strict locator.
|
|
328
329
|
- `pathToFile` **[string][6]** local file path relative to codecept.conf.ts or codecept.conf.js config file.
|
|
329
|
-
|
|
330
|
+
|
|
331
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder> ⚠ There is an [issue with file upload in Puppeteer 2.1.0 & 2.1.1][8], downgrade to 2.0.0 if you face it.
|
|
330
332
|
|
|
331
333
|
### blur
|
|
332
334
|
|
|
333
335
|
Remove focus from a text input, button, etc.
|
|
334
|
-
Calls [blur][
|
|
336
|
+
Calls [blur][9] on the element.
|
|
335
337
|
|
|
336
338
|
Examples:
|
|
337
339
|
|
|
@@ -349,7 +351,9 @@ I.dontSee('#add-to-cart-btn');
|
|
|
349
351
|
#### Parameters
|
|
350
352
|
|
|
351
353
|
- `locator` **([string][6] | [object][4])** field located by label|name|CSS|XPath|strict locator.
|
|
352
|
-
- `options` **any?** Playwright only: [Additional options][
|
|
354
|
+
- `options` **any?** Playwright only: [Additional options][10] for available options object as 2nd argument.
|
|
355
|
+
|
|
356
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
353
357
|
|
|
354
358
|
### cancelPopup
|
|
355
359
|
|
|
@@ -371,8 +375,9 @@ I.checkOption('agree', '//form');
|
|
|
371
375
|
#### Parameters
|
|
372
376
|
|
|
373
377
|
- `field` **([string][6] | [object][4])** checkbox located by label | name | CSS | XPath | strict locator.
|
|
374
|
-
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
375
|
-
|
|
378
|
+
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
379
|
+
|
|
380
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
376
381
|
|
|
377
382
|
### clearCookie
|
|
378
383
|
|
|
@@ -387,8 +392,9 @@ I.clearCookie('test');
|
|
|
387
392
|
#### Parameters
|
|
388
393
|
|
|
389
394
|
- `name`
|
|
390
|
-
- `cookie` **[string][6]?** (optional, `null` by default) cookie name
|
|
391
|
-
|
|
395
|
+
- `cookie` **[string][6]?** (optional, `null` by default) cookie name
|
|
396
|
+
|
|
397
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
392
398
|
|
|
393
399
|
### clearField
|
|
394
400
|
|
|
@@ -404,7 +410,8 @@ I.clearField('#email');
|
|
|
404
410
|
|
|
405
411
|
- `field`
|
|
406
412
|
- `editable` **([string][6] | [object][4])** field located by label|name|CSS|XPath|strict locator.
|
|
407
|
-
|
|
413
|
+
|
|
414
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder.
|
|
408
415
|
|
|
409
416
|
### click
|
|
410
417
|
|
|
@@ -433,12 +440,13 @@ I.click({css: 'nav a.login'});
|
|
|
433
440
|
#### Parameters
|
|
434
441
|
|
|
435
442
|
- `locator` **([string][6] | [object][4])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
436
|
-
- `context` **([string][6]? | [object][4] | null)** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
437
|
-
|
|
443
|
+
- `context` **([string][6]? | [object][4] | null)** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
444
|
+
|
|
445
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
438
446
|
|
|
439
447
|
|
|
440
448
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
441
|
-
|
|
449
|
+
|
|
442
450
|
|
|
443
451
|
### clickLink
|
|
444
452
|
|
|
@@ -451,12 +459,13 @@ I.clickLink('Logout', '#nav');
|
|
|
451
459
|
#### Parameters
|
|
452
460
|
|
|
453
461
|
- `locator` **([string][6] | [object][4])** clickable link or button located by text, or any element located by CSS|XPath|strict locator
|
|
454
|
-
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element to search in CSS|XPath|Strict locator
|
|
455
|
-
|
|
462
|
+
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element to search in CSS|XPath|Strict locator
|
|
463
|
+
|
|
464
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
456
465
|
|
|
457
466
|
|
|
458
467
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
459
|
-
|
|
468
|
+
|
|
460
469
|
|
|
461
470
|
### closeCurrentTab
|
|
462
471
|
|
|
@@ -487,12 +496,13 @@ I.dontSee('Login', '.nav'); // no login inside .nav element
|
|
|
487
496
|
#### Parameters
|
|
488
497
|
|
|
489
498
|
- `text` **[string][6]** which is not present.
|
|
490
|
-
- `context` **([string][6] | [object][4])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
|
|
491
|
-
|
|
499
|
+
- `context` **([string][6] | [object][4])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
|
|
500
|
+
|
|
501
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
492
502
|
|
|
493
503
|
|
|
494
504
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
495
|
-
|
|
505
|
+
|
|
496
506
|
|
|
497
507
|
### dontSeeCheckboxIsChecked
|
|
498
508
|
|
|
@@ -507,7 +517,8 @@ I.dontSeeCheckboxIsChecked('agree'); // located by name
|
|
|
507
517
|
#### Parameters
|
|
508
518
|
|
|
509
519
|
- `field` **([string][6] | [object][4])** located by label|name|CSS|XPath|strict locator.
|
|
510
|
-
|
|
520
|
+
|
|
521
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
511
522
|
|
|
512
523
|
### dontSeeCookie
|
|
513
524
|
|
|
@@ -520,7 +531,8 @@ I.dontSeeCookie('auth'); // no auth cookie
|
|
|
520
531
|
#### Parameters
|
|
521
532
|
|
|
522
533
|
- `name` **[string][6]** cookie name.
|
|
523
|
-
|
|
534
|
+
|
|
535
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
524
536
|
|
|
525
537
|
### dontSeeCurrentUrlEquals
|
|
526
538
|
|
|
@@ -535,7 +547,8 @@ I.dontSeeCurrentUrlEquals('http://mysite.com/login'); // absolute urls are also
|
|
|
535
547
|
#### Parameters
|
|
536
548
|
|
|
537
549
|
- `url` **[string][6]** value to check.
|
|
538
|
-
|
|
550
|
+
|
|
551
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
539
552
|
|
|
540
553
|
### dontSeeElement
|
|
541
554
|
|
|
@@ -548,7 +561,8 @@ I.dontSeeElement('.modal'); // modal is not shown
|
|
|
548
561
|
#### Parameters
|
|
549
562
|
|
|
550
563
|
- `locator` **([string][6] | [object][4])** located by CSS|XPath|Strict locator.
|
|
551
|
-
|
|
564
|
+
|
|
565
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
552
566
|
|
|
553
567
|
|
|
554
568
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -565,7 +579,8 @@ I.dontSeeElementInDOM('.nav'); // checks that element is not on page visible or
|
|
|
565
579
|
#### Parameters
|
|
566
580
|
|
|
567
581
|
- `locator` **([string][6] | [object][4])** located by CSS|XPath|Strict locator.
|
|
568
|
-
|
|
582
|
+
|
|
583
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
569
584
|
|
|
570
585
|
### dontSeeInCurrentUrl
|
|
571
586
|
|
|
@@ -574,7 +589,8 @@ Checks that current url does not contain a provided fragment.
|
|
|
574
589
|
#### Parameters
|
|
575
590
|
|
|
576
591
|
- `url` **[string][6]** value to check.
|
|
577
|
-
|
|
592
|
+
|
|
593
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
578
594
|
|
|
579
595
|
### dontSeeInField
|
|
580
596
|
|
|
@@ -590,7 +606,8 @@ I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
|
|
|
590
606
|
|
|
591
607
|
- `field` **([string][6] | [object][4])** located by label|name|CSS|XPath|strict locator.
|
|
592
608
|
- `value` **([string][6] | [object][4])** value to check.
|
|
593
|
-
|
|
609
|
+
|
|
610
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
594
611
|
|
|
595
612
|
### dontSeeInSource
|
|
596
613
|
|
|
@@ -604,7 +621,8 @@ I.dontSeeInSource('<!--'); // no comments in source
|
|
|
604
621
|
|
|
605
622
|
- `text`
|
|
606
623
|
- `value` **[string][6]** to check.
|
|
607
|
-
|
|
624
|
+
|
|
625
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
608
626
|
|
|
609
627
|
### dontSeeInTitle
|
|
610
628
|
|
|
@@ -617,7 +635,8 @@ I.dontSeeInTitle('Error');
|
|
|
617
635
|
#### Parameters
|
|
618
636
|
|
|
619
637
|
- `text` **[string][6]** value to check.
|
|
620
|
-
|
|
638
|
+
|
|
639
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
621
640
|
|
|
622
641
|
### doubleClick
|
|
623
642
|
|
|
@@ -634,12 +653,13 @@ I.doubleClick('.btn.edit');
|
|
|
634
653
|
#### Parameters
|
|
635
654
|
|
|
636
655
|
- `locator` **([string][6] | [object][4])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
637
|
-
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
638
|
-
|
|
656
|
+
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
657
|
+
|
|
658
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
639
659
|
|
|
640
660
|
|
|
641
661
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
642
|
-
|
|
662
|
+
|
|
643
663
|
|
|
644
664
|
### downloadFile
|
|
645
665
|
|
|
@@ -664,7 +684,8 @@ I.dragAndDrop('#dragHandle', '#container');
|
|
|
664
684
|
|
|
665
685
|
- `srcElement` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
666
686
|
- `destElement` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
667
|
-
|
|
687
|
+
|
|
688
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
668
689
|
|
|
669
690
|
### dragSlider
|
|
670
691
|
|
|
@@ -679,19 +700,20 @@ I.dragSlider('#slider', -70);
|
|
|
679
700
|
#### Parameters
|
|
680
701
|
|
|
681
702
|
- `locator` **([string][6] | [object][4])** located by label|name|CSS|XPath|strict locator.
|
|
682
|
-
- `offsetX` **[number][
|
|
683
|
-
|
|
703
|
+
- `offsetX` **[number][11]** position to drag.
|
|
704
|
+
|
|
705
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
684
706
|
|
|
685
707
|
|
|
686
708
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
687
|
-
|
|
709
|
+
|
|
688
710
|
|
|
689
711
|
### executeAsyncScript
|
|
690
712
|
|
|
691
713
|
Executes async script on page.
|
|
692
714
|
Provided function should execute a passed callback (as first argument) to signal it is finished.
|
|
693
715
|
|
|
694
|
-
Example: In Vue.js to make components completely rendered we are waiting for [nextTick][
|
|
716
|
+
Example: In Vue.js to make components completely rendered we are waiting for [nextTick][12].
|
|
695
717
|
|
|
696
718
|
```js
|
|
697
719
|
I.executeAsyncScript(function(done) {
|
|
@@ -712,9 +734,9 @@ let val = await I.executeAsyncScript(function(url, done) {
|
|
|
712
734
|
#### Parameters
|
|
713
735
|
|
|
714
736
|
- `args` **...any** to be passed to function.
|
|
715
|
-
- `fn` **([string][6] | [function][
|
|
737
|
+
- `fn` **([string][6] | [function][13])** function to be executed in browser context.
|
|
716
738
|
|
|
717
|
-
Returns **[Promise][
|
|
739
|
+
Returns **[Promise][7]<any>** script return valueAsynchronous scripts can also be executed with `executeScript` if a function returns a Promise.
|
|
718
740
|
|
|
719
741
|
### executeScript
|
|
720
742
|
|
|
@@ -745,9 +767,9 @@ let date = await I.executeScript(function(el) {
|
|
|
745
767
|
#### Parameters
|
|
746
768
|
|
|
747
769
|
- `args` **...any** to be passed to function.
|
|
748
|
-
- `fn` **([string][6] | [function][
|
|
770
|
+
- `fn` **([string][6] | [function][13])** function to be executed in browser context.
|
|
749
771
|
|
|
750
|
-
Returns **[Promise][
|
|
772
|
+
Returns **[Promise][7]<any>** script return valueIf a function returns a Promise It will wait for it resolution.
|
|
751
773
|
|
|
752
774
|
### fillField
|
|
753
775
|
|
|
@@ -769,7 +791,8 @@ I.fillField({css: 'form#login input[name=username]'}, 'John');
|
|
|
769
791
|
|
|
770
792
|
- `field` **([string][6] | [object][4])** located by label|name|CSS|XPath|strict locator.
|
|
771
793
|
- `value` **([string][6] | [object][4])** text value to fill.
|
|
772
|
-
|
|
794
|
+
|
|
795
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
773
796
|
|
|
774
797
|
|
|
775
798
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -777,7 +800,7 @@ This action supports [React locators](https://codecept.io/react#locators)
|
|
|
777
800
|
|
|
778
801
|
### focus
|
|
779
802
|
|
|
780
|
-
Calls [focus][
|
|
803
|
+
Calls [focus][9] on the matching element.
|
|
781
804
|
|
|
782
805
|
Examples:
|
|
783
806
|
|
|
@@ -792,6 +815,8 @@ I.see('#add-to-cart-bnt');
|
|
|
792
815
|
- `locator` **([string][6] | [object][4])** field located by label|name|CSS|XPath|strict locator.
|
|
793
816
|
- `options` **any?** Playwright only: [Additional options][14] for available options object as 2nd argument.
|
|
794
817
|
|
|
818
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
819
|
+
|
|
795
820
|
### forceClick
|
|
796
821
|
|
|
797
822
|
Perform an emulated click on a link or a button, given by a locator.
|
|
@@ -822,12 +847,13 @@ I.forceClick({css: 'nav a.login'});
|
|
|
822
847
|
#### Parameters
|
|
823
848
|
|
|
824
849
|
- `locator` **([string][6] | [object][4])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
825
|
-
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
826
|
-
|
|
850
|
+
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
851
|
+
|
|
852
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
827
853
|
|
|
828
854
|
|
|
829
855
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
830
|
-
|
|
856
|
+
|
|
831
857
|
|
|
832
858
|
### grabAttributeFrom
|
|
833
859
|
|
|
@@ -844,7 +870,7 @@ let hint = await I.grabAttributeFrom('#tooltip', 'title');
|
|
|
844
870
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
845
871
|
- `attr` **[string][6]** attribute name.
|
|
846
872
|
|
|
847
|
-
Returns **[Promise][
|
|
873
|
+
Returns **[Promise][7]<[string][6]>** attribute value
|
|
848
874
|
|
|
849
875
|
|
|
850
876
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -864,7 +890,7 @@ let hints = await I.grabAttributeFromAll('.tooltip', 'title');
|
|
|
864
890
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
865
891
|
- `attr` **[string][6]** attribute name.
|
|
866
892
|
|
|
867
|
-
Returns **[Promise][
|
|
893
|
+
Returns **[Promise][7]<[Array][15]<[string][6]>>** attribute value
|
|
868
894
|
|
|
869
895
|
|
|
870
896
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -879,7 +905,7 @@ let logs = await I.grabBrowserLogs();
|
|
|
879
905
|
console.log(JSON.stringify(logs))
|
|
880
906
|
```
|
|
881
907
|
|
|
882
|
-
Returns **[Promise][
|
|
908
|
+
Returns **[Promise][7]<[Array][15]<any>>**
|
|
883
909
|
|
|
884
910
|
### grabCookie
|
|
885
911
|
|
|
@@ -896,7 +922,7 @@ assert(cookie.value, '123456');
|
|
|
896
922
|
|
|
897
923
|
- `name` **[string][6]?** cookie name.
|
|
898
924
|
|
|
899
|
-
Returns **
|
|
925
|
+
Returns **any** attribute valueReturns cookie in JSON format. If name not passed returns all cookies for this domain.
|
|
900
926
|
|
|
901
927
|
### grabCssPropertyFrom
|
|
902
928
|
|
|
@@ -913,7 +939,7 @@ const value = await I.grabCssPropertyFrom('h3', 'font-weight');
|
|
|
913
939
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
914
940
|
- `cssProperty` **[string][6]** CSS property name.
|
|
915
941
|
|
|
916
|
-
Returns **[Promise][
|
|
942
|
+
Returns **[Promise][7]<[string][6]>** CSS value
|
|
917
943
|
|
|
918
944
|
|
|
919
945
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -933,7 +959,7 @@ const values = await I.grabCssPropertyFromAll('h3', 'font-weight');
|
|
|
933
959
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
934
960
|
- `cssProperty` **[string][6]** CSS property name.
|
|
935
961
|
|
|
936
|
-
Returns **[Promise][
|
|
962
|
+
Returns **[Promise][7]<[Array][15]<[string][6]>>** CSS value
|
|
937
963
|
|
|
938
964
|
|
|
939
965
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -949,7 +975,7 @@ let url = await I.grabCurrentUrl();
|
|
|
949
975
|
console.log(`Current URL is [${url}]`);
|
|
950
976
|
```
|
|
951
977
|
|
|
952
|
-
Returns **[Promise][
|
|
978
|
+
Returns **[Promise][7]<[string][6]>** current URL
|
|
953
979
|
|
|
954
980
|
### grabDataFromPerformanceTiming
|
|
955
981
|
|
|
@@ -974,7 +1000,7 @@ let data = await I.grabDataFromPerformanceTiming();
|
|
|
974
1000
|
}
|
|
975
1001
|
```
|
|
976
1002
|
|
|
977
|
-
Returns **[Promise][
|
|
1003
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
978
1004
|
|
|
979
1005
|
### grabElementBoundingRect
|
|
980
1006
|
|
|
@@ -1002,7 +1028,7 @@ const width = await I.grabElementBoundingRect('h3', 'width');
|
|
|
1002
1028
|
- `prop`
|
|
1003
1029
|
- `elementSize` **[string][6]?** x, y, width or height of the given element.
|
|
1004
1030
|
|
|
1005
|
-
Returns **([Promise][
|
|
1031
|
+
Returns **([Promise][7]<DOMRect> | [Promise][7]<[number][11]>)** Element bounding rectangle
|
|
1006
1032
|
|
|
1007
1033
|
### grabHTMLFrom
|
|
1008
1034
|
|
|
@@ -1019,7 +1045,7 @@ let postHTML = await I.grabHTMLFrom('#post');
|
|
|
1019
1045
|
- `locator`
|
|
1020
1046
|
- `element` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
1021
1047
|
|
|
1022
|
-
Returns **[Promise][
|
|
1048
|
+
Returns **[Promise][7]<[string][6]>** HTML code for an element
|
|
1023
1049
|
|
|
1024
1050
|
### grabHTMLFromAll
|
|
1025
1051
|
|
|
@@ -1035,7 +1061,7 @@ let postHTMLs = await I.grabHTMLFromAll('.post');
|
|
|
1035
1061
|
- `locator`
|
|
1036
1062
|
- `element` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
1037
1063
|
|
|
1038
|
-
Returns **[Promise][
|
|
1064
|
+
Returns **[Promise][7]<[Array][15]<[string][6]>>** HTML code for an element
|
|
1039
1065
|
|
|
1040
1066
|
### grabNumberOfOpenTabs
|
|
1041
1067
|
|
|
@@ -1046,7 +1072,7 @@ Resumes test execution, so **should be used inside async function with `await`**
|
|
|
1046
1072
|
let tabs = await I.grabNumberOfOpenTabs();
|
|
1047
1073
|
```
|
|
1048
1074
|
|
|
1049
|
-
Returns **[Promise][
|
|
1075
|
+
Returns **[Promise][7]<[number][11]>** number of open tabs
|
|
1050
1076
|
|
|
1051
1077
|
### grabNumberOfVisibleElements
|
|
1052
1078
|
|
|
@@ -1061,7 +1087,7 @@ let numOfElements = await I.grabNumberOfVisibleElements('p');
|
|
|
1061
1087
|
|
|
1062
1088
|
- `locator` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
1063
1089
|
|
|
1064
|
-
Returns **[Promise][
|
|
1090
|
+
Returns **[Promise][7]<[number][11]>** number of visible elements
|
|
1065
1091
|
|
|
1066
1092
|
|
|
1067
1093
|
|
|
@@ -1077,7 +1103,7 @@ Resumes test execution, so **should be used inside an async function with `await
|
|
|
1077
1103
|
let { x, y } = await I.grabPageScrollPosition();
|
|
1078
1104
|
```
|
|
1079
1105
|
|
|
1080
|
-
Returns **[Promise][
|
|
1106
|
+
Returns **[Promise][7]<PageScrollPosition>** scroll position
|
|
1081
1107
|
|
|
1082
1108
|
### grabPopupText
|
|
1083
1109
|
|
|
@@ -1087,7 +1113,7 @@ Grab the text within the popup. If no popup is visible then it will return null
|
|
|
1087
1113
|
await I.grabPopupText();
|
|
1088
1114
|
```
|
|
1089
1115
|
|
|
1090
|
-
Returns **[Promise][
|
|
1116
|
+
Returns **[Promise][7]<([string][6] | null)>**
|
|
1091
1117
|
|
|
1092
1118
|
### grabSource
|
|
1093
1119
|
|
|
@@ -1098,7 +1124,7 @@ Resumes test execution, so **should be used inside async function with `await`**
|
|
|
1098
1124
|
let pageSource = await I.grabSource();
|
|
1099
1125
|
```
|
|
1100
1126
|
|
|
1101
|
-
Returns **[Promise][
|
|
1127
|
+
Returns **[Promise][7]<[string][6]>** source code
|
|
1102
1128
|
|
|
1103
1129
|
### grabTextFrom
|
|
1104
1130
|
|
|
@@ -1115,7 +1141,7 @@ If multiple elements found returns first element.
|
|
|
1115
1141
|
|
|
1116
1142
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1117
1143
|
|
|
1118
|
-
Returns **[Promise][
|
|
1144
|
+
Returns **[Promise][7]<[string][6]>** attribute value
|
|
1119
1145
|
|
|
1120
1146
|
|
|
1121
1147
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -1134,7 +1160,7 @@ let pins = await I.grabTextFromAll('#pin li');
|
|
|
1134
1160
|
|
|
1135
1161
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1136
1162
|
|
|
1137
|
-
Returns **[Promise][
|
|
1163
|
+
Returns **[Promise][7]<[Array][15]<[string][6]>>** attribute value
|
|
1138
1164
|
|
|
1139
1165
|
|
|
1140
1166
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -1149,7 +1175,7 @@ Resumes test execution, so **should be used inside async with `await`** operator
|
|
|
1149
1175
|
let title = await I.grabTitle();
|
|
1150
1176
|
```
|
|
1151
1177
|
|
|
1152
|
-
Returns **[Promise][
|
|
1178
|
+
Returns **[Promise][7]<[string][6]>** title
|
|
1153
1179
|
|
|
1154
1180
|
### grabValueFrom
|
|
1155
1181
|
|
|
@@ -1165,7 +1191,7 @@ let email = await I.grabValueFrom('input[name=email]');
|
|
|
1165
1191
|
|
|
1166
1192
|
- `locator` **([string][6] | [object][4])** field located by label|name|CSS|XPath|strict locator.
|
|
1167
1193
|
|
|
1168
|
-
Returns **[Promise][
|
|
1194
|
+
Returns **[Promise][7]<[string][6]>** attribute value
|
|
1169
1195
|
|
|
1170
1196
|
### grabValueFromAll
|
|
1171
1197
|
|
|
@@ -1180,7 +1206,7 @@ let inputs = await I.grabValueFromAll('//form/input');
|
|
|
1180
1206
|
|
|
1181
1207
|
- `locator` **([string][6] | [object][4])** field located by label|name|CSS|XPath|strict locator.
|
|
1182
1208
|
|
|
1183
|
-
Returns **[Promise][
|
|
1209
|
+
Returns **[Promise][7]<[Array][15]<[string][6]>>** attribute value
|
|
1184
1210
|
|
|
1185
1211
|
### handleDownloads
|
|
1186
1212
|
|
|
@@ -1201,20 +1227,6 @@ I.seeFile('avatar.jpg');
|
|
|
1201
1227
|
|
|
1202
1228
|
- `downloadPath` **[string][6]** change this parameter to set another directory for saving
|
|
1203
1229
|
|
|
1204
|
-
### haveRequestHeaders
|
|
1205
|
-
|
|
1206
|
-
Set headers for all next requests
|
|
1207
|
-
|
|
1208
|
-
```js
|
|
1209
|
-
I.haveRequestHeaders({
|
|
1210
|
-
'X-Sent-By': 'CodeceptJS',
|
|
1211
|
-
});
|
|
1212
|
-
```
|
|
1213
|
-
|
|
1214
|
-
#### Parameters
|
|
1215
|
-
|
|
1216
|
-
- `customHeaders` **[object][4]** headers to set
|
|
1217
|
-
|
|
1218
1230
|
### moveCursorTo
|
|
1219
1231
|
|
|
1220
1232
|
Moves cursor to element matched by locator.
|
|
@@ -1228,13 +1240,14 @@ I.moveCursorTo('#submit', 5,5);
|
|
|
1228
1240
|
#### Parameters
|
|
1229
1241
|
|
|
1230
1242
|
- `locator` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
1231
|
-
- `offsetX` **[number][
|
|
1232
|
-
- `offsetY` **[number][
|
|
1233
|
-
|
|
1243
|
+
- `offsetX` **[number][11]** (optional, `0` by default) X-axis offset.
|
|
1244
|
+
- `offsetY` **[number][11]** (optional, `0` by default) Y-axis offset.
|
|
1245
|
+
|
|
1246
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1234
1247
|
|
|
1235
1248
|
|
|
1236
1249
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
1237
|
-
|
|
1250
|
+
|
|
1238
1251
|
|
|
1239
1252
|
### openNewTab
|
|
1240
1253
|
|
|
@@ -1308,7 +1321,8 @@ Some of the supported key names are:
|
|
|
1308
1321
|
#### Parameters
|
|
1309
1322
|
|
|
1310
1323
|
- `key` **([string][6] | [Array][15]<[string][6]>)** key or array of keys to press.
|
|
1311
|
-
|
|
1324
|
+
|
|
1325
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder_Note:_ Shortcuts like `'Meta'` + `'A'` do not work on macOS ([GoogleChrome/puppeteer#1313][18]).
|
|
1312
1326
|
|
|
1313
1327
|
### pressKeyDown
|
|
1314
1328
|
|
|
@@ -1325,7 +1339,8 @@ I.pressKeyUp('Control');
|
|
|
1325
1339
|
#### Parameters
|
|
1326
1340
|
|
|
1327
1341
|
- `key` **[string][6]** name of key to press down.
|
|
1328
|
-
|
|
1342
|
+
|
|
1343
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1329
1344
|
|
|
1330
1345
|
### pressKeyUp
|
|
1331
1346
|
|
|
@@ -1342,7 +1357,8 @@ I.pressKeyUp('Control');
|
|
|
1342
1357
|
#### Parameters
|
|
1343
1358
|
|
|
1344
1359
|
- `key` **[string][6]** name of key to release.
|
|
1345
|
-
|
|
1360
|
+
|
|
1361
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1346
1362
|
|
|
1347
1363
|
### refreshPage
|
|
1348
1364
|
|
|
@@ -1352,7 +1368,7 @@ Reload the current page.
|
|
|
1352
1368
|
I.refreshPage();
|
|
1353
1369
|
```
|
|
1354
1370
|
|
|
1355
|
-
|
|
1371
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1356
1372
|
|
|
1357
1373
|
### resizeWindow
|
|
1358
1374
|
|
|
@@ -1361,11 +1377,12 @@ First parameter can be set to `maximize`.
|
|
|
1361
1377
|
|
|
1362
1378
|
#### Parameters
|
|
1363
1379
|
|
|
1364
|
-
- `width` **[number][
|
|
1365
|
-
- `height` **[number][
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1380
|
+
- `width` **[number][11]** width in pixels or `maximize`.
|
|
1381
|
+
- `height` **[number][11]** height in pixels.
|
|
1382
|
+
|
|
1383
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorderUnlike other drivers Puppeteer changes the size of a viewport, not the window!
|
|
1384
|
+
Puppeteer does not control the window of a browser so it can't adjust its real size.
|
|
1385
|
+
It also can't maximize a window.
|
|
1369
1386
|
|
|
1370
1387
|
### rightClick
|
|
1371
1388
|
|
|
@@ -1383,12 +1400,13 @@ I.rightClick('Click me', '.context');
|
|
|
1383
1400
|
#### Parameters
|
|
1384
1401
|
|
|
1385
1402
|
- `locator` **([string][6] | [object][4])** clickable element located by CSS|XPath|strict locator.
|
|
1386
|
-
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
1387
|
-
|
|
1403
|
+
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
1404
|
+
|
|
1405
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1388
1406
|
|
|
1389
1407
|
|
|
1390
1408
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
1391
|
-
|
|
1409
|
+
|
|
1392
1410
|
|
|
1393
1411
|
### saveElementScreenshot
|
|
1394
1412
|
|
|
@@ -1403,7 +1421,8 @@ I.saveElementScreenshot(`#submit`,'debug.png');
|
|
|
1403
1421
|
|
|
1404
1422
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1405
1423
|
- `fileName` **[string][6]** file name to save.
|
|
1406
|
-
|
|
1424
|
+
|
|
1425
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1407
1426
|
|
|
1408
1427
|
### saveScreenshot
|
|
1409
1428
|
|
|
@@ -1419,8 +1438,9 @@ I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scro
|
|
|
1419
1438
|
#### Parameters
|
|
1420
1439
|
|
|
1421
1440
|
- `fileName` **[string][6]** file name to save.
|
|
1422
|
-
- `fullPage` **[boolean][20]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
|
|
1423
|
-
|
|
1441
|
+
- `fullPage` **[boolean][20]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
|
|
1442
|
+
|
|
1443
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1424
1444
|
|
|
1425
1445
|
### scrollPageToBottom
|
|
1426
1446
|
|
|
@@ -1430,7 +1450,7 @@ Scroll page to the bottom.
|
|
|
1430
1450
|
I.scrollPageToBottom();
|
|
1431
1451
|
```
|
|
1432
1452
|
|
|
1433
|
-
|
|
1453
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1434
1454
|
|
|
1435
1455
|
### scrollPageToTop
|
|
1436
1456
|
|
|
@@ -1440,7 +1460,7 @@ Scroll page to the top.
|
|
|
1440
1460
|
I.scrollPageToTop();
|
|
1441
1461
|
```
|
|
1442
1462
|
|
|
1443
|
-
|
|
1463
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1444
1464
|
|
|
1445
1465
|
### scrollTo
|
|
1446
1466
|
|
|
@@ -1455,9 +1475,10 @@ I.scrollTo('#submit', 5, 5);
|
|
|
1455
1475
|
#### Parameters
|
|
1456
1476
|
|
|
1457
1477
|
- `locator` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
1458
|
-
- `offsetX` **[number][
|
|
1459
|
-
- `offsetY` **[number][
|
|
1460
|
-
|
|
1478
|
+
- `offsetX` **[number][11]** (optional, `0` by default) X-axis offset.
|
|
1479
|
+
- `offsetY` **[number][11]** (optional, `0` by default) Y-axis offset.
|
|
1480
|
+
|
|
1481
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1461
1482
|
|
|
1462
1483
|
### see
|
|
1463
1484
|
|
|
@@ -1473,12 +1494,13 @@ I.see('Register', {css: 'form.register'}); // use strict locator
|
|
|
1473
1494
|
#### Parameters
|
|
1474
1495
|
|
|
1475
1496
|
- `text` **[string][6]** expected on page.
|
|
1476
|
-
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
|
|
1477
|
-
|
|
1497
|
+
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
|
|
1498
|
+
|
|
1499
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1478
1500
|
|
|
1479
1501
|
|
|
1480
1502
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
1481
|
-
|
|
1503
|
+
|
|
1482
1504
|
|
|
1483
1505
|
### seeAttributesOnElements
|
|
1484
1506
|
|
|
@@ -1492,7 +1514,8 @@ I.seeAttributesOnElements('//form', { method: "post"});
|
|
|
1492
1514
|
|
|
1493
1515
|
- `locator` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
1494
1516
|
- `attributes` **[object][4]** attributes and their values to check.
|
|
1495
|
-
|
|
1517
|
+
|
|
1518
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1496
1519
|
|
|
1497
1520
|
|
|
1498
1521
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -1511,7 +1534,8 @@ I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
|
|
|
1511
1534
|
#### Parameters
|
|
1512
1535
|
|
|
1513
1536
|
- `field` **([string][6] | [object][4])** located by label|name|CSS|XPath|strict locator.
|
|
1514
|
-
|
|
1537
|
+
|
|
1538
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1515
1539
|
|
|
1516
1540
|
### seeCookie
|
|
1517
1541
|
|
|
@@ -1524,7 +1548,8 @@ I.seeCookie('Auth');
|
|
|
1524
1548
|
#### Parameters
|
|
1525
1549
|
|
|
1526
1550
|
- `name` **[string][6]** cookie name.
|
|
1527
|
-
|
|
1551
|
+
|
|
1552
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1528
1553
|
|
|
1529
1554
|
### seeCssPropertiesOnElements
|
|
1530
1555
|
|
|
@@ -1538,7 +1563,8 @@ I.seeCssPropertiesOnElements('h3', { 'font-weight': "bold"});
|
|
|
1538
1563
|
|
|
1539
1564
|
- `locator` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
1540
1565
|
- `cssProperties` **[object][4]** object with CSS properties and their values to check.
|
|
1541
|
-
|
|
1566
|
+
|
|
1567
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1542
1568
|
|
|
1543
1569
|
|
|
1544
1570
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -1558,7 +1584,8 @@ I.seeCurrentUrlEquals('http://my.site.com/register');
|
|
|
1558
1584
|
#### Parameters
|
|
1559
1585
|
|
|
1560
1586
|
- `url` **[string][6]** value to check.
|
|
1561
|
-
|
|
1587
|
+
|
|
1588
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1562
1589
|
|
|
1563
1590
|
### seeElement
|
|
1564
1591
|
|
|
@@ -1572,7 +1599,8 @@ I.seeElement('#modal');
|
|
|
1572
1599
|
#### Parameters
|
|
1573
1600
|
|
|
1574
1601
|
- `locator` **([string][6] | [object][4])** located by CSS|XPath|strict locator.
|
|
1575
|
-
|
|
1602
|
+
|
|
1603
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1576
1604
|
|
|
1577
1605
|
|
|
1578
1606
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -1590,7 +1618,8 @@ I.seeElementInDOM('#modal');
|
|
|
1590
1618
|
#### Parameters
|
|
1591
1619
|
|
|
1592
1620
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1593
|
-
|
|
1621
|
+
|
|
1622
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1594
1623
|
|
|
1595
1624
|
### seeInCurrentUrl
|
|
1596
1625
|
|
|
@@ -1603,7 +1632,8 @@ I.seeInCurrentUrl('/register'); // we are on registration page
|
|
|
1603
1632
|
#### Parameters
|
|
1604
1633
|
|
|
1605
1634
|
- `url` **[string][6]** a fragment to check
|
|
1606
|
-
|
|
1635
|
+
|
|
1636
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1607
1637
|
|
|
1608
1638
|
### seeInField
|
|
1609
1639
|
|
|
@@ -1621,7 +1651,8 @@ I.seeInField('#searchform input','Search');
|
|
|
1621
1651
|
|
|
1622
1652
|
- `field` **([string][6] | [object][4])** located by label|name|CSS|XPath|strict locator.
|
|
1623
1653
|
- `value` **([string][6] | [object][4])** value to check.
|
|
1624
|
-
|
|
1654
|
+
|
|
1655
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1625
1656
|
|
|
1626
1657
|
### seeInPopup
|
|
1627
1658
|
|
|
@@ -1635,7 +1666,8 @@ I.seeInPopup('Popup text');
|
|
|
1635
1666
|
#### Parameters
|
|
1636
1667
|
|
|
1637
1668
|
- `text` **[string][6]** value to check.
|
|
1638
|
-
|
|
1669
|
+
|
|
1670
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1639
1671
|
|
|
1640
1672
|
### seeInSource
|
|
1641
1673
|
|
|
@@ -1648,7 +1680,8 @@ I.seeInSource('<h1>Green eggs & ham</h1>');
|
|
|
1648
1680
|
#### Parameters
|
|
1649
1681
|
|
|
1650
1682
|
- `text` **[string][6]** value to check.
|
|
1651
|
-
|
|
1683
|
+
|
|
1684
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1652
1685
|
|
|
1653
1686
|
### seeInTitle
|
|
1654
1687
|
|
|
@@ -1661,7 +1694,8 @@ I.seeInTitle('Home Page');
|
|
|
1661
1694
|
#### Parameters
|
|
1662
1695
|
|
|
1663
1696
|
- `text` **[string][6]** text value to check.
|
|
1664
|
-
|
|
1697
|
+
|
|
1698
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1665
1699
|
|
|
1666
1700
|
### seeNumberOfElements
|
|
1667
1701
|
|
|
@@ -1675,8 +1709,9 @@ I.seeNumberOfElements('#submitBtn', 1);
|
|
|
1675
1709
|
#### Parameters
|
|
1676
1710
|
|
|
1677
1711
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1678
|
-
- `num` **[number][
|
|
1679
|
-
|
|
1712
|
+
- `num` **[number][11]** number of elements.
|
|
1713
|
+
|
|
1714
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1680
1715
|
|
|
1681
1716
|
|
|
1682
1717
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -1694,8 +1729,9 @@ I.seeNumberOfVisibleElements('.buttons', 3);
|
|
|
1694
1729
|
#### Parameters
|
|
1695
1730
|
|
|
1696
1731
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1697
|
-
- `num` **[number][
|
|
1698
|
-
|
|
1732
|
+
- `num` **[number][11]** number of elements.
|
|
1733
|
+
|
|
1734
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1699
1735
|
|
|
1700
1736
|
|
|
1701
1737
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -1712,8 +1748,9 @@ I.seeTextEquals('text', 'h1');
|
|
|
1712
1748
|
#### Parameters
|
|
1713
1749
|
|
|
1714
1750
|
- `text` **[string][6]** element value to check.
|
|
1715
|
-
- `context` **([string][6] | [object][4])?** element located by CSS|XPath|strict locator.
|
|
1716
|
-
|
|
1751
|
+
- `context` **([string][6] | [object][4])?** element located by CSS|XPath|strict locator.
|
|
1752
|
+
|
|
1753
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1717
1754
|
|
|
1718
1755
|
### seeTitleEquals
|
|
1719
1756
|
|
|
@@ -1726,7 +1763,8 @@ I.seeTitleEquals('Test title.');
|
|
|
1726
1763
|
#### Parameters
|
|
1727
1764
|
|
|
1728
1765
|
- `text` **[string][6]** value to check.
|
|
1729
|
-
|
|
1766
|
+
|
|
1767
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1730
1768
|
|
|
1731
1769
|
### selectOption
|
|
1732
1770
|
|
|
@@ -1753,7 +1791,8 @@ I.selectOption('Which OS do you use?', ['Android', 'iOS']);
|
|
|
1753
1791
|
|
|
1754
1792
|
- `select` **([string][6] | [object][4])** field located by label|name|CSS|XPath|strict locator.
|
|
1755
1793
|
- `option` **([string][6] | [Array][15]<any>)** visible text or value of option.
|
|
1756
|
-
|
|
1794
|
+
|
|
1795
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1757
1796
|
|
|
1758
1797
|
### setCookie
|
|
1759
1798
|
|
|
@@ -1774,7 +1813,22 @@ I.setCookie([
|
|
|
1774
1813
|
#### Parameters
|
|
1775
1814
|
|
|
1776
1815
|
- `cookie` **(Cookie | [Array][15]<Cookie>)** a cookie object or array of cookie objects.
|
|
1777
|
-
|
|
1816
|
+
|
|
1817
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1818
|
+
|
|
1819
|
+
### setPuppeteerRequestHeaders
|
|
1820
|
+
|
|
1821
|
+
Set headers for all next requests
|
|
1822
|
+
|
|
1823
|
+
```js
|
|
1824
|
+
I.setPuppeteerRequestHeaders({
|
|
1825
|
+
'X-Sent-By': 'CodeceptJS',
|
|
1826
|
+
});
|
|
1827
|
+
```
|
|
1828
|
+
|
|
1829
|
+
#### Parameters
|
|
1830
|
+
|
|
1831
|
+
- `customHeaders` **[object][4]** headers to set
|
|
1778
1832
|
|
|
1779
1833
|
### switchTo
|
|
1780
1834
|
|
|
@@ -1787,8 +1841,9 @@ I.switchTo(); // switch back to main page
|
|
|
1787
1841
|
|
|
1788
1842
|
#### Parameters
|
|
1789
1843
|
|
|
1790
|
-
- `locator` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
1791
|
-
|
|
1844
|
+
- `locator` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
1845
|
+
|
|
1846
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1792
1847
|
|
|
1793
1848
|
### switchToNextTab
|
|
1794
1849
|
|
|
@@ -1801,7 +1856,7 @@ I.switchToNextTab(2);
|
|
|
1801
1856
|
|
|
1802
1857
|
#### Parameters
|
|
1803
1858
|
|
|
1804
|
-
- `num` **[number][
|
|
1859
|
+
- `num` **[number][11]**
|
|
1805
1860
|
|
|
1806
1861
|
### switchToPreviousTab
|
|
1807
1862
|
|
|
@@ -1814,7 +1869,7 @@ I.switchToPreviousTab(2);
|
|
|
1814
1869
|
|
|
1815
1870
|
#### Parameters
|
|
1816
1871
|
|
|
1817
|
-
- `num` **[number][
|
|
1872
|
+
- `num` **[number][11]**
|
|
1818
1873
|
|
|
1819
1874
|
### type
|
|
1820
1875
|
|
|
@@ -1839,10 +1894,11 @@ I.type(secret('123456'));
|
|
|
1839
1894
|
#### Parameters
|
|
1840
1895
|
|
|
1841
1896
|
- `keys`
|
|
1842
|
-
- `delay` **[number][
|
|
1843
|
-
⚠️ returns a _promise_ which is synchronized internally by recorder
|
|
1897
|
+
- `delay` **[number][11]?** (optional) delay in ms between key presses
|
|
1844
1898
|
- `key` **([string][6] | [Array][15]<[string][6]>)** or array of keys to type.
|
|
1845
1899
|
|
|
1900
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1901
|
+
|
|
1846
1902
|
### uncheckOption
|
|
1847
1903
|
|
|
1848
1904
|
Unselects a checkbox or radio button.
|
|
@@ -1859,8 +1915,9 @@ I.uncheckOption('agree', '//form');
|
|
|
1859
1915
|
#### Parameters
|
|
1860
1916
|
|
|
1861
1917
|
- `field` **([string][6] | [object][4])** checkbox located by label | name | CSS | XPath | strict locator.
|
|
1862
|
-
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
1863
|
-
|
|
1918
|
+
- `context` **([string][6]? | [object][4])** (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
1919
|
+
|
|
1920
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1864
1921
|
|
|
1865
1922
|
### usePuppeteerTo
|
|
1866
1923
|
|
|
@@ -1880,7 +1937,7 @@ I.usePuppeteerTo('emulate offline mode', async ({ page }) {
|
|
|
1880
1937
|
#### Parameters
|
|
1881
1938
|
|
|
1882
1939
|
- `description` **[string][6]** used to show in logs.
|
|
1883
|
-
- `fn` **[function][
|
|
1940
|
+
- `fn` **[function][13]** async function that is executed with Puppeteer as argument
|
|
1884
1941
|
|
|
1885
1942
|
### wait
|
|
1886
1943
|
|
|
@@ -1892,8 +1949,9 @@ I.wait(2); // wait 2 secs
|
|
|
1892
1949
|
|
|
1893
1950
|
#### Parameters
|
|
1894
1951
|
|
|
1895
|
-
- `sec` **[number][
|
|
1896
|
-
|
|
1952
|
+
- `sec` **[number][11]** number of second to wait.
|
|
1953
|
+
|
|
1954
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1897
1955
|
|
|
1898
1956
|
### waitForClickable
|
|
1899
1957
|
|
|
@@ -1909,8 +1967,9 @@ I.waitForClickable('.btn.continue', 5); // wait for 5 secs
|
|
|
1909
1967
|
|
|
1910
1968
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1911
1969
|
- `waitTimeout`
|
|
1912
|
-
- `sec` **[number][
|
|
1913
|
-
|
|
1970
|
+
- `sec` **[number][11]?** (optional, `1` by default) time in seconds to wait
|
|
1971
|
+
|
|
1972
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1914
1973
|
|
|
1915
1974
|
### waitForDetached
|
|
1916
1975
|
|
|
@@ -1924,8 +1983,9 @@ I.waitForDetached('#popup');
|
|
|
1924
1983
|
#### Parameters
|
|
1925
1984
|
|
|
1926
1985
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1927
|
-
- `sec` **[number][
|
|
1928
|
-
|
|
1986
|
+
- `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
|
|
1987
|
+
|
|
1988
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1929
1989
|
|
|
1930
1990
|
### waitForElement
|
|
1931
1991
|
|
|
@@ -1940,8 +2000,9 @@ I.waitForElement('.btn.continue', 5); // wait for 5 secs
|
|
|
1940
2000
|
#### Parameters
|
|
1941
2001
|
|
|
1942
2002
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1943
|
-
- `sec` **[number][
|
|
1944
|
-
|
|
2003
|
+
- `sec` **[number][11]?** (optional, `1` by default) time in seconds to wait
|
|
2004
|
+
|
|
2005
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1945
2006
|
|
|
1946
2007
|
|
|
1947
2008
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
@@ -1955,8 +2016,9 @@ Element can be located by CSS or XPath.
|
|
|
1955
2016
|
#### Parameters
|
|
1956
2017
|
|
|
1957
2018
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1958
|
-
- `sec` **[number][
|
|
1959
|
-
|
|
2019
|
+
- `sec` **[number][11]** (optional) time in seconds to wait, 1 by default.
|
|
2020
|
+
|
|
2021
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1960
2022
|
|
|
1961
2023
|
### waitForFunction
|
|
1962
2024
|
|
|
@@ -1975,10 +2037,11 @@ I.waitForFunction((count) => window.requests == count, [3], 5) // pass args and
|
|
|
1975
2037
|
|
|
1976
2038
|
#### Parameters
|
|
1977
2039
|
|
|
1978
|
-
- `fn` **([string][6] | [function][
|
|
1979
|
-
- `argsOrSec` **([Array][15]<any> | [number][
|
|
1980
|
-
- `sec` **[number][
|
|
1981
|
-
|
|
2040
|
+
- `fn` **([string][6] | [function][13])** to be executed in browser context.
|
|
2041
|
+
- `argsOrSec` **([Array][15]<any> | [number][11])?** (optional, `1` by default) arguments for function or seconds.
|
|
2042
|
+
- `sec` **[number][11]?** (optional, `1` by default) time in seconds to wait
|
|
2043
|
+
|
|
2044
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1982
2045
|
|
|
1983
2046
|
### waitForInvisible
|
|
1984
2047
|
|
|
@@ -1992,8 +2055,9 @@ I.waitForInvisible('#popup');
|
|
|
1992
2055
|
#### Parameters
|
|
1993
2056
|
|
|
1994
2057
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
1995
|
-
- `sec` **[number][
|
|
1996
|
-
|
|
2058
|
+
- `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
|
|
2059
|
+
|
|
2060
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
1997
2061
|
|
|
1998
2062
|
### waitForNavigation
|
|
1999
2063
|
|
|
@@ -2016,8 +2080,8 @@ I.waitForRequest(request => request.url() === 'http://example.com' && request.me
|
|
|
2016
2080
|
|
|
2017
2081
|
#### Parameters
|
|
2018
2082
|
|
|
2019
|
-
- `urlOrPredicate` **([string][6] | [function][
|
|
2020
|
-
- `sec` **[number][
|
|
2083
|
+
- `urlOrPredicate` **([string][6] | [function][13])**
|
|
2084
|
+
- `sec` **[number][11]?** seconds to wait
|
|
2021
2085
|
|
|
2022
2086
|
### waitForResponse
|
|
2023
2087
|
|
|
@@ -2030,8 +2094,8 @@ I.waitForResponse(response => response.url() === 'http://example.com' && respons
|
|
|
2030
2094
|
|
|
2031
2095
|
#### Parameters
|
|
2032
2096
|
|
|
2033
|
-
- `urlOrPredicate` **([string][6] | [function][
|
|
2034
|
-
- `sec` **[number][
|
|
2097
|
+
- `urlOrPredicate` **([string][6] | [function][13])**
|
|
2098
|
+
- `sec` **[number][11]?** number of seconds to wait
|
|
2035
2099
|
|
|
2036
2100
|
### waitForText
|
|
2037
2101
|
|
|
@@ -2047,9 +2111,10 @@ I.waitForText('Thank you, form has been submitted', 5, '#modal');
|
|
|
2047
2111
|
#### Parameters
|
|
2048
2112
|
|
|
2049
2113
|
- `text` **[string][6]** to wait for.
|
|
2050
|
-
- `sec` **[number][
|
|
2051
|
-
- `context` **([string][6] | [object][4])?** (optional) element located by CSS|XPath|strict locator.
|
|
2052
|
-
|
|
2114
|
+
- `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
|
|
2115
|
+
- `context` **([string][6] | [object][4])?** (optional) element located by CSS|XPath|strict locator.
|
|
2116
|
+
|
|
2117
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
2053
2118
|
|
|
2054
2119
|
### waitForValue
|
|
2055
2120
|
|
|
@@ -2063,8 +2128,9 @@ I.waitForValue('//input', "GoodValue");
|
|
|
2063
2128
|
|
|
2064
2129
|
- `field` **([string][6] | [object][4])** input field.
|
|
2065
2130
|
- `value` **[string][6]** expected value.
|
|
2066
|
-
- `sec` **[number][
|
|
2067
|
-
|
|
2131
|
+
- `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
|
|
2132
|
+
|
|
2133
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
2068
2134
|
|
|
2069
2135
|
### waitForVisible
|
|
2070
2136
|
|
|
@@ -2078,8 +2144,9 @@ I.waitForVisible('#popup');
|
|
|
2078
2144
|
#### Parameters
|
|
2079
2145
|
|
|
2080
2146
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
2081
|
-
- `sec` **[number][
|
|
2082
|
-
|
|
2147
|
+
- `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
|
|
2148
|
+
|
|
2149
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorderThis method accepts [React selectors][24].
|
|
2083
2150
|
|
|
2084
2151
|
### waitInUrl
|
|
2085
2152
|
|
|
@@ -2092,8 +2159,9 @@ I.waitInUrl('/info', 2);
|
|
|
2092
2159
|
#### Parameters
|
|
2093
2160
|
|
|
2094
2161
|
- `urlPart` **[string][6]** value to check.
|
|
2095
|
-
- `sec` **[number][
|
|
2096
|
-
|
|
2162
|
+
- `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
|
|
2163
|
+
|
|
2164
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
2097
2165
|
|
|
2098
2166
|
### waitNumberOfVisibleElements
|
|
2099
2167
|
|
|
@@ -2106,13 +2174,14 @@ I.waitNumberOfVisibleElements('a', 3);
|
|
|
2106
2174
|
#### Parameters
|
|
2107
2175
|
|
|
2108
2176
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
2109
|
-
- `num` **[number][
|
|
2110
|
-
- `sec` **[number][
|
|
2111
|
-
|
|
2177
|
+
- `num` **[number][11]** number of elements.
|
|
2178
|
+
- `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
|
|
2179
|
+
|
|
2180
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
2112
2181
|
|
|
2113
2182
|
|
|
2114
2183
|
This action supports [React locators](https://codecept.io/react#locators)
|
|
2115
|
-
|
|
2184
|
+
|
|
2116
2185
|
|
|
2117
2186
|
### waitToHide
|
|
2118
2187
|
|
|
@@ -2126,8 +2195,9 @@ I.waitToHide('#popup');
|
|
|
2126
2195
|
#### Parameters
|
|
2127
2196
|
|
|
2128
2197
|
- `locator` **([string][6] | [object][4])** element located by CSS|XPath|strict locator.
|
|
2129
|
-
- `sec` **[number][
|
|
2130
|
-
|
|
2198
|
+
- `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
|
|
2199
|
+
|
|
2200
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
2131
2201
|
|
|
2132
2202
|
### waitUrlEquals
|
|
2133
2203
|
|
|
@@ -2141,8 +2211,9 @@ I.waitUrlEquals('http://127.0.0.1:8000/info');
|
|
|
2141
2211
|
#### Parameters
|
|
2142
2212
|
|
|
2143
2213
|
- `urlPart` **[string][6]** value to check.
|
|
2144
|
-
- `sec` **[number][
|
|
2145
|
-
|
|
2214
|
+
- `sec` **[number][11]** (optional, `1` by default) time in seconds to wait
|
|
2215
|
+
|
|
2216
|
+
Returns **[Promise][7]<void>** automatically synchronized promise through #recorder
|
|
2146
2217
|
|
|
2147
2218
|
[1]: https://github.com/GoogleChrome/puppeteer
|
|
2148
2219
|
|
|
@@ -2156,19 +2227,19 @@ I.waitUrlEquals('http://127.0.0.1:8000/info');
|
|
|
2156
2227
|
|
|
2157
2228
|
[6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
2158
2229
|
|
|
2159
|
-
[7]: https://
|
|
2230
|
+
[7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
|
|
2160
2231
|
|
|
2161
|
-
[8]: https://
|
|
2232
|
+
[8]: https://github.com/puppeteer/puppeteer/issues/5420
|
|
2162
2233
|
|
|
2163
|
-
[9]: https://
|
|
2234
|
+
[9]: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus
|
|
2164
2235
|
|
|
2165
|
-
[10]: https://
|
|
2236
|
+
[10]: https://playwright.dev/docs/api/class-locator#locator-blur
|
|
2166
2237
|
|
|
2167
|
-
[11]: https://
|
|
2238
|
+
[11]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|
|
2168
2239
|
|
|
2169
|
-
[12]: https://
|
|
2240
|
+
[12]: https://vuejs.org/v2/api/#Vue-nextTick
|
|
2170
2241
|
|
|
2171
|
-
[13]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/
|
|
2242
|
+
[13]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
|
|
2172
2243
|
|
|
2173
2244
|
[14]: https://playwright.dev/docs/api/class-locator#locator-focus
|
|
2174
2245
|
|