codeceptjs 3.3.0 → 3.3.3
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 +50 -1
- package/README.md +6 -1
- package/docs/api.md +1 -1
- package/docs/bdd.md +1 -0
- package/docs/best.md +1 -1
- package/docs/build/ApiDataFactory.js +4 -3
- package/docs/build/Appium.js +21 -16
- package/docs/build/GraphQL.js +4 -2
- package/docs/build/GraphQLDataFactory.js +3 -3
- package/docs/build/JSONResponse.js +1 -1
- package/docs/build/Nightmare.js +54 -25
- package/docs/build/Playwright.js +105 -52
- package/docs/build/Protractor.js +72 -34
- package/docs/build/Puppeteer.js +80 -37
- package/docs/build/REST.js +5 -2
- package/docs/build/TestCafe.js +54 -23
- package/docs/build/WebDriver.js +115 -67
- package/docs/changelog.md +50 -1
- package/docs/custom-helpers.md +1 -1
- package/docs/data.md +2 -2
- package/docs/helpers/ApiDataFactory.md +7 -3
- package/docs/helpers/Appium.md +217 -175
- package/docs/helpers/GraphQL.md +6 -0
- package/docs/helpers/GraphQLDataFactory.md +3 -3
- package/docs/helpers/JSONResponse.md +1 -1
- package/docs/helpers/Nightmare.md +98 -45
- package/docs/helpers/Playwright.md +151 -59
- package/docs/helpers/Puppeteer.md +103 -26
- package/docs/helpers/REST.md +1 -1
- package/docs/helpers/TestCafe.md +77 -22
- package/docs/helpers/WebDriver.md +150 -62
- package/docs/index.md +1 -1
- package/docs/locators.md +1 -1
- package/docs/webapi/amOnPage.mustache +2 -1
- package/docs/webapi/appendField.mustache +2 -1
- package/docs/webapi/attachFile.mustache +2 -1
- package/docs/webapi/checkOption.mustache +2 -1
- package/docs/webapi/clearCookie.mustache +2 -1
- package/docs/webapi/clearField.mustache +1 -0
- package/docs/webapi/click.mustache +2 -1
- package/docs/webapi/clickLink.mustache +2 -1
- package/docs/webapi/closeCurrentTab.mustache +6 -4
- package/docs/webapi/closeOtherTabs.mustache +6 -4
- package/docs/webapi/dontSee.mustache +1 -0
- package/docs/webapi/dontSeeCheckboxIsChecked.mustache +1 -0
- package/docs/webapi/dontSeeCookie.mustache +2 -1
- package/docs/webapi/dontSeeCurrentUrlEquals.mustache +2 -1
- package/docs/webapi/dontSeeElement.mustache +2 -1
- package/docs/webapi/dontSeeElementInDOM.mustache +2 -1
- package/docs/webapi/dontSeeInCurrentUrl.mustache +2 -1
- package/docs/webapi/dontSeeInField.mustache +2 -1
- package/docs/webapi/dontSeeInSource.mustache +1 -0
- package/docs/webapi/dontSeeInTitle.mustache +2 -1
- package/docs/webapi/doubleClick.mustache +1 -0
- package/docs/webapi/downloadFile.mustache +2 -1
- package/docs/webapi/dragAndDrop.mustache +1 -0
- package/docs/webapi/dragSlider.mustache +2 -1
- package/docs/webapi/executeAsyncScript.mustache +1 -1
- package/docs/webapi/executeScript.mustache +1 -1
- package/docs/webapi/fillField.mustache +1 -0
- package/docs/webapi/forceClick.mustache +1 -0
- package/docs/webapi/forceRightClick.mustache +1 -0
- package/docs/webapi/grabDataFromPerformanceTiming.mustache +2 -1
- package/docs/webapi/moveCursorTo.mustache +1 -0
- package/docs/webapi/openNewTab.mustache +6 -4
- package/docs/webapi/pressKey.mustache +2 -1
- package/docs/webapi/pressKeyDown.mustache +1 -0
- package/docs/webapi/pressKeyUp.mustache +1 -0
- package/docs/webapi/pressKeyWithKeyNormalization.mustache +1 -0
- package/docs/webapi/refreshPage.mustache +1 -0
- package/docs/webapi/resizeWindow.mustache +2 -1
- package/docs/webapi/rightClick.mustache +1 -0
- package/docs/webapi/saveElementScreenshot.mustache +1 -0
- package/docs/webapi/saveScreenshot.mustache +2 -1
- package/docs/webapi/say.mustache +2 -1
- package/docs/webapi/scrollIntoView.mustache +1 -0
- package/docs/webapi/scrollPageToBottom.mustache +1 -0
- package/docs/webapi/scrollPageToTop.mustache +1 -0
- package/docs/webapi/scrollTo.mustache +2 -1
- package/docs/webapi/see.mustache +2 -1
- package/docs/webapi/seeAttributesOnElements.mustache +2 -1
- package/docs/webapi/seeCheckboxIsChecked.mustache +1 -0
- package/docs/webapi/seeCookie.mustache +1 -0
- package/docs/webapi/seeCssPropertiesOnElements.mustache +2 -1
- package/docs/webapi/seeCurrentUrlEquals.mustache +2 -1
- package/docs/webapi/seeElement.mustache +2 -1
- package/docs/webapi/seeElementInDOM.mustache +1 -0
- package/docs/webapi/seeInCurrentUrl.mustache +2 -1
- package/docs/webapi/seeInField.mustache +1 -0
- package/docs/webapi/seeInPopup.mustache +1 -0
- package/docs/webapi/seeInSource.mustache +2 -1
- package/docs/webapi/seeInTitle.mustache +2 -1
- package/docs/webapi/seeNumberOfElements.mustache +1 -0
- package/docs/webapi/seeNumberOfVisibleElements.mustache +1 -0
- package/docs/webapi/seeTextEquals.mustache +2 -1
- package/docs/webapi/seeTitleEquals.mustache +6 -5
- package/docs/webapi/selectOption.mustache +1 -0
- package/docs/webapi/setCookie.mustache +1 -0
- package/docs/webapi/setGeoLocation.mustache +1 -0
- package/docs/webapi/switchTo.mustache +2 -1
- package/docs/webapi/switchToNextTab.mustache +8 -7
- package/docs/webapi/switchToPreviousTab.mustache +8 -7
- package/docs/webapi/type.mustache +1 -0
- package/docs/webapi/uncheckOption.mustache +2 -1
- package/docs/webapi/wait.mustache +2 -1
- package/docs/webapi/waitForClickable.mustache +2 -1
- package/docs/webapi/waitForDetached.mustache +2 -1
- package/docs/webapi/waitForElement.mustache +2 -1
- package/docs/webapi/waitForEnabled.mustache +2 -1
- package/docs/webapi/waitForFunction.mustache +1 -0
- package/docs/webapi/waitForInvisible.mustache +2 -1
- package/docs/webapi/waitForText.mustache +2 -1
- package/docs/webapi/waitForValue.mustache +1 -0
- package/docs/webapi/waitForVisible.mustache +1 -0
- package/docs/webapi/waitInUrl.mustache +2 -1
- package/docs/webapi/waitNumberOfVisibleElements.mustache +2 -1
- package/docs/webapi/waitToHide.mustache +2 -1
- package/docs/webapi/waitUrlEquals.mustache +2 -1
- package/lib/cli.js +1 -1
- package/lib/command/definitions.js +9 -0
- package/lib/command/run-workers.js +1 -1
- package/lib/command/run.js +2 -2
- package/lib/command/workers/runTests.js +55 -0
- package/lib/helper/ApiDataFactory.js +4 -3
- package/lib/helper/Appium.js +2 -7
- package/lib/helper/GraphQL.js +4 -2
- package/lib/helper/GraphQLDataFactory.js +3 -3
- package/lib/helper/JSONResponse.js +1 -1
- package/lib/helper/Playwright.js +28 -17
- package/lib/helper/REST.js +5 -2
- package/lib/helper/WebDriver.js +4 -0
- package/lib/interfaces/bdd.js +5 -0
- package/lib/listener/steps.js +1 -0
- package/lib/output.js +4 -0
- package/lib/plugin/fakerTransform.js +1 -1
- package/lib/plugin/stepByStepReport.js +8 -6
- package/lib/workers.js +12 -0
- package/package.json +3 -3
- package/typings/types.d.ts +534 -112
package/docs/build/WebDriver.js
CHANGED
|
@@ -896,6 +896,7 @@ class WebDriver extends Helper {
|
|
|
896
896
|
* ```
|
|
897
897
|
*
|
|
898
898
|
* @param {string} url url path or global url.
|
|
899
|
+
* @return {void} automatically synchronized promise with recorder #!
|
|
899
900
|
*
|
|
900
901
|
*/
|
|
901
902
|
amOnPage(url) {
|
|
@@ -934,7 +935,8 @@ class WebDriver extends Helper {
|
|
|
934
935
|
* ```
|
|
935
936
|
*
|
|
936
937
|
* @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
937
|
-
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
938
|
+
* @param {?CodeceptJS.LocatorOrString | null} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
939
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
938
940
|
*
|
|
939
941
|
*
|
|
940
942
|
* {{ react }}
|
|
@@ -981,6 +983,7 @@ class WebDriver extends Helper {
|
|
|
981
983
|
*
|
|
982
984
|
* @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
983
985
|
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
986
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
984
987
|
*
|
|
985
988
|
*
|
|
986
989
|
* {{ react }}
|
|
@@ -1019,7 +1022,7 @@ class WebDriver extends Helper {
|
|
|
1019
1022
|
*
|
|
1020
1023
|
* @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
1021
1024
|
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
1022
|
-
*
|
|
1025
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1023
1026
|
*
|
|
1024
1027
|
* {{ react }}
|
|
1025
1028
|
*/
|
|
@@ -1051,7 +1054,7 @@ class WebDriver extends Helper {
|
|
|
1051
1054
|
*
|
|
1052
1055
|
* @param {CodeceptJS.LocatorOrString} locator clickable element located by CSS|XPath|strict locator.
|
|
1053
1056
|
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
1054
|
-
*
|
|
1057
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1055
1058
|
*
|
|
1056
1059
|
* {{ react }}
|
|
1057
1060
|
*/
|
|
@@ -1094,7 +1097,7 @@ class WebDriver extends Helper {
|
|
|
1094
1097
|
*
|
|
1095
1098
|
* @param {CodeceptJS.LocatorOrString} locator clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
1096
1099
|
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
1097
|
-
*
|
|
1100
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1098
1101
|
*
|
|
1099
1102
|
* {{ react }}
|
|
1100
1103
|
*/
|
|
@@ -1135,7 +1138,7 @@ class WebDriver extends Helper {
|
|
|
1135
1138
|
* ```
|
|
1136
1139
|
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1137
1140
|
* @param {CodeceptJS.StringOrSecret} value text value to fill.
|
|
1138
|
-
*
|
|
1141
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1139
1142
|
* {{ react }}
|
|
1140
1143
|
* {{ custom }}
|
|
1141
1144
|
*
|
|
@@ -1156,6 +1159,7 @@ class WebDriver extends Helper {
|
|
|
1156
1159
|
* ```
|
|
1157
1160
|
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator
|
|
1158
1161
|
* @param {string} value text value to append.
|
|
1162
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1159
1163
|
* {{ react }}
|
|
1160
1164
|
*/
|
|
1161
1165
|
async appendField(field, value) {
|
|
@@ -1174,7 +1178,7 @@ class WebDriver extends Helper {
|
|
|
1174
1178
|
* I.clearField('#email');
|
|
1175
1179
|
* ```
|
|
1176
1180
|
* @param {LocatorOrString} editable field located by label|name|CSS|XPath|strict locator.
|
|
1177
|
-
*
|
|
1181
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1178
1182
|
*
|
|
1179
1183
|
*/
|
|
1180
1184
|
async clearField(field) {
|
|
@@ -1205,7 +1209,7 @@ class WebDriver extends Helper {
|
|
|
1205
1209
|
* ```
|
|
1206
1210
|
* @param {LocatorOrString} select field located by label|name|CSS|XPath|strict locator.
|
|
1207
1211
|
* @param {string|Array<*>} option visible text or value of option.
|
|
1208
|
-
*
|
|
1212
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1209
1213
|
*/
|
|
1210
1214
|
async selectOption(select, option) {
|
|
1211
1215
|
const res = await findFields.call(this, select);
|
|
@@ -1248,6 +1252,7 @@ class WebDriver extends Helper {
|
|
|
1248
1252
|
*
|
|
1249
1253
|
* @param {CodeceptJS.LocatorOrString} locator field located by label|name|CSS|XPath|strict locator.
|
|
1250
1254
|
* @param {string} pathToFile local file path relative to codecept.json config file.
|
|
1255
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1251
1256
|
* Appium: not tested
|
|
1252
1257
|
*/
|
|
1253
1258
|
async attachFile(locator, pathToFile) {
|
|
@@ -1287,6 +1292,7 @@ class WebDriver extends Helper {
|
|
|
1287
1292
|
* ```
|
|
1288
1293
|
* @param {CodeceptJS.LocatorOrString} field checkbox located by label | name | CSS | XPath | strict locator.
|
|
1289
1294
|
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
1295
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1290
1296
|
* Appium: not tested
|
|
1291
1297
|
*/
|
|
1292
1298
|
async checkOption(field, context = null) {
|
|
@@ -1317,6 +1323,7 @@ class WebDriver extends Helper {
|
|
|
1317
1323
|
* ```
|
|
1318
1324
|
* @param {CodeceptJS.LocatorOrString} field checkbox located by label | name | CSS | XPath | strict locator.
|
|
1319
1325
|
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
1326
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1320
1327
|
* Appium: not tested
|
|
1321
1328
|
*/
|
|
1322
1329
|
async uncheckOption(field, context = null) {
|
|
@@ -1559,6 +1566,7 @@ class WebDriver extends Helper {
|
|
|
1559
1566
|
* ```
|
|
1560
1567
|
*
|
|
1561
1568
|
* @param {string} text text value to check.
|
|
1569
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1562
1570
|
*/
|
|
1563
1571
|
async seeInTitle(text) {
|
|
1564
1572
|
const title = await this.browser.getTitle();
|
|
@@ -1566,14 +1574,14 @@ class WebDriver extends Helper {
|
|
|
1566
1574
|
}
|
|
1567
1575
|
|
|
1568
1576
|
/**
|
|
1569
|
-
*
|
|
1570
|
-
*
|
|
1571
|
-
* ```js
|
|
1572
|
-
* I.seeTitleEquals('Test title.');
|
|
1573
|
-
* ```
|
|
1577
|
+
* Checks that title is equal to provided one.
|
|
1574
1578
|
*
|
|
1575
|
-
*
|
|
1579
|
+
* ```js
|
|
1580
|
+
* I.seeTitleEquals('Test title.');
|
|
1581
|
+
* ```
|
|
1576
1582
|
*
|
|
1583
|
+
* @param {string} text value to check.
|
|
1584
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1577
1585
|
*/
|
|
1578
1586
|
async seeTitleEquals(text) {
|
|
1579
1587
|
const title = await this.browser.getTitle();
|
|
@@ -1588,6 +1596,7 @@ class WebDriver extends Helper {
|
|
|
1588
1596
|
* ```
|
|
1589
1597
|
*
|
|
1590
1598
|
* @param {string} text value to check.
|
|
1599
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1591
1600
|
*/
|
|
1592
1601
|
async dontSeeInTitle(text) {
|
|
1593
1602
|
const title = await this.browser.getTitle();
|
|
@@ -1621,6 +1630,7 @@ class WebDriver extends Helper {
|
|
|
1621
1630
|
* ```
|
|
1622
1631
|
* @param {string} text expected on page.
|
|
1623
1632
|
* @param {?CodeceptJS.LocatorOrString} [context=null] (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
|
|
1633
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1624
1634
|
*
|
|
1625
1635
|
* {{ react }}
|
|
1626
1636
|
*/
|
|
@@ -1637,6 +1647,7 @@ class WebDriver extends Helper {
|
|
|
1637
1647
|
*
|
|
1638
1648
|
* @param {string} text element value to check.
|
|
1639
1649
|
* @param {CodeceptJS.LocatorOrString?} [context=null] element located by CSS|XPath|strict locator.
|
|
1650
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1640
1651
|
*/
|
|
1641
1652
|
async seeTextEquals(text, context = null) {
|
|
1642
1653
|
return proceedSee.call(this, 'assert', text, context, true);
|
|
@@ -1653,7 +1664,7 @@ class WebDriver extends Helper {
|
|
|
1653
1664
|
*
|
|
1654
1665
|
* @param {string} text which is not present.
|
|
1655
1666
|
* @param {CodeceptJS.LocatorOrString} [context] (optional) element located by CSS|XPath|strict locator in which to perfrom search.
|
|
1656
|
-
*
|
|
1667
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1657
1668
|
*
|
|
1658
1669
|
* {{ react }}
|
|
1659
1670
|
*/
|
|
@@ -1673,7 +1684,7 @@ class WebDriver extends Helper {
|
|
|
1673
1684
|
* ```
|
|
1674
1685
|
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1675
1686
|
* @param {string} value value to check.
|
|
1676
|
-
*
|
|
1687
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1677
1688
|
*
|
|
1678
1689
|
*/
|
|
1679
1690
|
async seeInField(field, value) {
|
|
@@ -1691,6 +1702,7 @@ class WebDriver extends Helper {
|
|
|
1691
1702
|
*
|
|
1692
1703
|
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1693
1704
|
* @param {string} value value to check.
|
|
1705
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1694
1706
|
*
|
|
1695
1707
|
*/
|
|
1696
1708
|
async dontSeeInField(field, value) {
|
|
@@ -1707,7 +1719,7 @@ class WebDriver extends Helper {
|
|
|
1707
1719
|
* ```
|
|
1708
1720
|
*
|
|
1709
1721
|
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1710
|
-
*
|
|
1722
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1711
1723
|
* Appium: not tested
|
|
1712
1724
|
*/
|
|
1713
1725
|
async seeCheckboxIsChecked(field) {
|
|
@@ -1724,7 +1736,7 @@ class WebDriver extends Helper {
|
|
|
1724
1736
|
* ```
|
|
1725
1737
|
*
|
|
1726
1738
|
* @param {CodeceptJS.LocatorOrString} field located by label|name|CSS|XPath|strict locator.
|
|
1727
|
-
*
|
|
1739
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1728
1740
|
* Appium: not tested
|
|
1729
1741
|
*/
|
|
1730
1742
|
async dontSeeCheckboxIsChecked(field) {
|
|
@@ -1739,6 +1751,7 @@ class WebDriver extends Helper {
|
|
|
1739
1751
|
* I.seeElement('#modal');
|
|
1740
1752
|
* ```
|
|
1741
1753
|
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
|
|
1754
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1742
1755
|
* {{ react }}
|
|
1743
1756
|
*
|
|
1744
1757
|
*/
|
|
@@ -1757,6 +1770,7 @@ class WebDriver extends Helper {
|
|
|
1757
1770
|
* ```
|
|
1758
1771
|
*
|
|
1759
1772
|
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|Strict locator.
|
|
1773
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1760
1774
|
* {{ react }}
|
|
1761
1775
|
*/
|
|
1762
1776
|
async dontSeeElement(locator) {
|
|
@@ -1776,7 +1790,7 @@ class WebDriver extends Helper {
|
|
|
1776
1790
|
* I.seeElementInDOM('#modal');
|
|
1777
1791
|
* ```
|
|
1778
1792
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1779
|
-
*
|
|
1793
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1780
1794
|
*
|
|
1781
1795
|
*/
|
|
1782
1796
|
async seeElementInDOM(locator) {
|
|
@@ -1792,6 +1806,7 @@ class WebDriver extends Helper {
|
|
|
1792
1806
|
* ```
|
|
1793
1807
|
*
|
|
1794
1808
|
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|Strict locator.
|
|
1809
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1795
1810
|
*
|
|
1796
1811
|
*/
|
|
1797
1812
|
async dontSeeElementInDOM(locator) {
|
|
@@ -1806,6 +1821,7 @@ class WebDriver extends Helper {
|
|
|
1806
1821
|
* I.seeInSource('<h1>Green eggs & ham</h1>');
|
|
1807
1822
|
* ```
|
|
1808
1823
|
* @param {string} text value to check.
|
|
1824
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1809
1825
|
*
|
|
1810
1826
|
*/
|
|
1811
1827
|
async seeInSource(text) {
|
|
@@ -1873,7 +1889,7 @@ class WebDriver extends Helper {
|
|
|
1873
1889
|
* ```
|
|
1874
1890
|
*
|
|
1875
1891
|
* @param {string} value to check.
|
|
1876
|
-
*
|
|
1892
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1877
1893
|
*/
|
|
1878
1894
|
async dontSeeInSource(text) {
|
|
1879
1895
|
const source = await this.browser.getPageSource();
|
|
@@ -1891,7 +1907,7 @@ class WebDriver extends Helper {
|
|
|
1891
1907
|
*
|
|
1892
1908
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1893
1909
|
* @param {number} num number of elements.
|
|
1894
|
-
*
|
|
1910
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1895
1911
|
* {{ react }}
|
|
1896
1912
|
*/
|
|
1897
1913
|
async seeNumberOfElements(locator, num) {
|
|
@@ -1909,7 +1925,7 @@ class WebDriver extends Helper {
|
|
|
1909
1925
|
*
|
|
1910
1926
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
1911
1927
|
* @param {number} num number of elements.
|
|
1912
|
-
*
|
|
1928
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1913
1929
|
* {{ react }}
|
|
1914
1930
|
*/
|
|
1915
1931
|
async seeNumberOfVisibleElements(locator, num) {
|
|
@@ -1926,6 +1942,7 @@ class WebDriver extends Helper {
|
|
|
1926
1942
|
*
|
|
1927
1943
|
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
|
|
1928
1944
|
* @param {object} cssProperties object with CSS properties and their values to check.
|
|
1945
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1929
1946
|
*/
|
|
1930
1947
|
async seeCssPropertiesOnElements(locator, cssProperties) {
|
|
1931
1948
|
const res = await this._locate(locator);
|
|
@@ -1968,6 +1985,7 @@ class WebDriver extends Helper {
|
|
|
1968
1985
|
*
|
|
1969
1986
|
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
|
|
1970
1987
|
* @param {object} attributes attributes and their values to check.
|
|
1988
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
1971
1989
|
*/
|
|
1972
1990
|
async seeAttributesOnElements(locator, attributes) {
|
|
1973
1991
|
const res = await this._locate(locator);
|
|
@@ -2021,6 +2039,7 @@ class WebDriver extends Helper {
|
|
|
2021
2039
|
* ```
|
|
2022
2040
|
*
|
|
2023
2041
|
* @param {string} url a fragment to check
|
|
2042
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2024
2043
|
*
|
|
2025
2044
|
*/
|
|
2026
2045
|
async seeInCurrentUrl(url) {
|
|
@@ -2032,6 +2051,7 @@ class WebDriver extends Helper {
|
|
|
2032
2051
|
* Checks that current url does not contain a provided fragment.
|
|
2033
2052
|
*
|
|
2034
2053
|
* @param {string} url value to check.
|
|
2054
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2035
2055
|
*
|
|
2036
2056
|
*/
|
|
2037
2057
|
async dontSeeInCurrentUrl(url) {
|
|
@@ -2050,6 +2070,7 @@ class WebDriver extends Helper {
|
|
|
2050
2070
|
* ```
|
|
2051
2071
|
*
|
|
2052
2072
|
* @param {string} url value to check.
|
|
2073
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2053
2074
|
*
|
|
2054
2075
|
*/
|
|
2055
2076
|
async seeCurrentUrlEquals(url) {
|
|
@@ -2067,6 +2088,7 @@ class WebDriver extends Helper {
|
|
|
2067
2088
|
* ```
|
|
2068
2089
|
*
|
|
2069
2090
|
* @param {string} url value to check.
|
|
2091
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2070
2092
|
*
|
|
2071
2093
|
*/
|
|
2072
2094
|
async dontSeeCurrentUrlEquals(url) {
|
|
@@ -2100,7 +2122,7 @@ class WebDriver extends Helper {
|
|
|
2100
2122
|
*
|
|
2101
2123
|
* @param {string|function} fn function to be executed in browser context.
|
|
2102
2124
|
* @param {...any} args to be passed to function.
|
|
2103
|
-
*
|
|
2125
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2104
2126
|
*
|
|
2105
2127
|
*
|
|
2106
2128
|
*
|
|
@@ -2134,7 +2156,7 @@ class WebDriver extends Helper {
|
|
|
2134
2156
|
*
|
|
2135
2157
|
* @param {string|function} fn function to be executed in browser context.
|
|
2136
2158
|
* @param {...any} args to be passed to function.
|
|
2137
|
-
*
|
|
2159
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2138
2160
|
*
|
|
2139
2161
|
*
|
|
2140
2162
|
*/
|
|
@@ -2153,7 +2175,7 @@ class WebDriver extends Helper {
|
|
|
2153
2175
|
*
|
|
2154
2176
|
* @param {LocatorOrString} locator located by CSS|XPath|strict locator.
|
|
2155
2177
|
* @param {ScrollIntoViewOptions} scrollIntoViewOptions see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView.
|
|
2156
|
-
*
|
|
2178
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2157
2179
|
*
|
|
2158
2180
|
*/
|
|
2159
2181
|
async scrollIntoView(locator, scrollIntoViewOptions) {
|
|
@@ -2175,6 +2197,7 @@ class WebDriver extends Helper {
|
|
|
2175
2197
|
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
|
|
2176
2198
|
* @param {number} [offsetX=0] (optional, `0` by default) X-axis offset.
|
|
2177
2199
|
* @param {number} [offsetY=0] (optional, `0` by default) Y-axis offset.
|
|
2200
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2178
2201
|
*
|
|
2179
2202
|
*/
|
|
2180
2203
|
async scrollTo(locator, offsetX = 0, offsetY = 0) {
|
|
@@ -2216,7 +2239,7 @@ class WebDriver extends Helper {
|
|
|
2216
2239
|
* @param {CodeceptJS.LocatorOrString} locator located by CSS|XPath|strict locator.
|
|
2217
2240
|
* @param {number} [offsetX=0] (optional, `0` by default) X-axis offset.
|
|
2218
2241
|
* @param {number} [offsetY=0] (optional, `0` by default) Y-axis offset.
|
|
2219
|
-
*
|
|
2242
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2220
2243
|
*/
|
|
2221
2244
|
async moveCursorTo(locator, xOffset, yOffset) {
|
|
2222
2245
|
const res = await this._locate(withStrictLocator(locator), true);
|
|
@@ -2236,7 +2259,7 @@ class WebDriver extends Helper {
|
|
|
2236
2259
|
*
|
|
2237
2260
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
2238
2261
|
* @param {string} fileName file name to save.
|
|
2239
|
-
*
|
|
2262
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2240
2263
|
*
|
|
2241
2264
|
*/
|
|
2242
2265
|
async saveElementScreenshot(locator, fileName) {
|
|
@@ -2262,6 +2285,7 @@ class WebDriver extends Helper {
|
|
|
2262
2285
|
*
|
|
2263
2286
|
* @param {string} fileName file name to save.
|
|
2264
2287
|
* @param {boolean} [fullPage=false] (optional, `false` by default) flag to enable fullscreen screenshot mode.
|
|
2288
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2265
2289
|
*/
|
|
2266
2290
|
async saveScreenshot(fileName, fullPage = false) {
|
|
2267
2291
|
const outputFile = screenshotOutputFolder(fileName);
|
|
@@ -2316,7 +2340,7 @@ class WebDriver extends Helper {
|
|
|
2316
2340
|
* ```
|
|
2317
2341
|
*
|
|
2318
2342
|
* @param {Cookie|Array<Cookie>} cookie a cookie object or array of cookie objects.
|
|
2319
|
-
*
|
|
2343
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2320
2344
|
*
|
|
2321
2345
|
*
|
|
2322
2346
|
* Uses Selenium's JSON [cookie
|
|
@@ -2336,6 +2360,7 @@ class WebDriver extends Helper {
|
|
|
2336
2360
|
* ```
|
|
2337
2361
|
*
|
|
2338
2362
|
* @param {?string} [cookie=null] (optional, `null` by default) cookie name
|
|
2363
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2339
2364
|
*/
|
|
2340
2365
|
async clearCookie(cookie) {
|
|
2341
2366
|
return this.browser.deleteCookies(cookie);
|
|
@@ -2349,7 +2374,7 @@ class WebDriver extends Helper {
|
|
|
2349
2374
|
* ```
|
|
2350
2375
|
*
|
|
2351
2376
|
* @param {string} name cookie name.
|
|
2352
|
-
*
|
|
2377
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2353
2378
|
*/
|
|
2354
2379
|
async seeCookie(name) {
|
|
2355
2380
|
const cookie = await this.browser.getCookies([name]);
|
|
@@ -2364,6 +2389,7 @@ class WebDriver extends Helper {
|
|
|
2364
2389
|
* ```
|
|
2365
2390
|
*
|
|
2366
2391
|
* @param {string} name cookie name.
|
|
2392
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2367
2393
|
*/
|
|
2368
2394
|
async dontSeeCookie(name) {
|
|
2369
2395
|
const cookie = await this.browser.getCookies([name]);
|
|
@@ -2459,7 +2485,7 @@ class WebDriver extends Helper {
|
|
|
2459
2485
|
* ```
|
|
2460
2486
|
*
|
|
2461
2487
|
* @param {string} key name of key to press down.
|
|
2462
|
-
*
|
|
2488
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2463
2489
|
*/
|
|
2464
2490
|
async pressKeyDown(key) {
|
|
2465
2491
|
key = getNormalizedKey.call(this, key);
|
|
@@ -2488,7 +2514,7 @@ class WebDriver extends Helper {
|
|
|
2488
2514
|
* ```
|
|
2489
2515
|
*
|
|
2490
2516
|
* @param {string} key name of key to release.
|
|
2491
|
-
*
|
|
2517
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2492
2518
|
*/
|
|
2493
2519
|
async pressKeyUp(key) {
|
|
2494
2520
|
key = getNormalizedKey.call(this, key);
|
|
@@ -2565,6 +2591,7 @@ class WebDriver extends Helper {
|
|
|
2565
2591
|
* - `'Tab'`
|
|
2566
2592
|
*
|
|
2567
2593
|
* @param {string|string[]} key key or array of keys to press.
|
|
2594
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2568
2595
|
*
|
|
2569
2596
|
*
|
|
2570
2597
|
* _Note:_ In case a text field or textarea is focused be aware that some browsers do not respect active modifier when combining modifier keys with other keys.
|
|
@@ -2625,7 +2652,7 @@ class WebDriver extends Helper {
|
|
|
2625
2652
|
*
|
|
2626
2653
|
* @param {string|string[]} key or array of keys to type.
|
|
2627
2654
|
* @param {?number} [delay=null] (optional) delay in ms between key presses
|
|
2628
|
-
*
|
|
2655
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2629
2656
|
*/
|
|
2630
2657
|
async type(keys, delay = null) {
|
|
2631
2658
|
if (!Array.isArray(keys)) {
|
|
@@ -2647,6 +2674,7 @@ class WebDriver extends Helper {
|
|
|
2647
2674
|
*
|
|
2648
2675
|
* @param {number} width width in pixels or `maximize`.
|
|
2649
2676
|
* @param {number} height height in pixels.
|
|
2677
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2650
2678
|
* Appium: not tested in web, in apps doesn't work
|
|
2651
2679
|
*/
|
|
2652
2680
|
async resizeWindow(width, height) {
|
|
@@ -2683,7 +2711,7 @@ class WebDriver extends Helper {
|
|
|
2683
2711
|
*
|
|
2684
2712
|
* @param {LocatorOrString} srcElement located by CSS|XPath|strict locator.
|
|
2685
2713
|
* @param {LocatorOrString} destElement located by CSS|XPath|strict locator.
|
|
2686
|
-
*
|
|
2714
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2687
2715
|
* Appium: not tested
|
|
2688
2716
|
*/
|
|
2689
2717
|
async dragAndDrop(srcElement, destElement) {
|
|
@@ -2709,6 +2737,7 @@ class WebDriver extends Helper {
|
|
|
2709
2737
|
*
|
|
2710
2738
|
* @param {CodeceptJS.LocatorOrString} locator located by label|name|CSS|XPath|strict locator.
|
|
2711
2739
|
* @param {number} offsetX position to drag.
|
|
2740
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2712
2741
|
*/
|
|
2713
2742
|
async dragSlider(locator, offsetX = 0) {
|
|
2714
2743
|
const browser = this.browser;
|
|
@@ -2788,13 +2817,14 @@ class WebDriver extends Helper {
|
|
|
2788
2817
|
}
|
|
2789
2818
|
|
|
2790
2819
|
/**
|
|
2791
|
-
*
|
|
2820
|
+
* Close all tabs except for the current one.
|
|
2792
2821
|
*
|
|
2793
2822
|
*
|
|
2794
|
-
*
|
|
2795
|
-
*
|
|
2796
|
-
*
|
|
2823
|
+
* ```js
|
|
2824
|
+
* I.closeOtherTabs();
|
|
2825
|
+
* ```
|
|
2797
2826
|
*
|
|
2827
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2798
2828
|
*/
|
|
2799
2829
|
async closeOtherTabs() {
|
|
2800
2830
|
const handles = await this.browser.getWindowHandles();
|
|
@@ -2816,6 +2846,7 @@ class WebDriver extends Helper {
|
|
|
2816
2846
|
* ```
|
|
2817
2847
|
*
|
|
2818
2848
|
* @param {number} sec number of second to wait.
|
|
2849
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2819
2850
|
*/
|
|
2820
2851
|
async wait(sec) {
|
|
2821
2852
|
return new Promise(resolve => setTimeout(resolve, sec * 1000));
|
|
@@ -2827,6 +2858,7 @@ class WebDriver extends Helper {
|
|
|
2827
2858
|
*
|
|
2828
2859
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
2829
2860
|
* @param {number} [sec=1] (optional) time in seconds to wait, 1 by default.
|
|
2861
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2830
2862
|
*/
|
|
2831
2863
|
async waitForEnabled(locator, sec = null) {
|
|
2832
2864
|
const aSec = sec || this.options.waitForTimeout;
|
|
@@ -2870,6 +2902,7 @@ class WebDriver extends Helper {
|
|
|
2870
2902
|
*
|
|
2871
2903
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
2872
2904
|
* @param {number} [sec] (optional, `1` by default) time in seconds to wait
|
|
2905
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2873
2906
|
*/
|
|
2874
2907
|
async waitForElement(locator, sec = null) {
|
|
2875
2908
|
const aSec = sec || this.options.waitForTimeout;
|
|
@@ -2896,6 +2929,7 @@ class WebDriver extends Helper {
|
|
|
2896
2929
|
*
|
|
2897
2930
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
2898
2931
|
* @param {number} [sec] (optional, `1` by default) time in seconds to wait
|
|
2932
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2899
2933
|
*/
|
|
2900
2934
|
async waitForClickable(locator, waitTimeout) {
|
|
2901
2935
|
waitTimeout = waitTimeout || this.options.waitForTimeout;
|
|
@@ -2918,6 +2952,7 @@ class WebDriver extends Helper {
|
|
|
2918
2952
|
*
|
|
2919
2953
|
* @param {string} urlPart value to check.
|
|
2920
2954
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
2955
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2921
2956
|
*/
|
|
2922
2957
|
async waitInUrl(urlPart, sec = null) {
|
|
2923
2958
|
const client = this.browser;
|
|
@@ -2961,6 +2996,7 @@ class WebDriver extends Helper {
|
|
|
2961
2996
|
*
|
|
2962
2997
|
* @param {string} urlPart value to check.
|
|
2963
2998
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
2999
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2964
3000
|
*/
|
|
2965
3001
|
async waitUrlEquals(urlPart, sec = null) {
|
|
2966
3002
|
const aSec = sec || this.options.waitForTimeout;
|
|
@@ -2995,6 +3031,7 @@ class WebDriver extends Helper {
|
|
|
2995
3031
|
* @param {string }text to wait for.
|
|
2996
3032
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
2997
3033
|
* @param {CodeceptJS.LocatorOrString} [context] (optional) element located by CSS|XPath|strict locator.
|
|
3034
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
2998
3035
|
*
|
|
2999
3036
|
*/
|
|
3000
3037
|
async waitForText(text, sec = null, context = null) {
|
|
@@ -3041,7 +3078,7 @@ class WebDriver extends Helper {
|
|
|
3041
3078
|
* @param {LocatorOrString} field input field.
|
|
3042
3079
|
* @param {string }value expected value.
|
|
3043
3080
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
3044
|
-
*
|
|
3081
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3045
3082
|
*/
|
|
3046
3083
|
async waitForValue(field, value, sec = null) {
|
|
3047
3084
|
const client = this.browser;
|
|
@@ -3086,7 +3123,7 @@ class WebDriver extends Helper {
|
|
|
3086
3123
|
*
|
|
3087
3124
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
3088
3125
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
3089
|
-
*
|
|
3126
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3090
3127
|
*
|
|
3091
3128
|
*/
|
|
3092
3129
|
async waitForVisible(locator, sec = null) {
|
|
@@ -3123,6 +3160,7 @@ class WebDriver extends Helper {
|
|
|
3123
3160
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
3124
3161
|
* @param {number} num number of elements.
|
|
3125
3162
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
3163
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3126
3164
|
*/
|
|
3127
3165
|
async waitNumberOfVisibleElements(locator, num, sec = null) {
|
|
3128
3166
|
const aSec = sec || this.options.waitForTimeout;
|
|
@@ -3158,6 +3196,7 @@ class WebDriver extends Helper {
|
|
|
3158
3196
|
*
|
|
3159
3197
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
3160
3198
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
3199
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3161
3200
|
*/
|
|
3162
3201
|
async waitForInvisible(locator, sec = null) {
|
|
3163
3202
|
const aSec = sec || this.options.waitForTimeout;
|
|
@@ -3187,6 +3226,7 @@ class WebDriver extends Helper {
|
|
|
3187
3226
|
*
|
|
3188
3227
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
3189
3228
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
3229
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3190
3230
|
*/
|
|
3191
3231
|
async waitToHide(locator, sec = null) {
|
|
3192
3232
|
return this.waitForInvisible(locator, sec);
|
|
@@ -3202,6 +3242,7 @@ class WebDriver extends Helper {
|
|
|
3202
3242
|
*
|
|
3203
3243
|
* @param {CodeceptJS.LocatorOrString} locator element located by CSS|XPath|strict locator.
|
|
3204
3244
|
* @param {number} [sec=1] (optional, `1` by default) time in seconds to wait
|
|
3245
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3205
3246
|
*/
|
|
3206
3247
|
async waitForDetached(locator, sec = null) {
|
|
3207
3248
|
const aSec = sec || this.options.waitForTimeout;
|
|
@@ -3240,7 +3281,7 @@ class WebDriver extends Helper {
|
|
|
3240
3281
|
* @param {string|function} fn to be executed in browser context.
|
|
3241
3282
|
* @param {any[]|number} [argsOrSec] (optional, `1` by default) arguments for function or seconds.
|
|
3242
3283
|
* @param {number} [sec] (optional, `1` by default) time in seconds to wait
|
|
3243
|
-
*
|
|
3284
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3244
3285
|
*/
|
|
3245
3286
|
async waitForFunction(fn, argsOrSec = null, sec = null) {
|
|
3246
3287
|
let args = [];
|
|
@@ -3268,6 +3309,7 @@ class WebDriver extends Helper {
|
|
|
3268
3309
|
* ```
|
|
3269
3310
|
*
|
|
3270
3311
|
* @param {?CodeceptJS.LocatorOrString} [locator=null] (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
3312
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3271
3313
|
*/
|
|
3272
3314
|
async switchTo(locator) {
|
|
3273
3315
|
this.browser.isInsideFrame = true;
|
|
@@ -3285,16 +3327,16 @@ class WebDriver extends Helper {
|
|
|
3285
3327
|
}
|
|
3286
3328
|
|
|
3287
3329
|
/**
|
|
3288
|
-
*
|
|
3330
|
+
* Switch focus to a particular tab by its number. It waits tabs loading and then switch tab.
|
|
3289
3331
|
*
|
|
3290
|
-
*
|
|
3291
|
-
*
|
|
3292
|
-
*
|
|
3293
|
-
*
|
|
3294
|
-
*
|
|
3295
|
-
* @param {number} [num] (optional) number of tabs to switch forward, default: 1.
|
|
3296
|
-
* @param {number | null} [sec] (optional) time in seconds to wait.
|
|
3332
|
+
* ```js
|
|
3333
|
+
* I.switchToNextTab();
|
|
3334
|
+
* I.switchToNextTab(2);
|
|
3335
|
+
* ```
|
|
3297
3336
|
*
|
|
3337
|
+
* @param {number} [num] (optional) number of tabs to switch forward, default: 1.
|
|
3338
|
+
* @param {number | null} [sec] (optional) time in seconds to wait.
|
|
3339
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3298
3340
|
*/
|
|
3299
3341
|
async switchToNextTab(num = 1, sec = null) {
|
|
3300
3342
|
const aSec = sec || this.options.waitForTimeout;
|
|
@@ -3325,16 +3367,16 @@ class WebDriver extends Helper {
|
|
|
3325
3367
|
}
|
|
3326
3368
|
|
|
3327
3369
|
/**
|
|
3328
|
-
*
|
|
3370
|
+
* Switch focus to a particular tab by its number. It waits tabs loading and then switch tab.
|
|
3329
3371
|
*
|
|
3330
|
-
*
|
|
3331
|
-
*
|
|
3332
|
-
*
|
|
3333
|
-
*
|
|
3334
|
-
*
|
|
3335
|
-
* @param {number} [num] (optional) number of tabs to switch backward, default: 1.
|
|
3336
|
-
* @param {number?} [sec] (optional) time in seconds to wait.
|
|
3372
|
+
* ```js
|
|
3373
|
+
* I.switchToPreviousTab();
|
|
3374
|
+
* I.switchToPreviousTab(2);
|
|
3375
|
+
* ```
|
|
3337
3376
|
*
|
|
3377
|
+
* @param {number} [num] (optional) number of tabs to switch backward, default: 1.
|
|
3378
|
+
* @param {number?} [sec] (optional) time in seconds to wait.
|
|
3379
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3338
3380
|
*/
|
|
3339
3381
|
async switchToPreviousTab(num = 1, sec = null) {
|
|
3340
3382
|
const aSec = sec || this.options.waitForTimeout;
|
|
@@ -3365,12 +3407,13 @@ class WebDriver extends Helper {
|
|
|
3365
3407
|
}
|
|
3366
3408
|
|
|
3367
3409
|
/**
|
|
3368
|
-
*
|
|
3410
|
+
* Close current tab.
|
|
3369
3411
|
*
|
|
3370
|
-
*
|
|
3371
|
-
*
|
|
3372
|
-
*
|
|
3412
|
+
* ```js
|
|
3413
|
+
* I.closeCurrentTab();
|
|
3414
|
+
* ```
|
|
3373
3415
|
*
|
|
3416
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3374
3417
|
*/
|
|
3375
3418
|
async closeCurrentTab() {
|
|
3376
3419
|
await this.browser.closeWindow();
|
|
@@ -3379,12 +3422,13 @@ class WebDriver extends Helper {
|
|
|
3379
3422
|
}
|
|
3380
3423
|
|
|
3381
3424
|
/**
|
|
3382
|
-
*
|
|
3425
|
+
* Open new tab and switch to it.
|
|
3383
3426
|
*
|
|
3384
|
-
*
|
|
3385
|
-
*
|
|
3386
|
-
*
|
|
3427
|
+
* ```js
|
|
3428
|
+
* I.openNewTab();
|
|
3429
|
+
* ```
|
|
3387
3430
|
*
|
|
3431
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3388
3432
|
*/
|
|
3389
3433
|
async openNewTab(url = 'about:blank', windowName = null) {
|
|
3390
3434
|
const client = this.browser;
|
|
@@ -3418,7 +3462,7 @@ class WebDriver extends Helper {
|
|
|
3418
3462
|
* ```js
|
|
3419
3463
|
* I.refreshPage();
|
|
3420
3464
|
* ```
|
|
3421
|
-
*
|
|
3465
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3422
3466
|
*/
|
|
3423
3467
|
async refreshPage() {
|
|
3424
3468
|
const client = this.browser;
|
|
@@ -3431,7 +3475,7 @@ class WebDriver extends Helper {
|
|
|
3431
3475
|
* ```js
|
|
3432
3476
|
* I.scrollPageToTop();
|
|
3433
3477
|
* ```
|
|
3434
|
-
*
|
|
3478
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3435
3479
|
*/
|
|
3436
3480
|
scrollPageToTop() {
|
|
3437
3481
|
const client = this.browser;
|
|
@@ -3448,7 +3492,7 @@ class WebDriver extends Helper {
|
|
|
3448
3492
|
* ```js
|
|
3449
3493
|
* I.scrollPageToBottom();
|
|
3450
3494
|
* ```
|
|
3451
|
-
*
|
|
3495
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3452
3496
|
*/
|
|
3453
3497
|
scrollPageToBottom() {
|
|
3454
3498
|
const client = this.browser;
|
|
@@ -3499,7 +3543,7 @@ class WebDriver extends Helper {
|
|
|
3499
3543
|
* @param {number} latitude to set.
|
|
3500
3544
|
* @param {number} longitude to set
|
|
3501
3545
|
* @param {number=} altitude (optional, null by default) to set
|
|
3502
|
-
*
|
|
3546
|
+
* [!] returns a _promise_ which is synchronized internally by recorder
|
|
3503
3547
|
*/
|
|
3504
3548
|
async setGeoLocation(latitude, longitude, altitude = null) {
|
|
3505
3549
|
if (altitude) {
|
|
@@ -3561,6 +3605,8 @@ class WebDriver extends Helper {
|
|
|
3561
3605
|
|
|
3562
3606
|
/**
|
|
3563
3607
|
* Placeholder for ~ locator only test case write once run on both Appium and WebDriver.
|
|
3608
|
+
* @param {*} caps
|
|
3609
|
+
* @param {*} fn
|
|
3564
3610
|
*/
|
|
3565
3611
|
/* eslint-disable */
|
|
3566
3612
|
runOnIOS(caps, fn) {
|
|
@@ -3568,6 +3614,8 @@ class WebDriver extends Helper {
|
|
|
3568
3614
|
|
|
3569
3615
|
/**
|
|
3570
3616
|
* Placeholder for ~ locator only test case write once run on both Appium and WebDriver.
|
|
3617
|
+
* @param {*} caps
|
|
3618
|
+
* @param {*} fn
|
|
3571
3619
|
*/
|
|
3572
3620
|
runOnAndroid(caps, fn) {
|
|
3573
3621
|
}
|