codeceptjs 3.1.0 → 3.2.0
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 +129 -3
- package/README.md +2 -3
- package/bin/codecept.js +1 -0
- package/docs/advanced.md +94 -60
- package/docs/basics.md +1 -1
- package/docs/bdd.md +55 -1
- package/docs/build/Appium.js +106 -34
- package/docs/build/FileSystem.js +1 -0
- package/docs/build/Nightmare.js +48 -48
- package/docs/build/Playwright.js +97 -94
- package/docs/build/Protractor.js +68 -81
- package/docs/build/Puppeteer.js +91 -93
- package/docs/build/REST.js +1 -0
- package/docs/build/TestCafe.js +44 -44
- package/docs/build/WebDriver.js +71 -95
- package/docs/changelog.md +144 -2
- package/docs/commands.md +21 -7
- package/docs/configuration.md +15 -2
- package/docs/custom-helpers.md +1 -36
- package/docs/helpers/Appium.md +97 -95
- package/docs/helpers/FileSystem.md +1 -1
- package/docs/helpers/Playwright.md +16 -18
- package/docs/helpers/Puppeteer.md +18 -18
- package/docs/helpers/REST.md +3 -1
- package/docs/helpers/WebDriver.md +3 -19
- package/docs/mobile-react-native-locators.md +3 -0
- package/docs/playwright.md +40 -0
- package/docs/plugins.md +185 -68
- package/docs/reports.md +23 -5
- package/lib/actor.js +20 -2
- package/lib/codecept.js +15 -2
- package/lib/command/info.js +1 -1
- package/lib/config.js +13 -1
- package/lib/container.js +3 -1
- package/lib/data/dataTableArgument.js +35 -0
- package/lib/helper/Appium.js +49 -4
- package/lib/helper/FileSystem.js +1 -0
- package/lib/helper/Playwright.js +35 -22
- package/lib/helper/Protractor.js +2 -14
- package/lib/helper/Puppeteer.js +20 -19
- package/lib/helper/REST.js +1 -0
- package/lib/helper/WebDriver.js +2 -16
- package/lib/index.js +2 -0
- package/lib/interfaces/featureConfig.js +3 -0
- package/lib/interfaces/gherkin.js +7 -1
- package/lib/interfaces/scenarioConfig.js +4 -0
- package/lib/listener/helpers.js +1 -0
- package/lib/listener/steps.js +21 -3
- package/lib/listener/timeout.js +71 -0
- package/lib/locator.js +3 -0
- package/lib/mochaFactory.js +13 -9
- package/lib/plugin/allure.js +6 -1
- package/lib/plugin/{puppeteerCoverage.js → coverage.js} +10 -22
- package/lib/plugin/customLocator.js +2 -2
- package/lib/plugin/retryTo.js +130 -0
- package/lib/plugin/screenshotOnFail.js +1 -0
- package/lib/plugin/stepByStepReport.js +7 -0
- package/lib/plugin/stepTimeout.js +90 -0
- package/lib/plugin/subtitles.js +88 -0
- package/lib/plugin/tryTo.js +1 -1
- package/lib/recorder.js +21 -8
- package/lib/step.js +7 -2
- package/lib/store.js +2 -0
- package/lib/ui.js +2 -2
- package/package.json +6 -7
- package/typings/index.d.ts +8 -1
- package/typings/types.d.ts +198 -82
- package/docs/angular.md +0 -325
- package/docs/helpers/Protractor.md +0 -1658
- package/docs/webapi/waitUntil.mustache +0 -11
- package/typings/Protractor.d.ts +0 -16
package/docs/build/Appium.js
CHANGED
|
@@ -481,10 +481,11 @@ class Appium extends Webdriver {
|
|
|
481
481
|
* ```js
|
|
482
482
|
* I.removeApp('appName', 'com.example.android.apis');
|
|
483
483
|
* ```
|
|
484
|
-
* @param {string} appId
|
|
485
|
-
* @param {string} bundleId String ID of bundle
|
|
486
484
|
*
|
|
487
485
|
* Appium: support only Android
|
|
486
|
+
*
|
|
487
|
+
* @param {string} appId
|
|
488
|
+
* @param {string} [bundleId] ID of bundle
|
|
488
489
|
*/
|
|
489
490
|
async removeApp(appId, bundleId) {
|
|
490
491
|
onlyForApps.call(this, 'Android');
|
|
@@ -820,9 +821,10 @@ class Appium extends Webdriver {
|
|
|
820
821
|
* I.hideDeviceKeyboard('pressKey', 'Done');
|
|
821
822
|
* ```
|
|
822
823
|
*
|
|
823
|
-
* @param {'tapOutside' | 'pressKey'} strategy desired strategy to close keyboard (‘tapOutside’ or ‘pressKey’)
|
|
824
|
-
*
|
|
825
824
|
* Appium: support Android and iOS
|
|
825
|
+
*
|
|
826
|
+
* @param {'tapOutside' | 'pressKey'} [strategy] Desired strategy to close keyboard (‘tapOutside’ or ‘pressKey’)
|
|
827
|
+
* @param {string} [key] Optional key
|
|
826
828
|
*/
|
|
827
829
|
async hideDeviceKeyboard(strategy, key) {
|
|
828
830
|
onlyForApps.call(this);
|
|
@@ -912,7 +914,7 @@ class Appium extends Webdriver {
|
|
|
912
914
|
*
|
|
913
915
|
* [See complete reference](http://webdriver.io/api/mobile/swipe.html)
|
|
914
916
|
*
|
|
915
|
-
* @param {
|
|
917
|
+
* @param {CodeceptJS.LocatorOrString} locator
|
|
916
918
|
* @param {number} xoffset
|
|
917
919
|
* @param {number} yoffset
|
|
918
920
|
* @param {number} [speed=1000] (optional), 1000 by default
|
|
@@ -966,7 +968,7 @@ class Appium extends Webdriver {
|
|
|
966
968
|
* I.swipeDown(locator, 1200, 1000); // set offset and speed
|
|
967
969
|
* ```
|
|
968
970
|
*
|
|
969
|
-
* @param {
|
|
971
|
+
* @param {CodeceptJS.LocatorOrString} locator
|
|
970
972
|
* @param {number} [yoffset] (optional)
|
|
971
973
|
* @param {number} [speed=1000] (optional), 1000 by default
|
|
972
974
|
*
|
|
@@ -994,7 +996,7 @@ class Appium extends Webdriver {
|
|
|
994
996
|
* I.swipeLeft(locator, 1200, 1000); // set offset and speed
|
|
995
997
|
* ```
|
|
996
998
|
*
|
|
997
|
-
* @param {
|
|
999
|
+
* @param {CodeceptJS.LocatorOrString} locator
|
|
998
1000
|
* @param {number} [xoffset] (optional)
|
|
999
1001
|
* @param {number} [speed=1000] (optional), 1000 by default
|
|
1000
1002
|
*
|
|
@@ -1020,7 +1022,7 @@ class Appium extends Webdriver {
|
|
|
1020
1022
|
* I.swipeRight(locator, 1200, 1000); // set offset and speed
|
|
1021
1023
|
* ```
|
|
1022
1024
|
*
|
|
1023
|
-
* @param {
|
|
1025
|
+
* @param {CodeceptJS.LocatorOrString} locator
|
|
1024
1026
|
* @param {number} [xoffset] (optional)
|
|
1025
1027
|
* @param {number} [speed=1000] (optional), 1000 by default
|
|
1026
1028
|
*
|
|
@@ -1046,7 +1048,7 @@ class Appium extends Webdriver {
|
|
|
1046
1048
|
* I.swipeUp(locator, 1200, 1000); // set offset and speed
|
|
1047
1049
|
* ```
|
|
1048
1050
|
*
|
|
1049
|
-
* @param {
|
|
1051
|
+
* @param {CodeceptJS.LocatorOrString} locator
|
|
1050
1052
|
* @param {number} [yoffset] (optional)
|
|
1051
1053
|
* @param {number} [speed=1000] (optional), 1000 by default
|
|
1052
1054
|
*
|
|
@@ -1162,6 +1164,8 @@ class Appium extends Webdriver {
|
|
|
1162
1164
|
* ```
|
|
1163
1165
|
*
|
|
1164
1166
|
* Appium: support Android and iOS
|
|
1167
|
+
*
|
|
1168
|
+
* @param {Array} actions Array of touch actions
|
|
1165
1169
|
*/
|
|
1166
1170
|
async touchPerform(actions) {
|
|
1167
1171
|
onlyForApps.call(this);
|
|
@@ -1270,7 +1274,7 @@ class Appium extends Webdriver {
|
|
|
1270
1274
|
* ```js
|
|
1271
1275
|
* I.appendField('#myTextField', 'appended');
|
|
1272
1276
|
* ```
|
|
1273
|
-
* @param {
|
|
1277
|
+
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator
|
|
1274
1278
|
* @param {string} value text value to append.
|
|
1275
1279
|
*
|
|
1276
1280
|
*/
|
|
@@ -1290,8 +1294,8 @@ class Appium extends Webdriver {
|
|
|
1290
1294
|
* I.checkOption('I Agree to Terms and Conditions');
|
|
1291
1295
|
* I.checkOption('agree', '//form');
|
|
1292
1296
|
* ```
|
|
1293
|
-
* @param {
|
|
1294
|
-
* @param {?
|
|
1297
|
+
* @param {CodeceptJS.LocatorOrString} field checkbox located by label | name | CSS | XPath | strict locator.
|
|
1298
|
+
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
1295
1299
|
*
|
|
1296
1300
|
*/
|
|
1297
1301
|
async checkOption(field) {
|
|
@@ -1322,8 +1326,8 @@ class Appium extends Webdriver {
|
|
|
1322
1326
|
* I.click({css: 'nav a.login'});
|
|
1323
1327
|
* ```
|
|
1324
1328
|
*
|
|
1325
|
-
* @param {
|
|
1326
|
-
* @param {?
|
|
1329
|
+
* @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
1330
|
+
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
1327
1331
|
*
|
|
1328
1332
|
*
|
|
1329
1333
|
*/
|
|
@@ -1341,7 +1345,7 @@ class Appium extends Webdriver {
|
|
|
1341
1345
|
* I.dontSeeCheckboxIsChecked('agree'); // located by name
|
|
1342
1346
|
* ```
|
|
1343
1347
|
*
|
|
1344
|
-
* @param {
|
|
1348
|
+
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1345
1349
|
*
|
|
1346
1350
|
*
|
|
1347
1351
|
*/
|
|
@@ -1357,7 +1361,7 @@ class Appium extends Webdriver {
|
|
|
1357
1361
|
* I.dontSeeElement('.modal'); // modal is not shown
|
|
1358
1362
|
* ```
|
|
1359
1363
|
*
|
|
1360
|
-
* @param {
|
|
1364
|
+
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|Strict locator.
|
|
1361
1365
|
*/
|
|
1362
1366
|
async dontSeeElement(locator) {
|
|
1363
1367
|
if (this.isWeb) return super.dontSeeElement(locator);
|
|
@@ -1373,7 +1377,7 @@ class Appium extends Webdriver {
|
|
|
1373
1377
|
* I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
|
|
1374
1378
|
* ```
|
|
1375
1379
|
*
|
|
1376
|
-
* @param {
|
|
1380
|
+
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1377
1381
|
* @param {string} value value to check.
|
|
1378
1382
|
*
|
|
1379
1383
|
*/
|
|
@@ -1392,7 +1396,7 @@ class Appium extends Webdriver {
|
|
|
1392
1396
|
* ```
|
|
1393
1397
|
*
|
|
1394
1398
|
* @param {string} text which is not present.
|
|
1395
|
-
* @param {
|
|
1399
|
+
* @param {CodeceptJS.LocatorOrString} [context] (optional) element located by CSS|XPath|strict locator in which to perfrom search.
|
|
1396
1400
|
*
|
|
1397
1401
|
*/
|
|
1398
1402
|
async dontSee(text, context = null) {
|
|
@@ -1414,8 +1418,8 @@ class Appium extends Webdriver {
|
|
|
1414
1418
|
* // or by strict locator
|
|
1415
1419
|
* I.fillField({css: 'form#login input[name=username]'}, 'John');
|
|
1416
1420
|
* ```
|
|
1417
|
-
* @param {
|
|
1418
|
-
* @param {
|
|
1421
|
+
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1422
|
+
* @param {CodeceptJS.StringOrSecret} value text value to fill.
|
|
1419
1423
|
*
|
|
1420
1424
|
*
|
|
1421
1425
|
*/
|
|
@@ -1433,7 +1437,7 @@ class Appium extends Webdriver {
|
|
|
1433
1437
|
* let pins = await I.grabTextFromAll('#pin li');
|
|
1434
1438
|
* ```
|
|
1435
1439
|
*
|
|
1436
|
-
* @param {
|
|
1440
|
+
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1437
1441
|
* @returns {Promise<string[]>} attribute value
|
|
1438
1442
|
*
|
|
1439
1443
|
*
|
|
@@ -1452,7 +1456,7 @@ class Appium extends Webdriver {
|
|
|
1452
1456
|
* ```
|
|
1453
1457
|
* If multiple elements found returns first element.
|
|
1454
1458
|
*
|
|
1455
|
-
* @param {
|
|
1459
|
+
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1456
1460
|
* @returns {Promise<string>} attribute value
|
|
1457
1461
|
*
|
|
1458
1462
|
*
|
|
@@ -1462,6 +1466,60 @@ class Appium extends Webdriver {
|
|
|
1462
1466
|
return super.grabTextFrom(parseLocator.call(this, locator));
|
|
1463
1467
|
}
|
|
1464
1468
|
|
|
1469
|
+
/**
|
|
1470
|
+
* Grab number of visible elements by locator.
|
|
1471
|
+
* Resumes test execution, so **should be used inside async function with `await`** operator.
|
|
1472
|
+
*
|
|
1473
|
+
* ```js
|
|
1474
|
+
* let numOfElements = await I.grabNumberOfVisibleElements('p');
|
|
1475
|
+
* ```
|
|
1476
|
+
*
|
|
1477
|
+
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
|
|
1478
|
+
* @returns {Promise<number>} number of visible elements
|
|
1479
|
+
*/
|
|
1480
|
+
async grabNumberOfVisibleElements(locator) {
|
|
1481
|
+
if (this.isWeb) return super.grabNumberOfVisibleElements(locator);
|
|
1482
|
+
return super.grabNumberOfVisibleElements(parseLocator.call(this, locator));
|
|
1483
|
+
}
|
|
1484
|
+
|
|
1485
|
+
/**
|
|
1486
|
+
* Can be used for apps only with several values ("contentDescription", "text", "className", "resourceId")
|
|
1487
|
+
*
|
|
1488
|
+
* Retrieves an attribute from an element located by CSS or XPath and returns it to test.
|
|
1489
|
+
* Resumes test execution, so **should be used inside async with `await`** operator.
|
|
1490
|
+
* If more than one element is found - attribute of first element is returned.
|
|
1491
|
+
*
|
|
1492
|
+
* ```js
|
|
1493
|
+
* let hint = await I.grabAttributeFrom('#tooltip', 'title');
|
|
1494
|
+
* ```
|
|
1495
|
+
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1496
|
+
* @param {string} attr attribute name.
|
|
1497
|
+
* @returns {Promise<string>} attribute value
|
|
1498
|
+
*
|
|
1499
|
+
*/
|
|
1500
|
+
async grabAttributeFrom(locator, attr) {
|
|
1501
|
+
if (this.isWeb) return super.grabAttributeFrom(locator, attr);
|
|
1502
|
+
return super.grabAttributeFrom(parseLocator.call(this, locator), attr);
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
/**
|
|
1506
|
+
* Can be used for apps only with several values ("contentDescription", "text", "className", "resourceId")
|
|
1507
|
+
* Retrieves an array of attributes from elements located by CSS or XPath and returns it to test.
|
|
1508
|
+
* Resumes test execution, so **should be used inside async with `await`** operator.
|
|
1509
|
+
*
|
|
1510
|
+
* ```js
|
|
1511
|
+
* let hints = await I.grabAttributeFromAll('.tooltip', 'title');
|
|
1512
|
+
* ```
|
|
1513
|
+
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1514
|
+
* @param {string} attr attribute name.
|
|
1515
|
+
* @returns {Promise<string[]>} attribute value
|
|
1516
|
+
*
|
|
1517
|
+
*/
|
|
1518
|
+
async grabAttributeFromAll(locator, attr) {
|
|
1519
|
+
if (this.isWeb) return super.grabAttributeFromAll(locator, attr);
|
|
1520
|
+
return super.grabAttributeFromAll(parseLocator.call(this, locator), attr);
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1465
1523
|
/**
|
|
1466
1524
|
* Retrieves an array of value from a form located by CSS or XPath and returns it to test.
|
|
1467
1525
|
* Resumes test execution, so **should be used inside async function with `await`** operator.
|
|
@@ -1469,7 +1527,7 @@ class Appium extends Webdriver {
|
|
|
1469
1527
|
* ```js
|
|
1470
1528
|
* let inputs = await I.grabValueFromAll('//form/input');
|
|
1471
1529
|
* ```
|
|
1472
|
-
* @param {
|
|
1530
|
+
* @param {CodeceptJS.LocatorOrString} locator field located by label|name|CSS|XPath|strict locator.
|
|
1473
1531
|
* @returns {Promise<string[]>} attribute value
|
|
1474
1532
|
*
|
|
1475
1533
|
*
|
|
@@ -1487,7 +1545,7 @@ class Appium extends Webdriver {
|
|
|
1487
1545
|
* ```js
|
|
1488
1546
|
* let email = await I.grabValueFrom('input[name=email]');
|
|
1489
1547
|
* ```
|
|
1490
|
-
* @param {
|
|
1548
|
+
* @param {CodeceptJS.LocatorOrString} locator field located by label|name|CSS|XPath|strict locator.
|
|
1491
1549
|
* @returns {Promise<string>} attribute value
|
|
1492
1550
|
*
|
|
1493
1551
|
*
|
|
@@ -1497,6 +1555,20 @@ class Appium extends Webdriver {
|
|
|
1497
1555
|
return super.grabValueFrom(parseLocator.call(this, locator));
|
|
1498
1556
|
}
|
|
1499
1557
|
|
|
1558
|
+
/**
|
|
1559
|
+
* Saves a screenshot to ouput folder (set in codecept.json or codecept.conf.js).
|
|
1560
|
+
* Filename is relative to output folder.
|
|
1561
|
+
*
|
|
1562
|
+
* ```js
|
|
1563
|
+
* I.saveScreenshot('debug.png');
|
|
1564
|
+
* ```
|
|
1565
|
+
*
|
|
1566
|
+
* @param {string} fileName file name to save.
|
|
1567
|
+
*/
|
|
1568
|
+
async saveScreenshot(fileName) {
|
|
1569
|
+
return super.saveScreenshot(fileName, false);
|
|
1570
|
+
}
|
|
1571
|
+
|
|
1500
1572
|
/**
|
|
1501
1573
|
* Scroll element into viewport.
|
|
1502
1574
|
*
|
|
@@ -1506,7 +1578,7 @@ class Appium extends Webdriver {
|
|
|
1506
1578
|
* I.scrollIntoView('#submit', { behavior: "smooth", block: "center", inline: "center" });
|
|
1507
1579
|
* ```
|
|
1508
1580
|
*
|
|
1509
|
-
* @param {
|
|
1581
|
+
* @param {LocatorOrString} locator located by CSS|XPath|strict locator.
|
|
1510
1582
|
* @param {ScrollIntoViewOptions} scrollIntoViewOptions see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView.
|
|
1511
1583
|
*
|
|
1512
1584
|
*
|
|
@@ -1525,7 +1597,7 @@ class Appium extends Webdriver {
|
|
|
1525
1597
|
* I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
|
|
1526
1598
|
* ```
|
|
1527
1599
|
*
|
|
1528
|
-
* @param {
|
|
1600
|
+
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1529
1601
|
*
|
|
1530
1602
|
*
|
|
1531
1603
|
*/
|
|
@@ -1541,7 +1613,7 @@ class Appium extends Webdriver {
|
|
|
1541
1613
|
* ```js
|
|
1542
1614
|
* I.seeElement('#modal');
|
|
1543
1615
|
* ```
|
|
1544
|
-
* @param {
|
|
1616
|
+
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
|
|
1545
1617
|
*
|
|
1546
1618
|
*/
|
|
1547
1619
|
async seeElement(locator) {
|
|
@@ -1559,7 +1631,7 @@ class Appium extends Webdriver {
|
|
|
1559
1631
|
* I.seeInField('form input[type=hidden]','hidden_value');
|
|
1560
1632
|
* I.seeInField('#searchform input','Search');
|
|
1561
1633
|
* ```
|
|
1562
|
-
* @param {
|
|
1634
|
+
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1563
1635
|
* @param {string} value value to check.
|
|
1564
1636
|
*
|
|
1565
1637
|
*
|
|
@@ -1579,7 +1651,7 @@ class Appium extends Webdriver {
|
|
|
1579
1651
|
* I.see('Register', {css: 'form.register'}); // use strict locator
|
|
1580
1652
|
* ```
|
|
1581
1653
|
* @param {string} text expected on page.
|
|
1582
|
-
* @param {?
|
|
1654
|
+
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
|
|
1583
1655
|
*
|
|
1584
1656
|
*/
|
|
1585
1657
|
async see(text, context) {
|
|
@@ -1606,7 +1678,7 @@ class Appium extends Webdriver {
|
|
|
1606
1678
|
* ```js
|
|
1607
1679
|
* I.selectOption('Which OS do you use?', ['Android', 'iOS']);
|
|
1608
1680
|
* ```
|
|
1609
|
-
* @param {
|
|
1681
|
+
* @param {LocatorOrString} select field located by label|name|CSS|XPath|strict locator.
|
|
1610
1682
|
* @param {string|Array<*>} option visible text or value of option.
|
|
1611
1683
|
*
|
|
1612
1684
|
*
|
|
@@ -1626,7 +1698,7 @@ class Appium extends Webdriver {
|
|
|
1626
1698
|
* I.waitForElement('.btn.continue', 5); // wait for 5 secs
|
|
1627
1699
|
* ```
|
|
1628
1700
|
*
|
|
1629
|
-
* @param {
|
|
1701
|
+
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1630
1702
|
* @param {number} [sec] (optional, `1` by default) time in seconds to wait
|
|
1631
1703
|
*
|
|
1632
1704
|
*/
|
|
@@ -1643,7 +1715,7 @@ class Appium extends Webdriver {
|
|
|
1643
1715
|
* I.waitForVisible('#popup');
|
|
1644
1716
|
* ```
|
|
1645
1717
|
*
|
|
1646
|
-
* @param {
|
|
1718
|
+
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1647
1719
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
1648
1720
|
*
|
|
1649
1721
|
*
|
|
@@ -1661,7 +1733,7 @@ class Appium extends Webdriver {
|
|
|
1661
1733
|
* I.waitForInvisible('#popup');
|
|
1662
1734
|
* ```
|
|
1663
1735
|
*
|
|
1664
|
-
* @param {
|
|
1736
|
+
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1665
1737
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
1666
1738
|
*
|
|
1667
1739
|
*/
|
|
@@ -1682,7 +1754,7 @@ class Appium extends Webdriver {
|
|
|
1682
1754
|
*
|
|
1683
1755
|
* @param {string }text to wait for.
|
|
1684
1756
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
1685
|
-
* @param {
|
|
1757
|
+
* @param {CodeceptJS.LocatorOrString} [context] (optional) element located by CSS|XPath|strict locator.
|
|
1686
1758
|
*
|
|
1687
1759
|
*/
|
|
1688
1760
|
async waitForText(text, sec = null, context = null) {
|