codeceptjs 3.5.8 → 3.5.9-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/build/Appium.js +24 -24
- package/docs/build/Nightmare.js +51 -52
- package/docs/build/Playwright.js +137 -76
- package/docs/build/Protractor.js +64 -65
- package/docs/build/Puppeteer.js +74 -75
- package/docs/build/TestCafe.js +54 -55
- package/docs/build/WebDriver.js +79 -80
- package/docs/changelog.md +1 -571
- package/docs/community-helpers.md +4 -8
- package/docs/examples.md +2 -8
- package/docs/helpers/Appium.md +19 -19
- package/docs/helpers/Nightmare.md +75 -77
- package/docs/helpers/Playwright.md +350 -314
- package/docs/helpers/Protractor.md +153 -155
- package/docs/helpers/Puppeteer.md +146 -148
- package/docs/helpers/TestCafe.md +124 -126
- package/docs/helpers/WebDriver.md +155 -157
- package/docs/internal-api.md +111 -0
- package/docs/plugins.md +4 -2
- 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 -1
- package/docs/webapi/checkOption.mustache +1 -1
- package/docs/webapi/clearCookie.mustache +1 -2
- 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/fillField.mustache +1 -1
- package/docs/webapi/focus.mustache +1 -1
- package/docs/webapi/forceClick.mustache +1 -1
- package/docs/webapi/forceRightClick.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/command/run-multiple.js +1 -1
- package/lib/command/run-workers.js +30 -4
- package/lib/command/workers/runTests.js +23 -0
- package/lib/event.js +2 -0
- package/lib/helper/Appium.js +10 -10
- package/lib/helper/Playwright.js +78 -7
- package/lib/helper/Puppeteer.js +7 -3
- package/lib/helper/WebDriver.js +6 -2
- package/lib/interfaces/gherkin.js +8 -1
- package/lib/interfaces/scenarioConfig.js +1 -0
- package/lib/locator.js +2 -2
- package/lib/plugin/autoLogin.js +4 -2
- package/lib/plugin/retryFailedStep.js +5 -0
- package/lib/plugin/stepByStepReport.js +2 -2
- package/lib/ui.js +1 -0
- package/lib/workers.js +2 -0
- package/package.json +4 -4
- package/typings/promiseBasedTypes.d.ts +449 -1008
- package/typings/types.d.ts +452 -425
|
@@ -193,7 +193,7 @@ I.amOnPage('/login'); // opens a login page
|
|
|
193
193
|
|
|
194
194
|
- `url` **[string][9]** url path or global url.
|
|
195
195
|
|
|
196
|
-
Returns **
|
|
196
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
197
197
|
|
|
198
198
|
### amOutsideAngularApp
|
|
199
199
|
|
|
@@ -213,10 +213,10 @@ I.appendField('password', secret('123456'));
|
|
|
213
213
|
|
|
214
214
|
#### Parameters
|
|
215
215
|
|
|
216
|
-
- `field` **([string][9] | [object][
|
|
216
|
+
- `field` **([string][9] | [object][10])** located by label|name|CSS|XPath|strict locator
|
|
217
217
|
- `value` **[string][9]** text value to append.
|
|
218
218
|
|
|
219
|
-
Returns **
|
|
219
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
220
220
|
|
|
221
221
|
### attachFile
|
|
222
222
|
|
|
@@ -231,10 +231,10 @@ I.attachFile('form input[name=avatar]', 'data/avatar.jpg');
|
|
|
231
231
|
|
|
232
232
|
#### Parameters
|
|
233
233
|
|
|
234
|
-
- `locator` **([string][9] | [object][
|
|
234
|
+
- `locator` **([string][9] | [object][10])** field located by label|name|CSS|XPath|strict locator.
|
|
235
235
|
- `pathToFile` **[string][9]** local file path relative to codecept.conf.ts or codecept.conf.js config file.
|
|
236
236
|
|
|
237
|
-
Returns **
|
|
237
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
238
238
|
|
|
239
239
|
### cancelPopup
|
|
240
240
|
|
|
@@ -255,10 +255,10 @@ I.checkOption('agree', '//form');
|
|
|
255
255
|
|
|
256
256
|
#### Parameters
|
|
257
257
|
|
|
258
|
-
- `field` **([string][9] | [object][
|
|
259
|
-
- `context` **([string][9]? | [object][
|
|
258
|
+
- `field` **([string][9] | [object][10])** checkbox located by label | name | CSS | XPath | strict locator.
|
|
259
|
+
- `context` **([string][9]? | [object][10])** (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
260
260
|
|
|
261
|
-
Returns **
|
|
261
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
262
262
|
|
|
263
263
|
### clearCookie
|
|
264
264
|
|
|
@@ -267,15 +267,13 @@ if none provided clears all cookies.
|
|
|
267
267
|
|
|
268
268
|
```js
|
|
269
269
|
I.clearCookie();
|
|
270
|
-
I.clearCookie('test');
|
|
270
|
+
I.clearCookie('test'); // Playwright currently doesn't support clear a particular cookie name
|
|
271
271
|
```
|
|
272
272
|
|
|
273
273
|
#### Parameters
|
|
274
274
|
|
|
275
275
|
- `cookie` **[string][9]?** (optional, `null` by default) cookie name
|
|
276
276
|
|
|
277
|
-
Returns **[Promise][10]<void>** automatically synchronized promise through #recorder
|
|
278
|
-
|
|
279
277
|
### clearField
|
|
280
278
|
|
|
281
279
|
Clears a `<textarea>` or text `<input>` element's value.
|
|
@@ -289,9 +287,9 @@ I.clearField('#email');
|
|
|
289
287
|
#### Parameters
|
|
290
288
|
|
|
291
289
|
- `field`
|
|
292
|
-
- `editable` **([string][9] | [object][
|
|
290
|
+
- `editable` **([string][9] | [object][10])** field located by label|name|CSS|XPath|strict locator.
|
|
293
291
|
|
|
294
|
-
Returns **
|
|
292
|
+
Returns **void** automatically synchronized promise through #recorder.
|
|
295
293
|
|
|
296
294
|
### click
|
|
297
295
|
|
|
@@ -319,10 +317,10 @@ I.click({css: 'nav a.login'});
|
|
|
319
317
|
|
|
320
318
|
#### Parameters
|
|
321
319
|
|
|
322
|
-
- `locator` **([string][9] | [object][
|
|
323
|
-
- `context` **([string][9]? | [object][
|
|
320
|
+
- `locator` **([string][9] | [object][10])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
321
|
+
- `context` **([string][9]? | [object][10] | null)** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
324
322
|
|
|
325
|
-
Returns **
|
|
323
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
326
324
|
|
|
327
325
|
### closeCurrentTab
|
|
328
326
|
|
|
@@ -353,9 +351,9 @@ I.dontSee('Login', '.nav'); // no login inside .nav element
|
|
|
353
351
|
#### Parameters
|
|
354
352
|
|
|
355
353
|
- `text` **[string][9]** which is not present.
|
|
356
|
-
- `context` **([string][9] | [object][
|
|
354
|
+
- `context` **([string][9] | [object][10])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
|
|
357
355
|
|
|
358
|
-
Returns **
|
|
356
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
359
357
|
|
|
360
358
|
### dontSeeCheckboxIsChecked
|
|
361
359
|
|
|
@@ -369,9 +367,9 @@ I.dontSeeCheckboxIsChecked('agree'); // located by name
|
|
|
369
367
|
|
|
370
368
|
#### Parameters
|
|
371
369
|
|
|
372
|
-
- `field` **([string][9] | [object][
|
|
370
|
+
- `field` **([string][9] | [object][10])** located by label|name|CSS|XPath|strict locator.
|
|
373
371
|
|
|
374
|
-
Returns **
|
|
372
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
375
373
|
|
|
376
374
|
### dontSeeCookie
|
|
377
375
|
|
|
@@ -385,7 +383,7 @@ I.dontSeeCookie('auth'); // no auth cookie
|
|
|
385
383
|
|
|
386
384
|
- `name` **[string][9]** cookie name.
|
|
387
385
|
|
|
388
|
-
Returns **
|
|
386
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
389
387
|
|
|
390
388
|
### dontSeeCurrentUrlEquals
|
|
391
389
|
|
|
@@ -401,7 +399,7 @@ I.dontSeeCurrentUrlEquals('http://mysite.com/login'); // absolute urls are also
|
|
|
401
399
|
|
|
402
400
|
- `url` **[string][9]** value to check.
|
|
403
401
|
|
|
404
|
-
Returns **
|
|
402
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
405
403
|
|
|
406
404
|
### dontSeeElement
|
|
407
405
|
|
|
@@ -413,9 +411,9 @@ I.dontSeeElement('.modal'); // modal is not shown
|
|
|
413
411
|
|
|
414
412
|
#### Parameters
|
|
415
413
|
|
|
416
|
-
- `locator` **([string][9] | [object][
|
|
414
|
+
- `locator` **([string][9] | [object][10])** located by CSS|XPath|Strict locator.
|
|
417
415
|
|
|
418
|
-
Returns **
|
|
416
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
419
417
|
|
|
420
418
|
### dontSeeElementInDOM
|
|
421
419
|
|
|
@@ -427,9 +425,9 @@ I.dontSeeElementInDOM('.nav'); // checks that element is not on page visible or
|
|
|
427
425
|
|
|
428
426
|
#### Parameters
|
|
429
427
|
|
|
430
|
-
- `locator` **([string][9] | [object][
|
|
428
|
+
- `locator` **([string][9] | [object][10])** located by CSS|XPath|Strict locator.
|
|
431
429
|
|
|
432
|
-
Returns **
|
|
430
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
433
431
|
|
|
434
432
|
### dontSeeInCurrentUrl
|
|
435
433
|
|
|
@@ -439,7 +437,7 @@ Checks that current url does not contain a provided fragment.
|
|
|
439
437
|
|
|
440
438
|
- `url` **[string][9]** value to check.
|
|
441
439
|
|
|
442
|
-
Returns **
|
|
440
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
443
441
|
|
|
444
442
|
### dontSeeInField
|
|
445
443
|
|
|
@@ -453,10 +451,10 @@ I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
|
|
|
453
451
|
|
|
454
452
|
#### Parameters
|
|
455
453
|
|
|
456
|
-
- `field` **([string][9] | [object][
|
|
457
|
-
- `value` **([string][9] | [object][
|
|
454
|
+
- `field` **([string][9] | [object][10])** located by label|name|CSS|XPath|strict locator.
|
|
455
|
+
- `value` **([string][9] | [object][10])** value to check.
|
|
458
456
|
|
|
459
|
-
Returns **
|
|
457
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
460
458
|
|
|
461
459
|
### dontSeeInSource
|
|
462
460
|
|
|
@@ -471,7 +469,7 @@ I.dontSeeInSource('<!--'); // no comments in source
|
|
|
471
469
|
- `text`
|
|
472
470
|
- `value` **[string][9]** to check.
|
|
473
471
|
|
|
474
|
-
Returns **
|
|
472
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
475
473
|
|
|
476
474
|
### dontSeeInTitle
|
|
477
475
|
|
|
@@ -485,7 +483,7 @@ I.dontSeeInTitle('Error');
|
|
|
485
483
|
|
|
486
484
|
- `text` **[string][9]** value to check.
|
|
487
485
|
|
|
488
|
-
Returns **
|
|
486
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
489
487
|
|
|
490
488
|
### doubleClick
|
|
491
489
|
|
|
@@ -501,10 +499,10 @@ I.doubleClick('.btn.edit');
|
|
|
501
499
|
|
|
502
500
|
#### Parameters
|
|
503
501
|
|
|
504
|
-
- `locator` **([string][9] | [object][
|
|
505
|
-
- `context` **([string][9]? | [object][
|
|
502
|
+
- `locator` **([string][9] | [object][10])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
503
|
+
- `context` **([string][9]? | [object][10])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
506
504
|
|
|
507
|
-
Returns **
|
|
505
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
508
506
|
|
|
509
507
|
### dragAndDrop
|
|
510
508
|
|
|
@@ -516,17 +514,17 @@ I.dragAndDrop('#dragHandle', '#container');
|
|
|
516
514
|
|
|
517
515
|
#### Parameters
|
|
518
516
|
|
|
519
|
-
- `srcElement` **([string][9] | [object][
|
|
520
|
-
- `destElement` **([string][9] | [object][
|
|
517
|
+
- `srcElement` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
518
|
+
- `destElement` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
521
519
|
|
|
522
|
-
Returns **
|
|
520
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
523
521
|
|
|
524
522
|
### executeAsyncScript
|
|
525
523
|
|
|
526
524
|
Executes async script on page.
|
|
527
525
|
Provided function should execute a passed callback (as first argument) to signal it is finished.
|
|
528
526
|
|
|
529
|
-
Example: In Vue.js to make components completely rendered we are waiting for [nextTick][
|
|
527
|
+
Example: In Vue.js to make components completely rendered we are waiting for [nextTick][11].
|
|
530
528
|
|
|
531
529
|
```js
|
|
532
530
|
I.executeAsyncScript(function(done) {
|
|
@@ -546,10 +544,10 @@ let val = await I.executeAsyncScript(function(url, done) {
|
|
|
546
544
|
|
|
547
545
|
#### Parameters
|
|
548
546
|
|
|
549
|
-
- `fn` **([string][9] | [function][
|
|
547
|
+
- `fn` **([string][9] | [function][12])** function to be executed in browser context.
|
|
550
548
|
- `args` **...any** to be passed to function.
|
|
551
549
|
|
|
552
|
-
Returns **[Promise][
|
|
550
|
+
Returns **[Promise][13]<any>** script return value
|
|
553
551
|
|
|
554
552
|
### executeScript
|
|
555
553
|
|
|
@@ -579,10 +577,10 @@ let date = await I.executeScript(function(el) {
|
|
|
579
577
|
|
|
580
578
|
#### Parameters
|
|
581
579
|
|
|
582
|
-
- `fn` **([string][9] | [function][
|
|
580
|
+
- `fn` **([string][9] | [function][12])** function to be executed in browser context.
|
|
583
581
|
- `args` **...any** to be passed to function.
|
|
584
582
|
|
|
585
|
-
Returns **[Promise][
|
|
583
|
+
Returns **[Promise][13]<any>** script return value
|
|
586
584
|
|
|
587
585
|
### fillField
|
|
588
586
|
|
|
@@ -602,10 +600,10 @@ I.fillField({css: 'form#login input[name=username]'}, 'John');
|
|
|
602
600
|
|
|
603
601
|
#### Parameters
|
|
604
602
|
|
|
605
|
-
- `field` **([string][9] | [object][
|
|
606
|
-
- `value` **([string][9] | [object][
|
|
603
|
+
- `field` **([string][9] | [object][10])** located by label|name|CSS|XPath|strict locator.
|
|
604
|
+
- `value` **([string][9] | [object][10])** text value to fill.
|
|
607
605
|
|
|
608
|
-
Returns **
|
|
606
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
609
607
|
|
|
610
608
|
### grabAttributeFrom
|
|
611
609
|
|
|
@@ -619,10 +617,10 @@ let hint = await I.grabAttributeFrom('#tooltip', 'title');
|
|
|
619
617
|
|
|
620
618
|
#### Parameters
|
|
621
619
|
|
|
622
|
-
- `locator` **([string][9] | [object][
|
|
620
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
623
621
|
- `attr` **[string][9]** attribute name.
|
|
624
622
|
|
|
625
|
-
Returns **[Promise][
|
|
623
|
+
Returns **[Promise][13]<[string][9]>** attribute value
|
|
626
624
|
|
|
627
625
|
### grabAttributeFromAll
|
|
628
626
|
|
|
@@ -635,10 +633,10 @@ let hints = await I.grabAttributeFromAll('.tooltip', 'title');
|
|
|
635
633
|
|
|
636
634
|
#### Parameters
|
|
637
635
|
|
|
638
|
-
- `locator` **([string][9] | [object][
|
|
636
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
639
637
|
- `attr` **[string][9]** attribute name.
|
|
640
638
|
|
|
641
|
-
Returns **[Promise][
|
|
639
|
+
Returns **[Promise][13]<[Array][14]<[string][9]>>** attribute value
|
|
642
640
|
|
|
643
641
|
### grabBrowserLogs
|
|
644
642
|
|
|
@@ -650,7 +648,7 @@ let logs = await I.grabBrowserLogs();
|
|
|
650
648
|
console.log(JSON.stringify(logs))
|
|
651
649
|
```
|
|
652
650
|
|
|
653
|
-
Returns **([Promise][
|
|
651
|
+
Returns **([Promise][13]<[Array][14]<[object][10]>> | [undefined][15])** all browser logs
|
|
654
652
|
|
|
655
653
|
### grabCookie
|
|
656
654
|
|
|
@@ -681,10 +679,10 @@ const value = await I.grabCssPropertyFrom('h3', 'font-weight');
|
|
|
681
679
|
|
|
682
680
|
#### Parameters
|
|
683
681
|
|
|
684
|
-
- `locator` **([string][9] | [object][
|
|
682
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
685
683
|
- `cssProperty` **[string][9]** CSS property name.
|
|
686
684
|
|
|
687
|
-
Returns **[Promise][
|
|
685
|
+
Returns **[Promise][13]<[string][9]>** CSS value
|
|
688
686
|
|
|
689
687
|
### grabCssPropertyFromAll
|
|
690
688
|
|
|
@@ -697,10 +695,10 @@ const values = await I.grabCssPropertyFromAll('h3', 'font-weight');
|
|
|
697
695
|
|
|
698
696
|
#### Parameters
|
|
699
697
|
|
|
700
|
-
- `locator` **([string][9] | [object][
|
|
698
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
701
699
|
- `cssProperty` **[string][9]** CSS property name.
|
|
702
700
|
|
|
703
|
-
Returns **[Promise][
|
|
701
|
+
Returns **[Promise][13]<[Array][14]<[string][9]>>** CSS value
|
|
704
702
|
|
|
705
703
|
### grabCurrentUrl
|
|
706
704
|
|
|
@@ -712,7 +710,7 @@ let url = await I.grabCurrentUrl();
|
|
|
712
710
|
console.log(`Current URL is [${url}]`);
|
|
713
711
|
```
|
|
714
712
|
|
|
715
|
-
Returns **[Promise][
|
|
713
|
+
Returns **[Promise][13]<[string][9]>** current URL
|
|
716
714
|
|
|
717
715
|
### grabHTMLFrom
|
|
718
716
|
|
|
@@ -727,9 +725,9 @@ let postHTML = await I.grabHTMLFrom('#post');
|
|
|
727
725
|
#### Parameters
|
|
728
726
|
|
|
729
727
|
- `locator`
|
|
730
|
-
- `element` **([string][9] | [object][
|
|
728
|
+
- `element` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
731
729
|
|
|
732
|
-
Returns **[Promise][
|
|
730
|
+
Returns **[Promise][13]<[string][9]>** HTML code for an element
|
|
733
731
|
|
|
734
732
|
### grabHTMLFromAll
|
|
735
733
|
|
|
@@ -743,9 +741,9 @@ let postHTMLs = await I.grabHTMLFromAll('.post');
|
|
|
743
741
|
#### Parameters
|
|
744
742
|
|
|
745
743
|
- `locator`
|
|
746
|
-
- `element` **([string][9] | [object][
|
|
744
|
+
- `element` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
747
745
|
|
|
748
|
-
Returns **[Promise][
|
|
746
|
+
Returns **[Promise][13]<[Array][14]<[string][9]>>** HTML code for an element
|
|
749
747
|
|
|
750
748
|
### grabNumberOfOpenTabs
|
|
751
749
|
|
|
@@ -756,7 +754,7 @@ Resumes test execution, so **should be used inside async function with `await`**
|
|
|
756
754
|
let tabs = await I.grabNumberOfOpenTabs();
|
|
757
755
|
```
|
|
758
756
|
|
|
759
|
-
Returns **[Promise][
|
|
757
|
+
Returns **[Promise][13]<[number][7]>** number of open tabs
|
|
760
758
|
|
|
761
759
|
### grabNumberOfVisibleElements
|
|
762
760
|
|
|
@@ -769,9 +767,9 @@ let numOfElements = await I.grabNumberOfVisibleElements('p');
|
|
|
769
767
|
|
|
770
768
|
#### Parameters
|
|
771
769
|
|
|
772
|
-
- `locator` **([string][9] | [object][
|
|
770
|
+
- `locator` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
773
771
|
|
|
774
|
-
Returns **[Promise][
|
|
772
|
+
Returns **[Promise][13]<[number][7]>** number of visible elements
|
|
775
773
|
|
|
776
774
|
### grabPageScrollPosition
|
|
777
775
|
|
|
@@ -782,7 +780,7 @@ Resumes test execution, so **should be used inside an async function with `await
|
|
|
782
780
|
let { x, y } = await I.grabPageScrollPosition();
|
|
783
781
|
```
|
|
784
782
|
|
|
785
|
-
Returns **[Promise][
|
|
783
|
+
Returns **[Promise][13]<PageScrollPosition>** scroll position
|
|
786
784
|
|
|
787
785
|
### grabPopupText
|
|
788
786
|
|
|
@@ -801,7 +799,7 @@ Resumes test execution, so **should be used inside async function with `await`**
|
|
|
801
799
|
let pageSource = await I.grabSource();
|
|
802
800
|
```
|
|
803
801
|
|
|
804
|
-
Returns **[Promise][
|
|
802
|
+
Returns **[Promise][13]<[string][9]>** source code
|
|
805
803
|
|
|
806
804
|
### grabTextFrom
|
|
807
805
|
|
|
@@ -816,9 +814,9 @@ If multiple elements found returns first element.
|
|
|
816
814
|
|
|
817
815
|
#### Parameters
|
|
818
816
|
|
|
819
|
-
- `locator` **([string][9] | [object][
|
|
817
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
820
818
|
|
|
821
|
-
Returns **[Promise][
|
|
819
|
+
Returns **[Promise][13]<[string][9]>** attribute value
|
|
822
820
|
|
|
823
821
|
### grabTextFromAll
|
|
824
822
|
|
|
@@ -831,9 +829,9 @@ let pins = await I.grabTextFromAll('#pin li');
|
|
|
831
829
|
|
|
832
830
|
#### Parameters
|
|
833
831
|
|
|
834
|
-
- `locator` **([string][9] | [object][
|
|
832
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
835
833
|
|
|
836
|
-
Returns **[Promise][
|
|
834
|
+
Returns **[Promise][13]<[Array][14]<[string][9]>>** attribute value
|
|
837
835
|
|
|
838
836
|
### grabTitle
|
|
839
837
|
|
|
@@ -844,7 +842,7 @@ Resumes test execution, so **should be used inside async with `await`** operator
|
|
|
844
842
|
let title = await I.grabTitle();
|
|
845
843
|
```
|
|
846
844
|
|
|
847
|
-
Returns **[Promise][
|
|
845
|
+
Returns **[Promise][13]<[string][9]>** title
|
|
848
846
|
|
|
849
847
|
### grabValueFrom
|
|
850
848
|
|
|
@@ -858,9 +856,9 @@ let email = await I.grabValueFrom('input[name=email]');
|
|
|
858
856
|
|
|
859
857
|
#### Parameters
|
|
860
858
|
|
|
861
|
-
- `locator` **([string][9] | [object][
|
|
859
|
+
- `locator` **([string][9] | [object][10])** field located by label|name|CSS|XPath|strict locator.
|
|
862
860
|
|
|
863
|
-
Returns **[Promise][
|
|
861
|
+
Returns **[Promise][13]<[string][9]>** attribute value
|
|
864
862
|
|
|
865
863
|
### grabValueFromAll
|
|
866
864
|
|
|
@@ -873,9 +871,9 @@ let inputs = await I.grabValueFromAll('//form/input');
|
|
|
873
871
|
|
|
874
872
|
#### Parameters
|
|
875
873
|
|
|
876
|
-
- `locator` **([string][9] | [object][
|
|
874
|
+
- `locator` **([string][9] | [object][10])** field located by label|name|CSS|XPath|strict locator.
|
|
877
875
|
|
|
878
|
-
Returns **[Promise][
|
|
876
|
+
Returns **[Promise][13]<[Array][14]<[string][9]>>** attribute value
|
|
879
877
|
|
|
880
878
|
### haveModule
|
|
881
879
|
|
|
@@ -904,11 +902,11 @@ I.moveCursorTo('#submit', 5,5);
|
|
|
904
902
|
|
|
905
903
|
#### Parameters
|
|
906
904
|
|
|
907
|
-
- `locator` **([string][9] | [object][
|
|
905
|
+
- `locator` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
908
906
|
- `offsetX` **[number][7]** (optional, `0` by default) X-axis offset.
|
|
909
907
|
- `offsetY` **[number][7]** (optional, `0` by default) Y-axis offset.
|
|
910
908
|
|
|
911
|
-
Returns **
|
|
909
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
912
910
|
|
|
913
911
|
### moveTo
|
|
914
912
|
|
|
@@ -942,7 +940,7 @@ I.pressKey(['Control','a']);
|
|
|
942
940
|
|
|
943
941
|
- `key` **([string][9] | [Array][14]<[string][9]>)** key or array of keys to press.
|
|
944
942
|
|
|
945
|
-
Returns **
|
|
943
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
946
944
|
|
|
947
945
|
|
|
948
946
|
[Valid key names](https://w3c.github.io/webdriver/#keyboard-actions) are:
|
|
@@ -989,7 +987,7 @@ Reload the current page.
|
|
|
989
987
|
I.refreshPage();
|
|
990
988
|
```
|
|
991
989
|
|
|
992
|
-
Returns **
|
|
990
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
993
991
|
|
|
994
992
|
### resetModule
|
|
995
993
|
|
|
@@ -1014,7 +1012,7 @@ First parameter can be set to `maximize`.
|
|
|
1014
1012
|
- `width` **[number][7]** width in pixels or `maximize`.
|
|
1015
1013
|
- `height` **[number][7]** height in pixels.
|
|
1016
1014
|
|
|
1017
|
-
Returns **
|
|
1015
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1018
1016
|
|
|
1019
1017
|
### rightClick
|
|
1020
1018
|
|
|
@@ -1031,10 +1029,10 @@ I.rightClick('Click me', '.context');
|
|
|
1031
1029
|
|
|
1032
1030
|
#### Parameters
|
|
1033
1031
|
|
|
1034
|
-
- `locator` **([string][9] | [object][
|
|
1035
|
-
- `context` **([string][9]? | [object][
|
|
1032
|
+
- `locator` **([string][9] | [object][10])** clickable element located by CSS|XPath|strict locator.
|
|
1033
|
+
- `context` **([string][9]? | [object][10])** (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
1036
1034
|
|
|
1037
|
-
Returns **
|
|
1035
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1038
1036
|
|
|
1039
1037
|
### saveElementScreenshot
|
|
1040
1038
|
|
|
@@ -1047,10 +1045,10 @@ I.saveElementScreenshot(`#submit`,'debug.png');
|
|
|
1047
1045
|
|
|
1048
1046
|
#### Parameters
|
|
1049
1047
|
|
|
1050
|
-
- `locator` **([string][9] | [object][
|
|
1048
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1051
1049
|
- `fileName` **[string][9]** file name to save.
|
|
1052
1050
|
|
|
1053
|
-
Returns **
|
|
1051
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1054
1052
|
|
|
1055
1053
|
### saveScreenshot
|
|
1056
1054
|
|
|
@@ -1068,7 +1066,7 @@ I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scro
|
|
|
1068
1066
|
- `fileName` **[string][9]** file name to save.
|
|
1069
1067
|
- `fullPage` **[boolean][18]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
|
|
1070
1068
|
|
|
1071
|
-
Returns **
|
|
1069
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1072
1070
|
|
|
1073
1071
|
### scrollPageToBottom
|
|
1074
1072
|
|
|
@@ -1078,7 +1076,7 @@ Scroll page to the bottom.
|
|
|
1078
1076
|
I.scrollPageToBottom();
|
|
1079
1077
|
```
|
|
1080
1078
|
|
|
1081
|
-
Returns **
|
|
1079
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1082
1080
|
|
|
1083
1081
|
### scrollPageToTop
|
|
1084
1082
|
|
|
@@ -1088,7 +1086,7 @@ Scroll page to the top.
|
|
|
1088
1086
|
I.scrollPageToTop();
|
|
1089
1087
|
```
|
|
1090
1088
|
|
|
1091
|
-
Returns **
|
|
1089
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1092
1090
|
|
|
1093
1091
|
### scrollTo
|
|
1094
1092
|
|
|
@@ -1102,11 +1100,11 @@ I.scrollTo('#submit', 5, 5);
|
|
|
1102
1100
|
|
|
1103
1101
|
#### Parameters
|
|
1104
1102
|
|
|
1105
|
-
- `locator` **([string][9] | [object][
|
|
1103
|
+
- `locator` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
1106
1104
|
- `offsetX` **[number][7]** (optional, `0` by default) X-axis offset.
|
|
1107
1105
|
- `offsetY` **[number][7]** (optional, `0` by default) Y-axis offset.
|
|
1108
1106
|
|
|
1109
|
-
Returns **
|
|
1107
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1110
1108
|
|
|
1111
1109
|
### see
|
|
1112
1110
|
|
|
@@ -1122,9 +1120,9 @@ I.see('Register', {css: 'form.register'}); // use strict locator
|
|
|
1122
1120
|
#### Parameters
|
|
1123
1121
|
|
|
1124
1122
|
- `text` **[string][9]** expected on page.
|
|
1125
|
-
- `context` **([string][9]? | [object][
|
|
1123
|
+
- `context` **([string][9]? | [object][10])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
|
|
1126
1124
|
|
|
1127
|
-
Returns **
|
|
1125
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1128
1126
|
|
|
1129
1127
|
### seeAttributesOnElements
|
|
1130
1128
|
|
|
@@ -1136,10 +1134,10 @@ I.seeAttributesOnElements('//form', { method: "post"});
|
|
|
1136
1134
|
|
|
1137
1135
|
#### Parameters
|
|
1138
1136
|
|
|
1139
|
-
- `locator` **([string][9] | [object][
|
|
1140
|
-
- `attributes` **[object][
|
|
1137
|
+
- `locator` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
1138
|
+
- `attributes` **[object][10]** attributes and their values to check.
|
|
1141
1139
|
|
|
1142
|
-
Returns **
|
|
1140
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1143
1141
|
|
|
1144
1142
|
### seeCheckboxIsChecked
|
|
1145
1143
|
|
|
@@ -1153,9 +1151,9 @@ I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
|
|
|
1153
1151
|
|
|
1154
1152
|
#### Parameters
|
|
1155
1153
|
|
|
1156
|
-
- `field` **([string][9] | [object][
|
|
1154
|
+
- `field` **([string][9] | [object][10])** located by label|name|CSS|XPath|strict locator.
|
|
1157
1155
|
|
|
1158
|
-
Returns **
|
|
1156
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1159
1157
|
|
|
1160
1158
|
### seeCookie
|
|
1161
1159
|
|
|
@@ -1169,7 +1167,7 @@ I.seeCookie('Auth');
|
|
|
1169
1167
|
|
|
1170
1168
|
- `name` **[string][9]** cookie name.
|
|
1171
1169
|
|
|
1172
|
-
Returns **
|
|
1170
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1173
1171
|
|
|
1174
1172
|
### seeCssPropertiesOnElements
|
|
1175
1173
|
|
|
@@ -1181,10 +1179,10 @@ I.seeCssPropertiesOnElements('h3', { 'font-weight': "bold"});
|
|
|
1181
1179
|
|
|
1182
1180
|
#### Parameters
|
|
1183
1181
|
|
|
1184
|
-
- `locator` **([string][9] | [object][
|
|
1185
|
-
- `cssProperties` **[object][
|
|
1182
|
+
- `locator` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
1183
|
+
- `cssProperties` **[object][10]** object with CSS properties and their values to check.
|
|
1186
1184
|
|
|
1187
|
-
Returns **
|
|
1185
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1188
1186
|
|
|
1189
1187
|
### seeCurrentUrlEquals
|
|
1190
1188
|
|
|
@@ -1201,7 +1199,7 @@ I.seeCurrentUrlEquals('http://my.site.com/register');
|
|
|
1201
1199
|
|
|
1202
1200
|
- `url` **[string][9]** value to check.
|
|
1203
1201
|
|
|
1204
|
-
Returns **
|
|
1202
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1205
1203
|
|
|
1206
1204
|
### seeElement
|
|
1207
1205
|
|
|
@@ -1214,9 +1212,9 @@ I.seeElement('#modal');
|
|
|
1214
1212
|
|
|
1215
1213
|
#### Parameters
|
|
1216
1214
|
|
|
1217
|
-
- `locator` **([string][9] | [object][
|
|
1215
|
+
- `locator` **([string][9] | [object][10])** located by CSS|XPath|strict locator.
|
|
1218
1216
|
|
|
1219
|
-
Returns **
|
|
1217
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1220
1218
|
|
|
1221
1219
|
### seeElementInDOM
|
|
1222
1220
|
|
|
@@ -1229,9 +1227,9 @@ I.seeElementInDOM('#modal');
|
|
|
1229
1227
|
|
|
1230
1228
|
#### Parameters
|
|
1231
1229
|
|
|
1232
|
-
- `locator` **([string][9] | [object][
|
|
1230
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1233
1231
|
|
|
1234
|
-
Returns **
|
|
1232
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1235
1233
|
|
|
1236
1234
|
### seeInCurrentUrl
|
|
1237
1235
|
|
|
@@ -1245,7 +1243,7 @@ I.seeInCurrentUrl('/register'); // we are on registration page
|
|
|
1245
1243
|
|
|
1246
1244
|
- `url` **[string][9]** a fragment to check
|
|
1247
1245
|
|
|
1248
|
-
Returns **
|
|
1246
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1249
1247
|
|
|
1250
1248
|
### seeInField
|
|
1251
1249
|
|
|
@@ -1261,10 +1259,10 @@ I.seeInField('#searchform input','Search');
|
|
|
1261
1259
|
|
|
1262
1260
|
#### Parameters
|
|
1263
1261
|
|
|
1264
|
-
- `field` **([string][9] | [object][
|
|
1265
|
-
- `value` **([string][9] | [object][
|
|
1262
|
+
- `field` **([string][9] | [object][10])** located by label|name|CSS|XPath|strict locator.
|
|
1263
|
+
- `value` **([string][9] | [object][10])** value to check.
|
|
1266
1264
|
|
|
1267
|
-
Returns **
|
|
1265
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1268
1266
|
|
|
1269
1267
|
### seeInPopup
|
|
1270
1268
|
|
|
@@ -1279,7 +1277,7 @@ I.seeInPopup('Popup text');
|
|
|
1279
1277
|
|
|
1280
1278
|
- `text` **[string][9]** value to check.
|
|
1281
1279
|
|
|
1282
|
-
Returns **
|
|
1280
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1283
1281
|
|
|
1284
1282
|
### seeInSource
|
|
1285
1283
|
|
|
@@ -1293,7 +1291,7 @@ I.seeInSource('<h1>Green eggs & ham</h1>');
|
|
|
1293
1291
|
|
|
1294
1292
|
- `text` **[string][9]** value to check.
|
|
1295
1293
|
|
|
1296
|
-
Returns **
|
|
1294
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1297
1295
|
|
|
1298
1296
|
### seeInTitle
|
|
1299
1297
|
|
|
@@ -1307,7 +1305,7 @@ I.seeInTitle('Home Page');
|
|
|
1307
1305
|
|
|
1308
1306
|
- `text` **[string][9]** text value to check.
|
|
1309
1307
|
|
|
1310
|
-
Returns **
|
|
1308
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1311
1309
|
|
|
1312
1310
|
### seeNumberOfElements
|
|
1313
1311
|
|
|
@@ -1320,10 +1318,10 @@ I.seeNumberOfElements('#submitBtn', 1);
|
|
|
1320
1318
|
|
|
1321
1319
|
#### Parameters
|
|
1322
1320
|
|
|
1323
|
-
- `locator` **([string][9] | [object][
|
|
1321
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1324
1322
|
- `num` **[number][7]** number of elements.
|
|
1325
1323
|
|
|
1326
|
-
Returns **
|
|
1324
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1327
1325
|
|
|
1328
1326
|
### seeNumberOfVisibleElements
|
|
1329
1327
|
|
|
@@ -1336,10 +1334,10 @@ I.seeNumberOfVisibleElements('.buttons', 3);
|
|
|
1336
1334
|
|
|
1337
1335
|
#### Parameters
|
|
1338
1336
|
|
|
1339
|
-
- `locator` **([string][9] | [object][
|
|
1337
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1340
1338
|
- `num` **[number][7]** number of elements.
|
|
1341
1339
|
|
|
1342
|
-
Returns **
|
|
1340
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1343
1341
|
|
|
1344
1342
|
### seeTextEquals
|
|
1345
1343
|
|
|
@@ -1352,9 +1350,9 @@ I.seeTextEquals('text', 'h1');
|
|
|
1352
1350
|
#### Parameters
|
|
1353
1351
|
|
|
1354
1352
|
- `text` **[string][9]** element value to check.
|
|
1355
|
-
- `context` **([string][9] | [object][
|
|
1353
|
+
- `context` **([string][9] | [object][10])?** element located by CSS|XPath|strict locator.
|
|
1356
1354
|
|
|
1357
|
-
Returns **
|
|
1355
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1358
1356
|
|
|
1359
1357
|
### seeTitleEquals
|
|
1360
1358
|
|
|
@@ -1368,7 +1366,7 @@ I.seeTitleEquals('Test title.');
|
|
|
1368
1366
|
|
|
1369
1367
|
- `text` **[string][9]** value to check.
|
|
1370
1368
|
|
|
1371
|
-
Returns **
|
|
1369
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1372
1370
|
|
|
1373
1371
|
### selectOption
|
|
1374
1372
|
|
|
@@ -1393,10 +1391,10 @@ I.selectOption('Which OS do you use?', ['Android', 'iOS']);
|
|
|
1393
1391
|
|
|
1394
1392
|
#### Parameters
|
|
1395
1393
|
|
|
1396
|
-
- `select` **([string][9] | [object][
|
|
1394
|
+
- `select` **([string][9] | [object][10])** field located by label|name|CSS|XPath|strict locator.
|
|
1397
1395
|
- `option` **([string][9] | [Array][14]<any>)** visible text or value of option.
|
|
1398
1396
|
|
|
1399
|
-
Returns **
|
|
1397
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1400
1398
|
|
|
1401
1399
|
### setCookie
|
|
1402
1400
|
|
|
@@ -1418,7 +1416,7 @@ I.setCookie([
|
|
|
1418
1416
|
|
|
1419
1417
|
- `cookie` **(Cookie | [Array][14]<Cookie>)** a cookie object or array of cookie objects.
|
|
1420
1418
|
|
|
1421
|
-
Returns **
|
|
1419
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1422
1420
|
|
|
1423
1421
|
### switchTo
|
|
1424
1422
|
|
|
@@ -1431,9 +1429,9 @@ I.switchTo(); // switch back to main page
|
|
|
1431
1429
|
|
|
1432
1430
|
#### Parameters
|
|
1433
1431
|
|
|
1434
|
-
- `locator` **([string][9]? | [object][
|
|
1432
|
+
- `locator` **([string][9]? | [object][10])** (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
1435
1433
|
|
|
1436
|
-
Returns **
|
|
1434
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1437
1435
|
|
|
1438
1436
|
### switchToNextTab
|
|
1439
1437
|
|
|
@@ -1476,10 +1474,10 @@ I.uncheckOption('agree', '//form');
|
|
|
1476
1474
|
|
|
1477
1475
|
#### Parameters
|
|
1478
1476
|
|
|
1479
|
-
- `field` **([string][9] | [object][
|
|
1480
|
-
- `context` **([string][9]? | [object][
|
|
1477
|
+
- `field` **([string][9] | [object][10])** checkbox located by label | name | CSS | XPath | strict locator.
|
|
1478
|
+
- `context` **([string][9]? | [object][10])** (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
1481
1479
|
|
|
1482
|
-
Returns **
|
|
1480
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1483
1481
|
|
|
1484
1482
|
### useProtractorTo
|
|
1485
1483
|
|
|
@@ -1499,7 +1497,7 @@ I.useProtractorTo('change url via in-page navigation', async ({ browser }) {
|
|
|
1499
1497
|
#### Parameters
|
|
1500
1498
|
|
|
1501
1499
|
- `description` **[string][9]** used to show in logs.
|
|
1502
|
-
- `fn` **[function][
|
|
1500
|
+
- `fn` **[function][12]** async functuion that executed with Protractor helper as argument
|
|
1503
1501
|
|
|
1504
1502
|
### wait
|
|
1505
1503
|
|
|
@@ -1513,7 +1511,7 @@ I.wait(2); // wait 2 secs
|
|
|
1513
1511
|
|
|
1514
1512
|
- `sec` **[number][7]** number of second to wait.
|
|
1515
1513
|
|
|
1516
|
-
Returns **
|
|
1514
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1517
1515
|
|
|
1518
1516
|
### waitForClickable
|
|
1519
1517
|
|
|
@@ -1539,10 +1537,10 @@ I.waitForDetached('#popup');
|
|
|
1539
1537
|
|
|
1540
1538
|
#### Parameters
|
|
1541
1539
|
|
|
1542
|
-
- `locator` **([string][9] | [object][
|
|
1540
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1543
1541
|
- `sec` **[number][7]** (optional, `1` by default) time in seconds to wait
|
|
1544
1542
|
|
|
1545
|
-
Returns **
|
|
1543
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1546
1544
|
|
|
1547
1545
|
### waitForElement
|
|
1548
1546
|
|
|
@@ -1556,10 +1554,10 @@ I.waitForElement('.btn.continue', 5); // wait for 5 secs
|
|
|
1556
1554
|
|
|
1557
1555
|
#### Parameters
|
|
1558
1556
|
|
|
1559
|
-
- `locator` **([string][9] | [object][
|
|
1557
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1560
1558
|
- `sec` **[number][7]?** (optional, `1` by default) time in seconds to wait
|
|
1561
1559
|
|
|
1562
|
-
Returns **
|
|
1560
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1563
1561
|
|
|
1564
1562
|
### waitForEnabled
|
|
1565
1563
|
|
|
@@ -1568,10 +1566,10 @@ Element can be located by CSS or XPath.
|
|
|
1568
1566
|
|
|
1569
1567
|
#### Parameters
|
|
1570
1568
|
|
|
1571
|
-
- `locator` **([string][9] | [object][
|
|
1569
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1572
1570
|
- `sec` **[number][7]** (optional) time in seconds to wait, 1 by default.
|
|
1573
1571
|
|
|
1574
|
-
Returns **
|
|
1572
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1575
1573
|
|
|
1576
1574
|
### waitForFunction
|
|
1577
1575
|
|
|
@@ -1590,11 +1588,11 @@ I.waitForFunction((count) => window.requests == count, [3], 5) // pass args and
|
|
|
1590
1588
|
|
|
1591
1589
|
#### Parameters
|
|
1592
1590
|
|
|
1593
|
-
- `fn` **([string][9] | [function][
|
|
1591
|
+
- `fn` **([string][9] | [function][12])** to be executed in browser context.
|
|
1594
1592
|
- `argsOrSec` **([Array][14]<any> | [number][7])?** (optional, `1` by default) arguments for function or seconds.
|
|
1595
1593
|
- `sec` **[number][7]?** (optional, `1` by default) time in seconds to wait
|
|
1596
1594
|
|
|
1597
|
-
Returns **
|
|
1595
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1598
1596
|
|
|
1599
1597
|
### waitForInvisible
|
|
1600
1598
|
|
|
@@ -1607,10 +1605,10 @@ I.waitForInvisible('#popup');
|
|
|
1607
1605
|
|
|
1608
1606
|
#### Parameters
|
|
1609
1607
|
|
|
1610
|
-
- `locator` **([string][9] | [object][
|
|
1608
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1611
1609
|
- `sec` **[number][7]** (optional, `1` by default) time in seconds to wait
|
|
1612
1610
|
|
|
1613
|
-
Returns **
|
|
1611
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1614
1612
|
|
|
1615
1613
|
### waitForText
|
|
1616
1614
|
|
|
@@ -1627,9 +1625,9 @@ I.waitForText('Thank you, form has been submitted', 5, '#modal');
|
|
|
1627
1625
|
|
|
1628
1626
|
- `text` **[string][9]** to wait for.
|
|
1629
1627
|
- `sec` **[number][7]** (optional, `1` by default) time in seconds to wait
|
|
1630
|
-
- `context` **([string][9] | [object][
|
|
1628
|
+
- `context` **([string][9] | [object][10])?** (optional) element located by CSS|XPath|strict locator.
|
|
1631
1629
|
|
|
1632
|
-
Returns **
|
|
1630
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1633
1631
|
|
|
1634
1632
|
### waitForValue
|
|
1635
1633
|
|
|
@@ -1641,11 +1639,11 @@ I.waitForValue('//input', "GoodValue");
|
|
|
1641
1639
|
|
|
1642
1640
|
#### Parameters
|
|
1643
1641
|
|
|
1644
|
-
- `field` **([string][9] | [object][
|
|
1642
|
+
- `field` **([string][9] | [object][10])** input field.
|
|
1645
1643
|
- `value` **[string][9]** expected value.
|
|
1646
1644
|
- `sec` **[number][7]** (optional, `1` by default) time in seconds to wait
|
|
1647
1645
|
|
|
1648
|
-
Returns **
|
|
1646
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1649
1647
|
|
|
1650
1648
|
### waitForVisible
|
|
1651
1649
|
|
|
@@ -1658,10 +1656,10 @@ I.waitForVisible('#popup');
|
|
|
1658
1656
|
|
|
1659
1657
|
#### Parameters
|
|
1660
1658
|
|
|
1661
|
-
- `locator` **([string][9] | [object][
|
|
1659
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1662
1660
|
- `sec` **[number][7]** (optional, `1` by default) time in seconds to wait
|
|
1663
1661
|
|
|
1664
|
-
Returns **
|
|
1662
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1665
1663
|
|
|
1666
1664
|
### waitInUrl
|
|
1667
1665
|
|
|
@@ -1676,7 +1674,7 @@ I.waitInUrl('/info', 2);
|
|
|
1676
1674
|
- `urlPart` **[string][9]** value to check.
|
|
1677
1675
|
- `sec` **[number][7]** (optional, `1` by default) time in seconds to wait
|
|
1678
1676
|
|
|
1679
|
-
Returns **
|
|
1677
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1680
1678
|
|
|
1681
1679
|
### waitNumberOfVisibleElements
|
|
1682
1680
|
|
|
@@ -1688,11 +1686,11 @@ I.waitNumberOfVisibleElements('a', 3);
|
|
|
1688
1686
|
|
|
1689
1687
|
#### Parameters
|
|
1690
1688
|
|
|
1691
|
-
- `locator` **([string][9] | [object][
|
|
1689
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1692
1690
|
- `num` **[number][7]** number of elements.
|
|
1693
1691
|
- `sec` **[number][7]** (optional, `1` by default) time in seconds to wait
|
|
1694
1692
|
|
|
1695
|
-
Returns **
|
|
1693
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1696
1694
|
|
|
1697
1695
|
### waitToHide
|
|
1698
1696
|
|
|
@@ -1705,10 +1703,10 @@ I.waitToHide('#popup');
|
|
|
1705
1703
|
|
|
1706
1704
|
#### Parameters
|
|
1707
1705
|
|
|
1708
|
-
- `locator` **([string][9] | [object][
|
|
1706
|
+
- `locator` **([string][9] | [object][10])** element located by CSS|XPath|strict locator.
|
|
1709
1707
|
- `sec` **[number][7]** (optional, `1` by default) time in seconds to wait
|
|
1710
1708
|
|
|
1711
|
-
Returns **
|
|
1709
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1712
1710
|
|
|
1713
1711
|
### waitUrlEquals
|
|
1714
1712
|
|
|
@@ -1724,7 +1722,7 @@ I.waitUrlEquals('http://127.0.0.1:8000/info');
|
|
|
1724
1722
|
- `urlPart` **[string][9]** value to check.
|
|
1725
1723
|
- `sec` **[number][7]** (optional, `1` by default) time in seconds to wait
|
|
1726
1724
|
|
|
1727
|
-
Returns **
|
|
1725
|
+
Returns **void** automatically synchronized promise through #recorder
|
|
1728
1726
|
|
|
1729
1727
|
## locator
|
|
1730
1728
|
|
|
@@ -1748,13 +1746,13 @@ just press button if no selector is given
|
|
|
1748
1746
|
|
|
1749
1747
|
[9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
1750
1748
|
|
|
1751
|
-
[10]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/
|
|
1749
|
+
[10]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
1752
1750
|
|
|
1753
|
-
[11]: https://
|
|
1751
|
+
[11]: https://vuejs.org/v2/api/#Vue-nextTick
|
|
1754
1752
|
|
|
1755
|
-
[12]: https://
|
|
1753
|
+
[12]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
|
|
1756
1754
|
|
|
1757
|
-
[13]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/
|
|
1755
|
+
[13]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
|
|
1758
1756
|
|
|
1759
1757
|
[14]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
|
|
1760
1758
|
|