oxygen-cli 1.22.0 → 1.99.0-alpha.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 +0 -50
- package/build/core/OxygenCore.js +56 -145
- package/build/errors/OxygenError.js +5 -15
- package/build/errors/helper.js +45 -49
- package/build/index.js +14 -6
- package/build/lib/cli-util.js +19 -19
- package/build/lib/cli.js +4 -2
- package/build/lib/parallel-launcher.js +333 -0
- package/build/lib/param-manager.js +66 -47
- package/build/lib/util.js +38 -9
- package/build/ox_modules/index.js +1 -97
- package/build/ox_modules/module-assert.js +19 -9
- package/build/ox_modules/module-dns.js +220 -0
- package/build/ox_modules/module-http.js +39 -51
- package/build/ox_modules/module-shell.js +19 -75
- package/build/ox_modules/module-utils.js +1 -108
- package/build/ox_modules/utils.js +1 -357
- package/build/reporter/FileReporterBase.js +5 -5
- package/build/reporter/ReportAggregator.js +127 -4
- package/build/runners/WorkerProcess.js +15 -28
- package/build/runners/index.js +2 -6
- package/build/runners/oxygen/OxygenWorker.js +8 -8
- package/build/runners/oxygen/index.js +17 -18
- package/build/runners/oxygen/worker.js +10 -8
- package/package.json +12 -46
- package/build/lib/img-merge.js +0 -163
- package/build/ox_modules/module-db.js +0 -146
- package/build/ox_modules/module-email.js +0 -212
- package/build/ox_modules/module-eyes.js +0 -189
- package/build/ox_modules/module-mailinator.js +0 -207
- package/build/ox_modules/module-mob/commands/alertAccept.js +0 -35
- package/build/ox_modules/module-mob/commands/alertDismiss.js +0 -35
- package/build/ox_modules/module-mob/commands/assertAlert.js +0 -56
- package/build/ox_modules/module-mob/commands/assertText.js +0 -45
- package/build/ox_modules/module-mob/commands/assertTitle.js +0 -43
- package/build/ox_modules/module-mob/commands/assertValue.js +0 -66
- package/build/ox_modules/module-mob/commands/back.js +0 -27
- package/build/ox_modules/module-mob/commands/clear.js +0 -40
- package/build/ox_modules/module-mob/commands/click.js +0 -35
- package/build/ox_modules/module-mob/commands/clickHidden.js +0 -52
- package/build/ox_modules/module-mob/commands/clickLong.js +0 -34
- package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +0 -37
- package/build/ox_modules/module-mob/commands/closeApp.js +0 -27
- package/build/ox_modules/module-mob/commands/debug.js +0 -26
- package/build/ox_modules/module-mob/commands/dragAndDrop.js +0 -38
- package/build/ox_modules/module-mob/commands/enableNetwork.js +0 -75
- package/build/ox_modules/module-mob/commands/execute.js +0 -32
- package/build/ox_modules/module-mob/commands/findElement.js +0 -36
- package/build/ox_modules/module-mob/commands/findElements.js +0 -39
- package/build/ox_modules/module-mob/commands/getAlertText.js +0 -31
- package/build/ox_modules/module-mob/commands/getAppiumLogs.js +0 -26
- package/build/ox_modules/module-mob/commands/getBrowserLogs.js +0 -66
- package/build/ox_modules/module-mob/commands/getCurrentActivity.js +0 -26
- package/build/ox_modules/module-mob/commands/getCurrentPackage.js +0 -26
- package/build/ox_modules/module-mob/commands/getDeviceLogs.js +0 -57
- package/build/ox_modules/module-mob/commands/getDeviceTime.js +0 -27
- package/build/ox_modules/module-mob/commands/getLocation.js +0 -32
- package/build/ox_modules/module-mob/commands/getSource.js +0 -26
- package/build/ox_modules/module-mob/commands/getText.js +0 -36
- package/build/ox_modules/module-mob/commands/getTitle.js +0 -24
- package/build/ox_modules/module-mob/commands/getUrl.js +0 -28
- package/build/ox_modules/module-mob/commands/getValue.js +0 -50
- package/build/ox_modules/module-mob/commands/getWindowHandles.js +0 -27
- package/build/ox_modules/module-mob/commands/hideKeyboard.js +0 -33
- package/build/ox_modules/module-mob/commands/index.js +0 -594
- package/build/ox_modules/module-mob/commands/installApp.js +0 -28
- package/build/ox_modules/module-mob/commands/isAppInstalled.js +0 -28
- package/build/ox_modules/module-mob/commands/isCheckable.js +0 -31
- package/build/ox_modules/module-mob/commands/isChecked.js +0 -31
- package/build/ox_modules/module-mob/commands/isClickable.js +0 -31
- package/build/ox_modules/module-mob/commands/isExist.js +0 -36
- package/build/ox_modules/module-mob/commands/isSelected.js +0 -36
- package/build/ox_modules/module-mob/commands/isVisible.js +0 -36
- package/build/ox_modules/module-mob/commands/isWebViewContext.js +0 -27
- package/build/ox_modules/module-mob/commands/launchApp.js +0 -26
- package/build/ox_modules/module-mob/commands/longPressKeyCode.js +0 -30
- package/build/ox_modules/module-mob/commands/open.js +0 -43
- package/build/ox_modules/module-mob/commands/pause.js +0 -27
- package/build/ox_modules/module-mob/commands/removeApp.js +0 -28
- package/build/ox_modules/module-mob/commands/resetApp.js +0 -26
- package/build/ox_modules/module-mob/commands/scrollIntoElement.js +0 -86
- package/build/ox_modules/module-mob/commands/scrollIntoView.js +0 -40
- package/build/ox_modules/module-mob/commands/select.js +0 -54
- package/build/ox_modules/module-mob/commands/selectFrame.js +0 -53
- package/build/ox_modules/module-mob/commands/selectWindow.js +0 -149
- package/build/ox_modules/module-mob/commands/sendKeys.js +0 -84
- package/build/ox_modules/module-mob/commands/setContext.js +0 -28
- package/build/ox_modules/module-mob/commands/setNativeContext.js +0 -26
- package/build/ox_modules/module-mob/commands/setTimeout.js +0 -33
- package/build/ox_modules/module-mob/commands/setWebViewContext.js +0 -39
- package/build/ox_modules/module-mob/commands/shake.js +0 -27
- package/build/ox_modules/module-mob/commands/smsClickLink.js +0 -32
- package/build/ox_modules/module-mob/commands/smsGetText.js +0 -45
- package/build/ox_modules/module-mob/commands/swipe.js +0 -58
- package/build/ox_modules/module-mob/commands/swipeElement.js +0 -58
- package/build/ox_modules/module-mob/commands/swipeScreen.js +0 -56
- package/build/ox_modules/module-mob/commands/takeScreenshot.js +0 -27
- package/build/ox_modules/module-mob/commands/tap.js +0 -34
- package/build/ox_modules/module-mob/commands/type.js +0 -67
- package/build/ox_modules/module-mob/commands/unlockPattern.js +0 -92
- package/build/ox_modules/module-mob/commands/waitForExist.js +0 -29
- package/build/ox_modules/module-mob/commands/waitForInteractable.js +0 -42
- package/build/ox_modules/module-mob/commands/waitForVisible.js +0 -28
- package/build/ox_modules/module-mob.js +0 -699
- package/build/ox_modules/module-pdf.js +0 -328
- package/build/ox_modules/module-proxy.js +0 -324
- package/build/ox_modules/module-serial.js +0 -187
- package/build/ox_modules/module-soap.js +0 -260
- package/build/ox_modules/module-twilio.js +0 -192
- package/build/ox_modules/module-web/commands/alertAccept.js +0 -35
- package/build/ox_modules/module-web/commands/alertDismiss.js +0 -35
- package/build/ox_modules/module-web/commands/assertAlert.js +0 -55
- package/build/ox_modules/module-web/commands/assertExist.js +0 -28
- package/build/ox_modules/module-web/commands/assertSelectedLabel.js +0 -51
- package/build/ox_modules/module-web/commands/assertSelectedValue.js +0 -45
- package/build/ox_modules/module-web/commands/assertText.js +0 -45
- package/build/ox_modules/module-web/commands/assertTextNotPresent.js +0 -56
- package/build/ox_modules/module-web/commands/assertTextPresent.js +0 -52
- package/build/ox_modules/module-web/commands/assertTitle.js +0 -42
- package/build/ox_modules/module-web/commands/assertValue.js +0 -44
- package/build/ox_modules/module-web/commands/back.js +0 -27
- package/build/ox_modules/module-web/commands/clear.js +0 -41
- package/build/ox_modules/module-web/commands/click.js +0 -112
- package/build/ox_modules/module-web/commands/clickHidden.js +0 -79
- package/build/ox_modules/module-web/commands/closeWindow.js +0 -25
- package/build/ox_modules/module-web/commands/debug.js +0 -25
- package/build/ox_modules/module-web/commands/deleteCookies.js +0 -22
- package/build/ox_modules/module-web/commands/deselect.js +0 -34
- package/build/ox_modules/module-web/commands/doubleClick.js +0 -65
- package/build/ox_modules/module-web/commands/dragAndDrop.js +0 -36
- package/build/ox_modules/module-web/commands/execute.js +0 -36
- package/build/ox_modules/module-web/commands/fileBrowse.js +0 -72
- package/build/ox_modules/module-web/commands/findElement.js +0 -35
- package/build/ox_modules/module-web/commands/findElements.js +0 -38
- package/build/ox_modules/module-web/commands/fullscreenWindow.js +0 -24
- package/build/ox_modules/module-web/commands/getAlertText.js +0 -30
- package/build/ox_modules/module-web/commands/getAttribute.js +0 -38
- package/build/ox_modules/module-web/commands/getBrowserLogs.js +0 -34
- package/build/ox_modules/module-web/commands/getCookies.js +0 -23
- package/build/ox_modules/module-web/commands/getCssValue.js +0 -38
- package/build/ox_modules/module-web/commands/getElementCount.js +0 -29
- package/build/ox_modules/module-web/commands/getHTML.js +0 -30
- package/build/ox_modules/module-web/commands/getSource.js +0 -26
- package/build/ox_modules/module-web/commands/getText.js +0 -36
- package/build/ox_modules/module-web/commands/getTitle.js +0 -22
- package/build/ox_modules/module-web/commands/getUrl.js +0 -26
- package/build/ox_modules/module-web/commands/getValue.js +0 -43
- package/build/ox_modules/module-web/commands/getWindowHandles.js +0 -26
- package/build/ox_modules/module-web/commands/getWindowSize.js +0 -26
- package/build/ox_modules/module-web/commands/getXMLPageSource.js +0 -51
- package/build/ox_modules/module-web/commands/index.js +0 -634
- package/build/ox_modules/module-web/commands/isAlertPresent.js +0 -31
- package/build/ox_modules/module-web/commands/isChecked.js +0 -30
- package/build/ox_modules/module-web/commands/isExist.js +0 -36
- package/build/ox_modules/module-web/commands/isSelected.js +0 -35
- package/build/ox_modules/module-web/commands/isVisible.js +0 -36
- package/build/ox_modules/module-web/commands/makeVisible.js +0 -74
- package/build/ox_modules/module-web/commands/maximizeWindow.js +0 -24
- package/build/ox_modules/module-web/commands/minimizeWindow.js +0 -24
- package/build/ox_modules/module-web/commands/newWindow.js +0 -27
- package/build/ox_modules/module-web/commands/open.js +0 -42
- package/build/ox_modules/module-web/commands/pause.js +0 -26
- package/build/ox_modules/module-web/commands/point.js +0 -37
- package/build/ox_modules/module-web/commands/pointJS.js +0 -56
- package/build/ox_modules/module-web/commands/refresh.js +0 -26
- package/build/ox_modules/module-web/commands/rightClick.js +0 -61
- package/build/ox_modules/module-web/commands/rightClickActions.js +0 -57
- package/build/ox_modules/module-web/commands/scrollToElement.js +0 -33
- package/build/ox_modules/module-web/commands/select.js +0 -55
- package/build/ox_modules/module-web/commands/selectFrame.js +0 -52
- package/build/ox_modules/module-web/commands/selectWindow.js +0 -148
- package/build/ox_modules/module-web/commands/sendKeys.js +0 -56
- package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +0 -33
- package/build/ox_modules/module-web/commands/setTimeout.js +0 -33
- package/build/ox_modules/module-web/commands/setWindowSize.js +0 -29
- package/build/ox_modules/module-web/commands/takeScreenshot.js +0 -37
- package/build/ox_modules/module-web/commands/type.js +0 -52
- package/build/ox_modules/module-web/commands/waitForAngular.js +0 -83
- package/build/ox_modules/module-web/commands/waitForExist.js +0 -28
- package/build/ox_modules/module-web/commands/waitForInteractable.js +0 -31
- package/build/ox_modules/module-web/commands/waitForNotExist.js +0 -57
- package/build/ox_modules/module-web/commands/waitForNotText.js +0 -45
- package/build/ox_modules/module-web/commands/waitForNotValue.js +0 -45
- package/build/ox_modules/module-web/commands/waitForText.js +0 -45
- package/build/ox_modules/module-web/commands/waitForValue.js +0 -45
- package/build/ox_modules/module-web/commands/waitForVisible.js +0 -28
- package/build/ox_modules/module-web/commands/waitForWindow.js +0 -118
- package/build/ox_modules/module-web.js +0 -909
- package/build/ox_modules/module-win/commands/assertText.js +0 -41
- package/build/ox_modules/module-win/commands/assertTitle.js +0 -38
- package/build/ox_modules/module-win/commands/assertValue.js +0 -62
- package/build/ox_modules/module-win/commands/back.js +0 -21
- package/build/ox_modules/module-win/commands/clear.js +0 -34
- package/build/ox_modules/module-win/commands/click.js +0 -25
- package/build/ox_modules/module-win/commands/clickLong.js +0 -30
- package/build/ox_modules/module-win/commands/clickMultipleTimes.js +0 -33
- package/build/ox_modules/module-win/commands/findElement.js +0 -31
- package/build/ox_modules/module-win/commands/findElements.js +0 -31
- package/build/ox_modules/module-win/commands/getAppiumLogs.js +0 -22
- package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +0 -25
- package/build/ox_modules/module-win/commands/getLocation.js +0 -26
- package/build/ox_modules/module-win/commands/getSource.js +0 -22
- package/build/ox_modules/module-win/commands/getText.js +0 -32
- package/build/ox_modules/module-win/commands/getValue.js +0 -46
- package/build/ox_modules/module-win/commands/getWindowHandles.js +0 -25
- package/build/ox_modules/module-win/commands/index.js +0 -298
- package/build/ox_modules/module-win/commands/isCheckable.js +0 -26
- package/build/ox_modules/module-win/commands/isChecked.js +0 -26
- package/build/ox_modules/module-win/commands/isClickable.js +0 -26
- package/build/ox_modules/module-win/commands/isExist.js +0 -32
- package/build/ox_modules/module-win/commands/isSelected.js +0 -26
- package/build/ox_modules/module-win/commands/isVisible.js +0 -32
- package/build/ox_modules/module-win/commands/open.js +0 -24
- package/build/ox_modules/module-win/commands/pause.js +0 -23
- package/build/ox_modules/module-win/commands/rightClick.js +0 -30
- package/build/ox_modules/module-win/commands/selectWindow.js +0 -97
- package/build/ox_modules/module-win/commands/sendKeys.js +0 -50
- package/build/ox_modules/module-win/commands/setTimeout.js +0 -29
- package/build/ox_modules/module-win/commands/takeScreenshot.js +0 -26
- package/build/ox_modules/module-win/commands/tap.js +0 -29
- package/build/ox_modules/module-win/commands/type.js +0 -38
- package/build/ox_modules/module-win/commands/waitForExist.js +0 -25
- package/build/ox_modules/module-win/commands/waitForInteractable.js +0 -43
- package/build/ox_modules/module-win/commands/waitForVisible.js +0 -24
- package/build/ox_modules/module-win.js +0 -367
- package/build/ox_services/service-devtools/submodule-network.js +0 -338
- package/build/ox_services/service-devtools.js +0 -83
- package/build/runners/cucumber/CucumberEventListener.js +0 -181
- package/build/runners/cucumber/CucumberReporter.js +0 -277
- package/build/runners/cucumber/CucumberWorker.js +0 -337
- package/build/runners/cucumber/index.js +0 -159
- package/build/runners/cucumber/worker.js +0 -184
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Gets SMS text on Android phone.
|
|
16
|
-
* @description `SMSPopup` application must be installed and running on the device to use this command.
|
|
17
|
-
* https://github.com/oxygenhq/android-smspopup/releases
|
|
18
|
-
* @function smsGetText
|
|
19
|
-
* @param {Number=} timeout - Time in milliseconds to wait for sms popup. Default is 60 seconds.
|
|
20
|
-
* @return {String} - SMS text.
|
|
21
|
-
* @for android
|
|
22
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
23
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
24
|
-
* mob.click("id=sendSmS");// Clicks an element.
|
|
25
|
-
* var a = mob.smsGetText(60000);//Gets SMS text on Android phone.
|
|
26
|
-
*/
|
|
27
|
-
module.exports = async function (timeout) {
|
|
28
|
-
this.helpers.assertArgumentTimeout(timeout, 'timeout');
|
|
29
|
-
await this.helpers.assertContext(this.helpers.contextList.android);
|
|
30
|
-
var locSms = 'id=android:id/message';
|
|
31
|
-
var locSmsClose = 'id=android:id/button2';
|
|
32
|
-
await this.waitForExist(locSms, timeout);
|
|
33
|
-
var sms = await this.findElement(locSms);
|
|
34
|
-
var text = null;
|
|
35
|
-
|
|
36
|
-
if (sms) {
|
|
37
|
-
text = sms.getText();
|
|
38
|
-
} // timeout doesn't really matter here since if popup is open close button will always exist
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
await this.waitForExist(locSmsClose);
|
|
42
|
-
await this.click(locSmsClose);
|
|
43
|
-
return text;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc21zR2V0VGV4dC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudFRpbWVvdXQiLCJhc3NlcnRDb250ZXh0IiwiY29udGV4dExpc3QiLCJhbmRyb2lkIiwibG9jU21zIiwibG9jU21zQ2xvc2UiLCJ3YWl0Rm9yRXhpc3QiLCJzbXMiLCJmaW5kRWxlbWVudCIsInRleHQiLCJnZXRUZXh0IiwiY2xpY2siXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsT0FBZixFQUF3QjtBQUNyQyxPQUFLQyxPQUFMLENBQWFDLHFCQUFiLENBQW1DRixPQUFuQyxFQUE0QyxTQUE1QztBQUNBLFFBQU0sS0FBS0MsT0FBTCxDQUFhRSxhQUFiLENBQTJCLEtBQUtGLE9BQUwsQ0FBYUcsV0FBYixDQUF5QkMsT0FBcEQsQ0FBTjtBQUVBLE1BQUlDLE1BQU0sR0FBRyx1QkFBYjtBQUNBLE1BQUlDLFdBQVcsR0FBRyx1QkFBbEI7QUFFQSxRQUFNLEtBQUtDLFlBQUwsQ0FBa0JGLE1BQWxCLEVBQTBCTixPQUExQixDQUFOO0FBRUEsTUFBSVMsR0FBRyxHQUFHLE1BQU0sS0FBS0MsV0FBTCxDQUFpQkosTUFBakIsQ0FBaEI7QUFFQSxNQUFJSyxJQUFJLEdBQUcsSUFBWDs7QUFDQSxNQUFJRixHQUFKLEVBQVM7QUFDTEUsSUFBQUEsSUFBSSxHQUFHRixHQUFHLENBQUNHLE9BQUosRUFBUDtBQUNILEdBZG9DLENBZXJDOzs7QUFDQSxRQUFNLEtBQUtKLFlBQUwsQ0FBa0JELFdBQWxCLENBQU47QUFDQSxRQUFNLEtBQUtNLEtBQUwsQ0FBV04sV0FBWCxDQUFOO0FBQ0EsU0FBT0ksSUFBUDtBQUNILENBbkJEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgR2V0cyBTTVMgdGV4dCBvbiBBbmRyb2lkIHBob25lLlxyXG4gKiBAZGVzY3JpcHRpb24gYFNNU1BvcHVwYCBhcHBsaWNhdGlvbiBtdXN0IGJlIGluc3RhbGxlZCBhbmQgcnVubmluZyBvbiB0aGUgZGV2aWNlIHRvIHVzZSB0aGlzIGNvbW1hbmQuXHJcbiAqICAgICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vb3h5Z2VuaHEvYW5kcm9pZC1zbXNwb3B1cC9yZWxlYXNlc1xyXG4gKiBAZnVuY3Rpb24gc21zR2V0VGV4dFxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lIGluIG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciBzbXMgcG9wdXAuIERlZmF1bHQgaXMgNjAgc2Vjb25kcy5cclxuICogQHJldHVybiB7U3RyaW5nfSAtIFNNUyB0ZXh0LlxyXG4gKiBAZm9yIGFuZHJvaWRcclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIG1vYi5pbml0KGNhcHMpOy8vU3RhcnRzIGEgbW9iaWxlIHNlc3Npb24gYW5kIG9wZW5zIGFwcCBmcm9tIGRlc2lyZWQgY2FwYWJpbGl0aWVzXHJcbiAqIG1vYi5jbGljayhcImlkPXNlbmRTbVNcIik7Ly8gQ2xpY2tzIGFuIGVsZW1lbnQuXHJcbiAqIHZhciBhID0gbW9iLnNtc0dldFRleHQoNjAwMDApOy8vR2V0cyBTTVMgdGV4dCBvbiBBbmRyb2lkIHBob25lLlxyXG4qL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuICAgIGF3YWl0IHRoaXMuaGVscGVycy5hc3NlcnRDb250ZXh0KHRoaXMuaGVscGVycy5jb250ZXh0TGlzdC5hbmRyb2lkKTtcclxuXHJcbiAgICB2YXIgbG9jU21zID0gJ2lkPWFuZHJvaWQ6aWQvbWVzc2FnZSc7XHJcbiAgICB2YXIgbG9jU21zQ2xvc2UgPSAnaWQ9YW5kcm9pZDppZC9idXR0b24yJztcclxuXHJcbiAgICBhd2FpdCB0aGlzLndhaXRGb3JFeGlzdChsb2NTbXMsIHRpbWVvdXQpO1xyXG5cclxuICAgIHZhciBzbXMgPSBhd2FpdCB0aGlzLmZpbmRFbGVtZW50KGxvY1Ntcyk7XHJcblxyXG4gICAgdmFyIHRleHQgPSBudWxsO1xyXG4gICAgaWYgKHNtcykge1xyXG4gICAgICAgIHRleHQgPSBzbXMuZ2V0VGV4dCgpO1xyXG4gICAgfVxyXG4gICAgLy8gdGltZW91dCBkb2Vzbid0IHJlYWxseSBtYXR0ZXIgaGVyZSBzaW5jZSBpZiBwb3B1cCBpcyBvcGVuIGNsb3NlIGJ1dHRvbiB3aWxsIGFsd2F5cyBleGlzdFxyXG4gICAgYXdhaXQgdGhpcy53YWl0Rm9yRXhpc3QobG9jU21zQ2xvc2UpO1xyXG4gICAgYXdhaXQgdGhpcy5jbGljayhsb2NTbXNDbG9zZSk7XHJcbiAgICByZXR1cm4gdGV4dDtcclxufTtcclxuIl19
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Perform a swipe on an element.
|
|
16
|
-
* @function swipe
|
|
17
|
-
* @param {String|Element} locator - Locator of the element to swipe on.
|
|
18
|
-
* @param {Number=} xoffset - Horizontal offset (positive - scroll right, negative - scroll left). Default is 0.
|
|
19
|
-
* @param {Number=} yoffset - Vertical offset (positive - scroll down, negative - scroll up). Default is 30.
|
|
20
|
-
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
21
|
-
* @param {Number=} duration - Duration of swipe. Default is 3000 (3sec)
|
|
22
|
-
* @for android, ios
|
|
23
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
25
|
-
* mob.swipe("id=Element",-60,0,150);//Perform a swipe on the screen or an element.
|
|
26
|
-
*/
|
|
27
|
-
module.exports = async function (locator, xoffset = 0, yoffset = 30, timeout, duration = 3000) {
|
|
28
|
-
this.helpers.assertArgument(locator, 'locator');
|
|
29
|
-
this.helpers.assertArgumentNumber(xoffset, 'xoffset');
|
|
30
|
-
this.helpers.assertArgumentNumber(yoffset, 'yoffset');
|
|
31
|
-
this.helpers.assertArgumentTimeout(timeout, 'timeout');
|
|
32
|
-
this.helpers.assertArgumentNumber(duration, 'duration');
|
|
33
|
-
await this.helpers.assertContext(this.helpers.contextList.android, this.helpers.contextList.ios);
|
|
34
|
-
var el = await this.helpers.getElement(locator, false, timeout);
|
|
35
|
-
const location = await el.getLocation();
|
|
36
|
-
return await this.driver.touchPerform([{
|
|
37
|
-
action: 'press',
|
|
38
|
-
options: {
|
|
39
|
-
x: location.x,
|
|
40
|
-
y: location.y
|
|
41
|
-
}
|
|
42
|
-
}, {
|
|
43
|
-
action: 'wait',
|
|
44
|
-
options: {
|
|
45
|
-
ms: duration
|
|
46
|
-
}
|
|
47
|
-
}, {
|
|
48
|
-
action: 'moveTo',
|
|
49
|
-
options: {
|
|
50
|
-
x: xoffset,
|
|
51
|
-
y: yoffset
|
|
52
|
-
}
|
|
53
|
-
}, {
|
|
54
|
-
action: 'release',
|
|
55
|
-
options: {}
|
|
56
|
-
}]);
|
|
57
|
-
};
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc3dpcGUuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImxvY2F0b3IiLCJ4b2Zmc2V0IiwieW9mZnNldCIsInRpbWVvdXQiLCJkdXJhdGlvbiIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudCIsImFzc2VydEFyZ3VtZW50TnVtYmVyIiwiYXNzZXJ0QXJndW1lbnRUaW1lb3V0IiwiYXNzZXJ0Q29udGV4dCIsImNvbnRleHRMaXN0IiwiYW5kcm9pZCIsImlvcyIsImVsIiwiZ2V0RWxlbWVudCIsImxvY2F0aW9uIiwiZ2V0TG9jYXRpb24iLCJkcml2ZXIiLCJ0b3VjaFBlcmZvcm0iLCJhY3Rpb24iLCJvcHRpb25zIiwieCIsInkiLCJtcyJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxPQUFmLEVBQXdCQyxPQUFPLEdBQUcsQ0FBbEMsRUFBcUNDLE9BQU8sR0FBRyxFQUEvQyxFQUFtREMsT0FBbkQsRUFBNERDLFFBQVEsR0FBRyxJQUF2RSxFQUE2RTtBQUMxRixPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJOLE9BQTVCLEVBQXFDLFNBQXJDO0FBQ0EsT0FBS0ssT0FBTCxDQUFhRSxvQkFBYixDQUFrQ04sT0FBbEMsRUFBMkMsU0FBM0M7QUFDQSxPQUFLSSxPQUFMLENBQWFFLG9CQUFiLENBQWtDTCxPQUFsQyxFQUEyQyxTQUEzQztBQUNBLE9BQUtHLE9BQUwsQ0FBYUcscUJBQWIsQ0FBbUNMLE9BQW5DLEVBQTRDLFNBQTVDO0FBQ0EsT0FBS0UsT0FBTCxDQUFhRSxvQkFBYixDQUFrQ0gsUUFBbEMsRUFBNEMsVUFBNUM7QUFDQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUksYUFBYixDQUEyQixLQUFLSixPQUFMLENBQWFLLFdBQWIsQ0FBeUJDLE9BQXBELEVBQTZELEtBQUtOLE9BQUwsQ0FBYUssV0FBYixDQUF5QkUsR0FBdEYsQ0FBTjtBQUVBLE1BQUlDLEVBQUUsR0FBRyxNQUFNLEtBQUtSLE9BQUwsQ0FBYVMsVUFBYixDQUF3QmQsT0FBeEIsRUFBaUMsS0FBakMsRUFBd0NHLE9BQXhDLENBQWY7QUFFQSxRQUFNWSxRQUFRLEdBQUcsTUFBTUYsRUFBRSxDQUFDRyxXQUFILEVBQXZCO0FBRUEsU0FBTyxNQUFNLEtBQUtDLE1BQUwsQ0FBWUMsWUFBWixDQUF5QixDQUNsQztBQUNJQyxJQUFBQSxNQUFNLEVBQUUsT0FEWjtBQUVJQyxJQUFBQSxPQUFPLEVBQUU7QUFDTEMsTUFBQUEsQ0FBQyxFQUFFTixRQUFRLENBQUNNLENBRFA7QUFFTEMsTUFBQUEsQ0FBQyxFQUFFUCxRQUFRLENBQUNPO0FBRlA7QUFGYixHQURrQyxFQVFsQztBQUNJSCxJQUFBQSxNQUFNLEVBQUUsTUFEWjtBQUVJQyxJQUFBQSxPQUFPLEVBQUU7QUFDTEcsTUFBQUEsRUFBRSxFQUFFbkI7QUFEQztBQUZiLEdBUmtDLEVBY2xDO0FBQ0llLElBQUFBLE1BQU0sRUFBRSxRQURaO0FBRUlDLElBQUFBLE9BQU8sRUFBRTtBQUNMQyxNQUFBQSxDQUFDLEVBQUVwQixPQURFO0FBRUxxQixNQUFBQSxDQUFDLEVBQUVwQjtBQUZFO0FBRmIsR0Fka0MsRUFxQmxDO0FBQ0lpQixJQUFBQSxNQUFNLEVBQUUsU0FEWjtBQUVJQyxJQUFBQSxPQUFPLEVBQUU7QUFGYixHQXJCa0MsQ0FBekIsQ0FBYjtBQTBCSCxDQXRDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFBlcmZvcm0gYSBzd2lwZSBvbiBhbiBlbGVtZW50LlxyXG4gKiBAZnVuY3Rpb24gc3dpcGVcclxuICogQHBhcmFtIHtTdHJpbmd8RWxlbWVudH0gbG9jYXRvciAtIExvY2F0b3Igb2YgdGhlIGVsZW1lbnQgdG8gc3dpcGUgb24uXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0geG9mZnNldCAtIEhvcml6b250YWwgb2Zmc2V0IChwb3NpdGl2ZSAtIHNjcm9sbCByaWdodCwgbmVnYXRpdmUgLSBzY3JvbGwgbGVmdCkuIERlZmF1bHQgaXMgMC5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB5b2Zmc2V0IC0gVmVydGljYWwgb2Zmc2V0IChwb3NpdGl2ZSAtIHNjcm9sbCBkb3duLCBuZWdhdGl2ZSAtIHNjcm9sbCB1cCkuIERlZmF1bHQgaXMgMzAuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gZHVyYXRpb24gLSBEdXJhdGlvbiBvZiBzd2lwZS4gRGVmYXVsdCBpcyAzMDAwICgzc2VjKVxyXG4gKiBAZm9yIGFuZHJvaWQsIGlvc1xyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogbW9iLmluaXQoY2Fwcyk7Ly9TdGFydHMgYSBtb2JpbGUgc2Vzc2lvbiBhbmQgb3BlbnMgYXBwIGZyb20gZGVzaXJlZCBjYXBhYmlsaXRpZXNcclxuICogbW9iLnN3aXBlKFwiaWQ9RWxlbWVudFwiLC02MCwwLDE1MCk7Ly9QZXJmb3JtIGEgc3dpcGUgb24gdGhlIHNjcmVlbiBvciBhbiBlbGVtZW50LlxyXG4qL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKGxvY2F0b3IsIHhvZmZzZXQgPSAwLCB5b2Zmc2V0ID0gMzAsIHRpbWVvdXQsIGR1cmF0aW9uID0gMzAwMCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50KGxvY2F0b3IsICdsb2NhdG9yJyk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROdW1iZXIoeG9mZnNldCwgJ3hvZmZzZXQnKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudE51bWJlcih5b2Zmc2V0LCAneW9mZnNldCcpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50VGltZW91dCh0aW1lb3V0LCAndGltZW91dCcpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50TnVtYmVyKGR1cmF0aW9uLCAnZHVyYXRpb24nKTtcclxuICAgIGF3YWl0IHRoaXMuaGVscGVycy5hc3NlcnRDb250ZXh0KHRoaXMuaGVscGVycy5jb250ZXh0TGlzdC5hbmRyb2lkLCB0aGlzLmhlbHBlcnMuY29udGV4dExpc3QuaW9zKTtcclxuXHJcbiAgICB2YXIgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChsb2NhdG9yLCBmYWxzZSwgdGltZW91dCk7XHJcblxyXG4gICAgY29uc3QgbG9jYXRpb24gPSBhd2FpdCBlbC5nZXRMb2NhdGlvbigpO1xyXG5cclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmRyaXZlci50b3VjaFBlcmZvcm0oW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uOiAncHJlc3MnLFxyXG4gICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICB4OiBsb2NhdGlvbi54LFxyXG4gICAgICAgICAgICAgICAgeTogbG9jYXRpb24ueSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uOiAnd2FpdCcsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIG1zOiBkdXJhdGlvbixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uOiAnbW92ZVRvJyxcclxuICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgeDogeG9mZnNldCxcclxuICAgICAgICAgICAgICAgIHk6IHlvZmZzZXQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGFjdGlvbjogJ3JlbGVhc2UnLFxyXG4gICAgICAgICAgICBvcHRpb25zOiB7fSxcclxuICAgICAgICB9LFxyXG4gICAgXSk7XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-2018 CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Perform swipe on the element.
|
|
16
|
-
* @function swipeElement
|
|
17
|
-
* @param {String} locator - Locator of the element to swipe on.
|
|
18
|
-
* @param {Number=} xoffset - Horizontal offset (positive - scroll right, negative - scroll left). Default is 0.
|
|
19
|
-
* @param {Number=} yoffset - Vertical offset (positive - scroll down, negative - scroll up). Default is 30.
|
|
20
|
-
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
21
|
-
* @param {Number=} duration - Duration of swipe. Default is 3000 (3sec)
|
|
22
|
-
* @for android, ios
|
|
23
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
25
|
-
* mob.swipeElement("id=Element",-60,0,150);//Perform a swipe on the screen or an element.
|
|
26
|
-
*/
|
|
27
|
-
module.exports = async function (locator, xoffset = 0, yoffset = 30, timeout, duration = 3000) {
|
|
28
|
-
this.helpers.assertArgument(locator, 'locator');
|
|
29
|
-
this.helpers.assertArgumentNumber(xoffset, 'xoffset');
|
|
30
|
-
this.helpers.assertArgumentNumber(yoffset, 'yoffset');
|
|
31
|
-
this.helpers.assertArgumentTimeout(timeout, 'timeout');
|
|
32
|
-
this.helpers.assertArgumentNumber(duration, 'duration');
|
|
33
|
-
await this.helpers.assertContext(this.helpers.contextList.android, this.helpers.contextList.ios);
|
|
34
|
-
var el = await this.helpers.getElement(locator, false, timeout);
|
|
35
|
-
const location = await el.getLocation();
|
|
36
|
-
return await this.driver.touchPerform([{
|
|
37
|
-
action: 'press',
|
|
38
|
-
options: {
|
|
39
|
-
x: location.x,
|
|
40
|
-
y: location.y
|
|
41
|
-
}
|
|
42
|
-
}, {
|
|
43
|
-
action: 'wait',
|
|
44
|
-
options: {
|
|
45
|
-
ms: duration
|
|
46
|
-
}
|
|
47
|
-
}, {
|
|
48
|
-
action: 'moveTo',
|
|
49
|
-
options: {
|
|
50
|
-
x: xoffset,
|
|
51
|
-
y: yoffset
|
|
52
|
-
}
|
|
53
|
-
}, {
|
|
54
|
-
action: 'release',
|
|
55
|
-
options: {}
|
|
56
|
-
}]);
|
|
57
|
-
};
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc3dpcGVFbGVtZW50LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJsb2NhdG9yIiwieG9mZnNldCIsInlvZmZzZXQiLCJ0aW1lb3V0IiwiZHVyYXRpb24iLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnQiLCJhc3NlcnRBcmd1bWVudE51bWJlciIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImFzc2VydENvbnRleHQiLCJjb250ZXh0TGlzdCIsImFuZHJvaWQiLCJpb3MiLCJlbCIsImdldEVsZW1lbnQiLCJsb2NhdGlvbiIsImdldExvY2F0aW9uIiwiZHJpdmVyIiwidG91Y2hQZXJmb3JtIiwiYWN0aW9uIiwib3B0aW9ucyIsIngiLCJ5IiwibXMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsT0FBZixFQUF3QkMsT0FBTyxHQUFHLENBQWxDLEVBQXFDQyxPQUFPLEdBQUcsRUFBL0MsRUFBbURDLE9BQW5ELEVBQTREQyxRQUFRLEdBQUcsSUFBdkUsRUFBNkU7QUFDMUYsT0FBS0MsT0FBTCxDQUFhQyxjQUFiLENBQTRCTixPQUE1QixFQUFxQyxTQUFyQztBQUNBLE9BQUtLLE9BQUwsQ0FBYUUsb0JBQWIsQ0FBa0NOLE9BQWxDLEVBQTJDLFNBQTNDO0FBQ0EsT0FBS0ksT0FBTCxDQUFhRSxvQkFBYixDQUFrQ0wsT0FBbEMsRUFBMkMsU0FBM0M7QUFDQSxPQUFLRyxPQUFMLENBQWFHLHFCQUFiLENBQW1DTCxPQUFuQyxFQUE0QyxTQUE1QztBQUNBLE9BQUtFLE9BQUwsQ0FBYUUsb0JBQWIsQ0FBa0NILFFBQWxDLEVBQTRDLFVBQTVDO0FBQ0EsUUFBTSxLQUFLQyxPQUFMLENBQWFJLGFBQWIsQ0FBMkIsS0FBS0osT0FBTCxDQUFhSyxXQUFiLENBQXlCQyxPQUFwRCxFQUE2RCxLQUFLTixPQUFMLENBQWFLLFdBQWIsQ0FBeUJFLEdBQXRGLENBQU47QUFFQSxNQUFJQyxFQUFFLEdBQUcsTUFBTSxLQUFLUixPQUFMLENBQWFTLFVBQWIsQ0FBd0JkLE9BQXhCLEVBQWlDLEtBQWpDLEVBQXdDRyxPQUF4QyxDQUFmO0FBRUEsUUFBTVksUUFBUSxHQUFHLE1BQU1GLEVBQUUsQ0FBQ0csV0FBSCxFQUF2QjtBQUVBLFNBQU8sTUFBTSxLQUFLQyxNQUFMLENBQVlDLFlBQVosQ0FBeUIsQ0FDbEM7QUFDSUMsSUFBQUEsTUFBTSxFQUFFLE9BRFo7QUFFSUMsSUFBQUEsT0FBTyxFQUFFO0FBQ0xDLE1BQUFBLENBQUMsRUFBRU4sUUFBUSxDQUFDTSxDQURQO0FBRUxDLE1BQUFBLENBQUMsRUFBRVAsUUFBUSxDQUFDTztBQUZQO0FBRmIsR0FEa0MsRUFRbEM7QUFDSUgsSUFBQUEsTUFBTSxFQUFFLE1BRFo7QUFFSUMsSUFBQUEsT0FBTyxFQUFFO0FBQ0xHLE1BQUFBLEVBQUUsRUFBRW5CO0FBREM7QUFGYixHQVJrQyxFQWNsQztBQUNJZSxJQUFBQSxNQUFNLEVBQUUsUUFEWjtBQUVJQyxJQUFBQSxPQUFPLEVBQUU7QUFDTEMsTUFBQUEsQ0FBQyxFQUFFcEIsT0FERTtBQUVMcUIsTUFBQUEsQ0FBQyxFQUFFcEI7QUFGRTtBQUZiLEdBZGtDLEVBcUJsQztBQUNJaUIsSUFBQUEsTUFBTSxFQUFFLFNBRFo7QUFFSUMsSUFBQUEsT0FBTyxFQUFFO0FBRmIsR0FyQmtDLENBQXpCLENBQWI7QUEwQkgsQ0F0Q0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBQZXJmb3JtIHN3aXBlIG9uIHRoZSBlbGVtZW50LlxyXG4gKiBAZnVuY3Rpb24gc3dpcGVFbGVtZW50XHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBsb2NhdG9yIC0gTG9jYXRvciBvZiB0aGUgZWxlbWVudCB0byBzd2lwZSBvbi5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB4b2Zmc2V0IC0gSG9yaXpvbnRhbCBvZmZzZXQgKHBvc2l0aXZlIC0gc2Nyb2xsIHJpZ2h0LCBuZWdhdGl2ZSAtIHNjcm9sbCBsZWZ0KS4gRGVmYXVsdCBpcyAwLlxyXG4gKiBAcGFyYW0ge051bWJlcj19IHlvZmZzZXQgLSBWZXJ0aWNhbCBvZmZzZXQgKHBvc2l0aXZlIC0gc2Nyb2xsIGRvd24sIG5lZ2F0aXZlIC0gc2Nyb2xsIHVwKS4gRGVmYXVsdCBpcyAzMC5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQgaXMgNjAgc2Vjb25kcy5cclxuICogQHBhcmFtIHtOdW1iZXI9fSBkdXJhdGlvbiAtIER1cmF0aW9uIG9mIHN3aXBlLiBEZWZhdWx0IGlzIDMwMDAgKDNzZWMpXHJcbiAqIEBmb3IgYW5kcm9pZCwgaW9zXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdChjYXBzKTsvL1N0YXJ0cyBhIG1vYmlsZSBzZXNzaW9uIGFuZCBvcGVucyBhcHAgZnJvbSBkZXNpcmVkIGNhcGFiaWxpdGllc1xyXG4gKiBtb2Iuc3dpcGVFbGVtZW50KFwiaWQ9RWxlbWVudFwiLC02MCwwLDE1MCk7Ly9QZXJmb3JtIGEgc3dpcGUgb24gdGhlIHNjcmVlbiBvciBhbiBlbGVtZW50LlxyXG4qL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKGxvY2F0b3IsIHhvZmZzZXQgPSAwLCB5b2Zmc2V0ID0gMzAsIHRpbWVvdXQsIGR1cmF0aW9uID0gMzAwMCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50KGxvY2F0b3IsICdsb2NhdG9yJyk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROdW1iZXIoeG9mZnNldCwgJ3hvZmZzZXQnKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudE51bWJlcih5b2Zmc2V0LCAneW9mZnNldCcpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50VGltZW91dCh0aW1lb3V0LCAndGltZW91dCcpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50TnVtYmVyKGR1cmF0aW9uLCAnZHVyYXRpb24nKTtcclxuICAgIGF3YWl0IHRoaXMuaGVscGVycy5hc3NlcnRDb250ZXh0KHRoaXMuaGVscGVycy5jb250ZXh0TGlzdC5hbmRyb2lkLCB0aGlzLmhlbHBlcnMuY29udGV4dExpc3QuaW9zKTtcclxuXHJcbiAgICB2YXIgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChsb2NhdG9yLCBmYWxzZSwgdGltZW91dCk7XHJcblxyXG4gICAgY29uc3QgbG9jYXRpb24gPSBhd2FpdCBlbC5nZXRMb2NhdGlvbigpO1xyXG5cclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmRyaXZlci50b3VjaFBlcmZvcm0oW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uOiAncHJlc3MnLFxyXG4gICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICB4OiBsb2NhdGlvbi54LFxyXG4gICAgICAgICAgICAgICAgeTogbG9jYXRpb24ueSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uOiAnd2FpdCcsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIG1zOiBkdXJhdGlvbixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uOiAnbW92ZVRvJyxcclxuICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgeDogeG9mZnNldCxcclxuICAgICAgICAgICAgICAgIHk6IHlvZmZzZXQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGFjdGlvbjogJ3JlbGVhc2UnLFxyXG4gICAgICAgICAgICBvcHRpb25zOiB7fSxcclxuICAgICAgICB9LFxyXG4gICAgXSk7XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Perform a swipe on the screen.
|
|
16
|
-
* @function swipeScreen
|
|
17
|
-
* @param {Number=} x1 - Starting X position (top-left screen corner is the origin)
|
|
18
|
-
* @param {Number=} y1 - Starting Y position.
|
|
19
|
-
* @param {Number} x1 - Ending X position.
|
|
20
|
-
* @param {Number} y1 - Ending Y position.
|
|
21
|
-
* @param {Number=} duration - Duration of swipe. Default is 3000 (3sec)
|
|
22
|
-
* @for android, ios
|
|
23
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
25
|
-
* mob.swipeScreen(0, 0, 0, 900);//Perform a swipe on the screen
|
|
26
|
-
*/
|
|
27
|
-
module.exports = async function (x1 = 0, y1 = 0, x2, y2, duration = 3000) {
|
|
28
|
-
this.helpers.assertArgumentNumber(x1, 'x1');
|
|
29
|
-
this.helpers.assertArgumentNumber(y1, 'y1');
|
|
30
|
-
this.helpers.assertArgumentNumber(x2, 'x2');
|
|
31
|
-
this.helpers.assertArgumentNumber(y2, 'y2');
|
|
32
|
-
this.helpers.assertArgumentNumber(duration, 'duration');
|
|
33
|
-
await this.helpers.assertContext(this.helpers.contextList.android, this.helpers.contextList.ios);
|
|
34
|
-
await this.driver.touchPerform([{
|
|
35
|
-
action: 'press',
|
|
36
|
-
options: {
|
|
37
|
-
x: x1,
|
|
38
|
-
y: y1
|
|
39
|
-
}
|
|
40
|
-
}, {
|
|
41
|
-
action: 'wait',
|
|
42
|
-
options: {
|
|
43
|
-
ms: duration
|
|
44
|
-
}
|
|
45
|
-
}, {
|
|
46
|
-
action: 'moveTo',
|
|
47
|
-
options: {
|
|
48
|
-
x: x2,
|
|
49
|
-
y: y2
|
|
50
|
-
}
|
|
51
|
-
}, {
|
|
52
|
-
action: 'release',
|
|
53
|
-
options: {}
|
|
54
|
-
}]);
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc3dpcGVTY3JlZW4uanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIngxIiwieTEiLCJ4MiIsInkyIiwiZHVyYXRpb24iLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnROdW1iZXIiLCJhc3NlcnRDb250ZXh0IiwiY29udGV4dExpc3QiLCJhbmRyb2lkIiwiaW9zIiwiZHJpdmVyIiwidG91Y2hQZXJmb3JtIiwiYWN0aW9uIiwib3B0aW9ucyIsIngiLCJ5IiwibXMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsRUFBRSxHQUFHLENBQXBCLEVBQXVCQyxFQUFFLEdBQUcsQ0FBNUIsRUFBK0JDLEVBQS9CLEVBQW1DQyxFQUFuQyxFQUF1Q0MsUUFBUSxHQUFHLElBQWxELEVBQXdEO0FBQ3JFLE9BQUtDLE9BQUwsQ0FBYUMsb0JBQWIsQ0FBa0NOLEVBQWxDLEVBQXNDLElBQXRDO0FBQ0EsT0FBS0ssT0FBTCxDQUFhQyxvQkFBYixDQUFrQ0wsRUFBbEMsRUFBc0MsSUFBdEM7QUFDQSxPQUFLSSxPQUFMLENBQWFDLG9CQUFiLENBQWtDSixFQUFsQyxFQUFzQyxJQUF0QztBQUNBLE9BQUtHLE9BQUwsQ0FBYUMsb0JBQWIsQ0FBa0NILEVBQWxDLEVBQXNDLElBQXRDO0FBQ0EsT0FBS0UsT0FBTCxDQUFhQyxvQkFBYixDQUFrQ0YsUUFBbEMsRUFBNEMsVUFBNUM7QUFDQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUUsYUFBYixDQUEyQixLQUFLRixPQUFMLENBQWFHLFdBQWIsQ0FBeUJDLE9BQXBELEVBQTZELEtBQUtKLE9BQUwsQ0FBYUcsV0FBYixDQUF5QkUsR0FBdEYsQ0FBTjtBQUVBLFFBQU0sS0FBS0MsTUFBTCxDQUFZQyxZQUFaLENBQXlCLENBQzNCO0FBQ0lDLElBQUFBLE1BQU0sRUFBRSxPQURaO0FBRUlDLElBQUFBLE9BQU8sRUFBRTtBQUNMQyxNQUFBQSxDQUFDLEVBQUVmLEVBREU7QUFFTGdCLE1BQUFBLENBQUMsRUFBRWY7QUFGRTtBQUZiLEdBRDJCLEVBUTNCO0FBQ0lZLElBQUFBLE1BQU0sRUFBRSxNQURaO0FBRUlDLElBQUFBLE9BQU8sRUFBRTtBQUNMRyxNQUFBQSxFQUFFLEVBQUViO0FBREM7QUFGYixHQVIyQixFQWMzQjtBQUNJUyxJQUFBQSxNQUFNLEVBQUUsUUFEWjtBQUVJQyxJQUFBQSxPQUFPLEVBQUU7QUFDTEMsTUFBQUEsQ0FBQyxFQUFFYixFQURFO0FBRUxjLE1BQUFBLENBQUMsRUFBRWI7QUFGRTtBQUZiLEdBZDJCLEVBcUIzQjtBQUNJVSxJQUFBQSxNQUFNLEVBQUUsU0FEWjtBQUVJQyxJQUFBQSxPQUFPLEVBQUU7QUFGYixHQXJCMkIsQ0FBekIsQ0FBTjtBQTBCSCxDQWxDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFBlcmZvcm0gYSBzd2lwZSBvbiB0aGUgc2NyZWVuLlxyXG4gKiBAZnVuY3Rpb24gc3dpcGVTY3JlZW5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB4MSAtIFN0YXJ0aW5nIFggcG9zaXRpb24gKHRvcC1sZWZ0IHNjcmVlbiBjb3JuZXIgaXMgdGhlIG9yaWdpbilcclxuICogQHBhcmFtIHtOdW1iZXI9fSB5MSAtIFN0YXJ0aW5nIFkgcG9zaXRpb24uXHJcbiAqIEBwYXJhbSB7TnVtYmVyfSB4MSAtIEVuZGluZyBYIHBvc2l0aW9uLlxyXG4gKiBAcGFyYW0ge051bWJlcn0geTEgLSBFbmRpbmcgWSBwb3NpdGlvbi5cclxuICogQHBhcmFtIHtOdW1iZXI9fSBkdXJhdGlvbiAtIER1cmF0aW9uIG9mIHN3aXBlLiBEZWZhdWx0IGlzIDMwMDAgKDNzZWMpXHJcbiAqIEBmb3IgYW5kcm9pZCwgaW9zXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdChjYXBzKTsvL1N0YXJ0cyBhIG1vYmlsZSBzZXNzaW9uIGFuZCBvcGVucyBhcHAgZnJvbSBkZXNpcmVkIGNhcGFiaWxpdGllc1xyXG4gKiBtb2Iuc3dpcGVTY3JlZW4oMCwgMCwgMCwgOTAwKTsvL1BlcmZvcm0gYSBzd2lwZSBvbiB0aGUgc2NyZWVuXHJcbiovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24oeDEgPSAwLCB5MSA9IDAsIHgyLCB5MiwgZHVyYXRpb24gPSAzMDAwKSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROdW1iZXIoeDEsICd4MScpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50TnVtYmVyKHkxLCAneTEnKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudE51bWJlcih4MiwgJ3gyJyk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROdW1iZXIoeTIsICd5MicpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50TnVtYmVyKGR1cmF0aW9uLCAnZHVyYXRpb24nKTtcclxuICAgIGF3YWl0IHRoaXMuaGVscGVycy5hc3NlcnRDb250ZXh0KHRoaXMuaGVscGVycy5jb250ZXh0TGlzdC5hbmRyb2lkLCB0aGlzLmhlbHBlcnMuY29udGV4dExpc3QuaW9zKTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLmRyaXZlci50b3VjaFBlcmZvcm0oW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uOiAncHJlc3MnLFxyXG4gICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICB4OiB4MSxcclxuICAgICAgICAgICAgICAgIHk6IHkxXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uOiAnd2FpdCcsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIG1zOiBkdXJhdGlvbixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgYWN0aW9uOiAnbW92ZVRvJyxcclxuICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgeDogeDIsXHJcbiAgICAgICAgICAgICAgICB5OiB5MlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBhY3Rpb246ICdyZWxlYXNlJyxcclxuICAgICAgICAgICAgb3B0aW9uczoge31cclxuICAgICAgICB9XHJcbiAgICBdKTtcclxufTtcclxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @function takeScreenshot
|
|
16
|
-
* @summary Take a screenshot of the current page or screen and return it as base64 encoded string.
|
|
17
|
-
* @return {String} Screenshot image encoded as a base64 string.
|
|
18
|
-
* @for android, ios, hybrid, web
|
|
19
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
20
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
21
|
-
* var ss = mob.takeScreenshot();//Take a screenshot of the current page or screen and return it as base64 encoded string.
|
|
22
|
-
* require("fs").writeFileSync("c:\\screenshot.png", ss, 'base64');
|
|
23
|
-
*/
|
|
24
|
-
module.exports = async function () {
|
|
25
|
-
return await this.driver.takeScreenshot();
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvdGFrZVNjcmVlbnNob3QuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImRyaXZlciIsInRha2VTY3JlZW5zaG90Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsa0JBQWlCO0FBQzlCLFNBQU8sTUFBTSxLQUFLQyxNQUFMLENBQVlDLGNBQVosRUFBYjtBQUNILENBRkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAZnVuY3Rpb24gdGFrZVNjcmVlbnNob3RcclxuICogQHN1bW1hcnkgVGFrZSBhIHNjcmVlbnNob3Qgb2YgdGhlIGN1cnJlbnQgcGFnZSBvciBzY3JlZW4gYW5kIHJldHVybiBpdCBhcyBiYXNlNjQgZW5jb2RlZCBzdHJpbmcuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gU2NyZWVuc2hvdCBpbWFnZSBlbmNvZGVkIGFzIGEgYmFzZTY0IHN0cmluZy5cclxuICogQGZvciBhbmRyb2lkLCBpb3MsIGh5YnJpZCwgd2ViXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdChjYXBzKTsvL1N0YXJ0cyBhIG1vYmlsZSBzZXNzaW9uIGFuZCBvcGVucyBhcHAgZnJvbSBkZXNpcmVkIGNhcGFiaWxpdGllc1xyXG4gKiB2YXIgc3MgPSBtb2IudGFrZVNjcmVlbnNob3QoKTsvL1Rha2UgYSBzY3JlZW5zaG90IG9mIHRoZSBjdXJyZW50IHBhZ2Ugb3Igc2NyZWVuIGFuZCByZXR1cm4gaXQgYXMgYmFzZTY0IGVuY29kZWQgc3RyaW5nLlxyXG4gKiByZXF1aXJlKFwiZnNcIikud3JpdGVGaWxlU3luYyhcImM6XFxcXHNjcmVlbnNob3QucG5nXCIsIHNzLCAnYmFzZTY0Jyk7XHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKCkge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZHJpdmVyLnRha2VTY3JlZW5zaG90KCk7XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Perform tap at the specified coordinate.
|
|
16
|
-
* @function tap
|
|
17
|
-
* @param {Number} x - x offset.
|
|
18
|
-
* @param {Number} y - y offset.
|
|
19
|
-
* @for android, ios
|
|
20
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
21
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
22
|
-
* mob.tap(60,300);//Perform tap at the specified coordinate.
|
|
23
|
-
*/
|
|
24
|
-
module.exports = async function (x, y) {
|
|
25
|
-
this.helpers.assertArgumentNumberNonNegative(x, 'x');
|
|
26
|
-
this.helpers.assertArgumentNumberNonNegative(y, 'y');
|
|
27
|
-
await this.helpers.assertContext(this.helpers.contextList.android, this.helpers.contextList.ios);
|
|
28
|
-
await this.driver.touchAction({
|
|
29
|
-
action: 'tap',
|
|
30
|
-
x: x,
|
|
31
|
-
y: y
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvdGFwLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJ4IiwieSIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudE51bWJlck5vbk5lZ2F0aXZlIiwiYXNzZXJ0Q29udGV4dCIsImNvbnRleHRMaXN0IiwiYW5kcm9pZCIsImlvcyIsImRyaXZlciIsInRvdWNoQWN0aW9uIiwiYWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsZ0JBQWVDLENBQWYsRUFBa0JDLENBQWxCLEVBQXFCO0FBQ2xDLE9BQUtDLE9BQUwsQ0FBYUMsK0JBQWIsQ0FBNkNILENBQTdDLEVBQWdELEdBQWhEO0FBQ0EsT0FBS0UsT0FBTCxDQUFhQywrQkFBYixDQUE2Q0YsQ0FBN0MsRUFBZ0QsR0FBaEQ7QUFDQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUUsYUFBYixDQUEyQixLQUFLRixPQUFMLENBQWFHLFdBQWIsQ0FBeUJDLE9BQXBELEVBQTZELEtBQUtKLE9BQUwsQ0FBYUcsV0FBYixDQUF5QkUsR0FBdEYsQ0FBTjtBQUVBLFFBQU0sS0FBS0MsTUFBTCxDQUFZQyxXQUFaLENBQXdCO0FBQzFCQyxJQUFBQSxNQUFNLEVBQUUsS0FEa0I7QUFFMUJWLElBQUFBLENBQUMsRUFBRUEsQ0FGdUI7QUFHMUJDLElBQUFBLENBQUMsRUFBRUE7QUFIdUIsR0FBeEIsQ0FBTjtBQUtILENBVkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBQZXJmb3JtIHRhcCBhdCB0aGUgc3BlY2lmaWVkIGNvb3JkaW5hdGUuXHJcbiAqIEBmdW5jdGlvbiB0YXBcclxuICogQHBhcmFtIHtOdW1iZXJ9IHggLSB4IG9mZnNldC5cclxuICogQHBhcmFtIHtOdW1iZXJ9IHkgLSB5IG9mZnNldC5cclxuICogQGZvciBhbmRyb2lkLCBpb3NcclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIG1vYi5pbml0KGNhcHMpOy8vU3RhcnRzIGEgbW9iaWxlIHNlc3Npb24gYW5kIG9wZW5zIGFwcCBmcm9tIGRlc2lyZWQgY2FwYWJpbGl0aWVzXHJcbiAqIG1vYi50YXAoNjAsMzAwKTsvL1BlcmZvcm0gdGFwIGF0IHRoZSBzcGVjaWZpZWQgY29vcmRpbmF0ZS5cclxuICovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24oeCwgeSkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50TnVtYmVyTm9uTmVnYXRpdmUoeCwgJ3gnKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudE51bWJlck5vbk5lZ2F0aXZlKHksICd5Jyk7XHJcbiAgICBhd2FpdCB0aGlzLmhlbHBlcnMuYXNzZXJ0Q29udGV4dCh0aGlzLmhlbHBlcnMuY29udGV4dExpc3QuYW5kcm9pZCwgdGhpcy5oZWxwZXJzLmNvbnRleHRMaXN0Lmlvcyk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5kcml2ZXIudG91Y2hBY3Rpb24oe1xyXG4gICAgICAgIGFjdGlvbjogJ3RhcCcsXHJcbiAgICAgICAgeDogeCxcclxuICAgICAgICB5OiB5XHJcbiAgICB9KTtcclxufTtcclxuIl19
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Send a sequence of key strokes to an element (clears value before).
|
|
16
|
-
* @description Refer to [Key Codes](https://w3c.github.io/webdriver/#keyboard-actions)
|
|
17
|
-
* for the list of supported raw keyboard key codes.
|
|
18
|
-
* @function type
|
|
19
|
-
* @param {String|Element} locator - An element locator.
|
|
20
|
-
* @param {String} value - The value to type.
|
|
21
|
-
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
22
|
-
* @for android, ios, hybrid, web
|
|
23
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
25
|
-
* mob.type('id=TextArea', 'hello world\uE007');
|
|
26
|
-
*/
|
|
27
|
-
module.exports = async function (locator, value, timeout) {
|
|
28
|
-
this.helpers.assertArgument(value, 'value');
|
|
29
|
-
this.helpers.assertArgumentTimeout(timeout, 'timeout');
|
|
30
|
-
var el = await this.helpers.getElement(locator, true, timeout);
|
|
31
|
-
|
|
32
|
-
try {
|
|
33
|
-
if (this.driver && this.driver.capabilities && this.driver.capabilities.entityType && this.driver.capabilities.entityType === 'appium_driver') {
|
|
34
|
-
let saveValue;
|
|
35
|
-
|
|
36
|
-
if (value) {
|
|
37
|
-
if (Array.isArray(value)) {
|
|
38
|
-
saveValue = value;
|
|
39
|
-
} else if (typeof value === 'string') {
|
|
40
|
-
saveValue = [value.toString()];
|
|
41
|
-
} else if (value.toString) {
|
|
42
|
-
saveValue = [value.toString()];
|
|
43
|
-
}
|
|
44
|
-
} // native app
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
await el.sendKeys(saveValue);
|
|
48
|
-
} else {
|
|
49
|
-
// remote_web_driver (mob browser)
|
|
50
|
-
await el.setValue(value.toString());
|
|
51
|
-
}
|
|
52
|
-
} catch (e) {
|
|
53
|
-
if (e && e.message && e.message.includes('java.lang.NullPointerException')) {
|
|
54
|
-
await this.driver.execute((el, val) => {
|
|
55
|
-
el.focus();
|
|
56
|
-
el.value = val;
|
|
57
|
-
}, el, value);
|
|
58
|
-
} else {
|
|
59
|
-
if (e.name === 'invalid element state') {
|
|
60
|
-
throw new this.OxError(this.errHelper.errorCode.ELEMENT_STATE_ERROR, e.message);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
throw e;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvdHlwZS5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibG9jYXRvciIsInZhbHVlIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudCIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImVsIiwiZ2V0RWxlbWVudCIsImRyaXZlciIsImNhcGFiaWxpdGllcyIsImVudGl0eVR5cGUiLCJzYXZlVmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJ0b1N0cmluZyIsInNlbmRLZXlzIiwic2V0VmFsdWUiLCJlIiwibWVzc2FnZSIsImluY2x1ZGVzIiwiZXhlY3V0ZSIsInZhbCIsImZvY3VzIiwibmFtZSIsIk94RXJyb3IiLCJlcnJIZWxwZXIiLCJlcnJvckNvZGUiLCJFTEVNRU5UX1NUQVRFX0VSUk9SIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsZ0JBQWVDLE9BQWYsRUFBd0JDLEtBQXhCLEVBQStCQyxPQUEvQixFQUF3QztBQUNyRCxPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJILEtBQTVCLEVBQW1DLE9BQW5DO0FBQ0EsT0FBS0UsT0FBTCxDQUFhRSxxQkFBYixDQUFtQ0gsT0FBbkMsRUFBNEMsU0FBNUM7QUFFQSxNQUFJSSxFQUFFLEdBQUcsTUFBTSxLQUFLSCxPQUFMLENBQWFJLFVBQWIsQ0FBd0JQLE9BQXhCLEVBQWlDLElBQWpDLEVBQXVDRSxPQUF2QyxDQUFmOztBQUVBLE1BQUk7QUFFQSxRQUNJLEtBQUtNLE1BQUwsSUFDQSxLQUFLQSxNQUFMLENBQVlDLFlBRFosSUFFQSxLQUFLRCxNQUFMLENBQVlDLFlBQVosQ0FBeUJDLFVBRnpCLElBR0EsS0FBS0YsTUFBTCxDQUFZQyxZQUFaLENBQXlCQyxVQUF6QixLQUF3QyxlQUo1QyxFQUtFO0FBQ0UsVUFBSUMsU0FBSjs7QUFFQSxVQUFJVixLQUFKLEVBQVc7QUFDUCxZQUFJVyxLQUFLLENBQUNDLE9BQU4sQ0FBY1osS0FBZCxDQUFKLEVBQTBCO0FBQ3RCVSxVQUFBQSxTQUFTLEdBQUdWLEtBQVo7QUFDSCxTQUZELE1BRU8sSUFBSSxPQUFPQSxLQUFQLEtBQWlCLFFBQXJCLEVBQStCO0FBQ2xDVSxVQUFBQSxTQUFTLEdBQUcsQ0FBQ1YsS0FBSyxDQUFDYSxRQUFOLEVBQUQsQ0FBWjtBQUNILFNBRk0sTUFFQSxJQUFJYixLQUFLLENBQUNhLFFBQVYsRUFBb0I7QUFDdkJILFVBQUFBLFNBQVMsR0FBRyxDQUFDVixLQUFLLENBQUNhLFFBQU4sRUFBRCxDQUFaO0FBQ0g7QUFDSixPQVhILENBYUU7OztBQUNBLFlBQU1SLEVBQUUsQ0FBQ1MsUUFBSCxDQUFZSixTQUFaLENBQU47QUFDSCxLQXBCRCxNQW9CTztBQUNIO0FBQ0EsWUFBTUwsRUFBRSxDQUFDVSxRQUFILENBQVlmLEtBQUssQ0FBQ2EsUUFBTixFQUFaLENBQU47QUFDSDtBQUNKLEdBMUJELENBMEJFLE9BQU9HLENBQVAsRUFBVTtBQUNSLFFBQ0lBLENBQUMsSUFDREEsQ0FBQyxDQUFDQyxPQURGLElBRUFELENBQUMsQ0FBQ0MsT0FBRixDQUFVQyxRQUFWLENBQW1CLGdDQUFuQixDQUhKLEVBSUU7QUFFRSxZQUFNLEtBQUtYLE1BQUwsQ0FBWVksT0FBWixDQUFvQixDQUFDZCxFQUFELEVBQUtlLEdBQUwsS0FBYTtBQUNuQ2YsUUFBQUEsRUFBRSxDQUFDZ0IsS0FBSDtBQUNBaEIsUUFBQUEsRUFBRSxDQUFDTCxLQUFILEdBQVdvQixHQUFYO0FBQ0gsT0FISyxFQUdIZixFQUhHLEVBR0NMLEtBSEQsQ0FBTjtBQUtILEtBWEQsTUFXTztBQUNILFVBQUlnQixDQUFDLENBQUNNLElBQUYsS0FBVyx1QkFBZixFQUF3QztBQUNwQyxjQUFNLElBQUksS0FBS0MsT0FBVCxDQUFpQixLQUFLQyxTQUFMLENBQWVDLFNBQWYsQ0FBeUJDLG1CQUExQyxFQUErRFYsQ0FBQyxDQUFDQyxPQUFqRSxDQUFOO0FBQ0g7O0FBQ0QsWUFBTUQsQ0FBTjtBQUNIO0FBQ0o7QUFDSixDQW5ERCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFNlbmQgYSBzZXF1ZW5jZSBvZiBrZXkgc3Ryb2tlcyB0byBhbiBlbGVtZW50IChjbGVhcnMgdmFsdWUgYmVmb3JlKS5cclxuICogQGRlc2NyaXB0aW9uIFJlZmVyIHRvIFtLZXkgQ29kZXNdKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvI2tleWJvYXJkLWFjdGlvbnMpXHJcbiAqICAgICAgICAgICAgICBmb3IgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIHJhdyBrZXlib2FyZCBrZXkgY29kZXMuXHJcbiAqIEBmdW5jdGlvbiB0eXBlXHJcbiAqIEBwYXJhbSB7U3RyaW5nfEVsZW1lbnR9IGxvY2F0b3IgLSBBbiBlbGVtZW50IGxvY2F0b3IuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0eXBlLlxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAZm9yIGFuZHJvaWQsIGlvcywgaHlicmlkLCB3ZWJcclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIG1vYi5pbml0KGNhcHMpOy8vU3RhcnRzIGEgbW9iaWxlIHNlc3Npb24gYW5kIG9wZW5zIGFwcCBmcm9tIGRlc2lyZWQgY2FwYWJpbGl0aWVzXHJcbiAqIG1vYi50eXBlKCdpZD1UZXh0QXJlYScsICdoZWxsbyB3b3JsZFxcdUUwMDcnKTtcclxuICovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24obG9jYXRvciwgdmFsdWUsIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudCh2YWx1ZSwgJ3ZhbHVlJyk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnRUaW1lb3V0KHRpbWVvdXQsICd0aW1lb3V0Jyk7XHJcblxyXG4gICAgdmFyIGVsID0gYXdhaXQgdGhpcy5oZWxwZXJzLmdldEVsZW1lbnQobG9jYXRvciwgdHJ1ZSwgdGltZW91dCk7XHJcblxyXG4gICAgdHJ5IHtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLmRyaXZlciAmJlxyXG4gICAgICAgICAgICB0aGlzLmRyaXZlci5jYXBhYmlsaXRpZXMgJiZcclxuICAgICAgICAgICAgdGhpcy5kcml2ZXIuY2FwYWJpbGl0aWVzLmVudGl0eVR5cGUgJiZcclxuICAgICAgICAgICAgdGhpcy5kcml2ZXIuY2FwYWJpbGl0aWVzLmVudGl0eVR5cGUgPT09ICdhcHBpdW1fZHJpdmVyJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBsZXQgc2F2ZVZhbHVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBzYXZlVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHNhdmVWYWx1ZSA9IFt2YWx1ZS50b1N0cmluZygpXTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUudG9TdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICBzYXZlVmFsdWUgPSBbdmFsdWUudG9TdHJpbmcoKV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIG5hdGl2ZSBhcHBcclxuICAgICAgICAgICAgYXdhaXQgZWwuc2VuZEtleXMoc2F2ZVZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyByZW1vdGVfd2ViX2RyaXZlciAobW9iIGJyb3dzZXIpXHJcbiAgICAgICAgICAgIGF3YWl0IGVsLnNldFZhbHVlKHZhbHVlLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGUgJiZcclxuICAgICAgICAgICAgZS5tZXNzYWdlICYmXHJcbiAgICAgICAgICAgIGUubWVzc2FnZS5pbmNsdWRlcygnamF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9uJylcclxuICAgICAgICApIHtcclxuXHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLmV4ZWN1dGUoKGVsLCB2YWwpID0+IHtcclxuICAgICAgICAgICAgICAgIGVsLmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICBlbC52YWx1ZSA9IHZhbDtcclxuICAgICAgICAgICAgfSwgZWwsIHZhbHVlKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGUubmFtZSA9PT0gJ2ludmFsaWQgZWxlbWVudCBzdGF0ZScpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLkVMRU1FTlRfU1RBVEVfRVJST1IsIGUubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Unlocks a pattern lock
|
|
16
|
-
* @function unlockPattern
|
|
17
|
-
* @param {String|Element} locator - Element locator for the pattern lock.
|
|
18
|
-
* @param {Number} cols - Number of columns in the pattern.
|
|
19
|
-
* @param {Number} rows - Number of rows in the pattern.
|
|
20
|
-
* @param {String} pattern - Pattern sequence. Pins are hexadecimal and case sensitive. See example.
|
|
21
|
-
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
22
|
-
* @example <caption>Pattern pins are treated similarly as the numbers of a phone dial. E.g. 3x4 pattern:</caption>
|
|
23
|
-
* 1 2 3
|
|
24
|
-
* 4 5 6
|
|
25
|
-
* 7 8 9
|
|
26
|
-
* a b c
|
|
27
|
-
* @for android
|
|
28
|
-
*/
|
|
29
|
-
module.exports = async function (locator, cols, rows, pattern, timeout) {
|
|
30
|
-
this.helpers.assertArgument(locator, 'locator');
|
|
31
|
-
this.helpers.assertArgumentNumberNonNegative(cols, 'cols');
|
|
32
|
-
this.helpers.assertArgumentNumberNonNegative(rows, 'rows');
|
|
33
|
-
this.helpers.assertArgumentNonEmptyString(pattern, 'pattern');
|
|
34
|
-
this.helpers.assertArgumentTimeout(timeout, 'timeout');
|
|
35
|
-
await this.helpers.assertContext(this.helpers.contextList.android);
|
|
36
|
-
var el = await this.helpers.getElement(locator, false, timeout);
|
|
37
|
-
var loc = await el.getLocation();
|
|
38
|
-
var locX = loc.x;
|
|
39
|
-
var locY = loc.y;
|
|
40
|
-
var cellSize = await el.getSize();
|
|
41
|
-
var cellW = Math.round(cellSize.width / cols);
|
|
42
|
-
var cellH = Math.round(cellSize.height / rows);
|
|
43
|
-
var pinToCellIndexMap = {};
|
|
44
|
-
var pinCounter = 1;
|
|
45
|
-
var cellCoords = [];
|
|
46
|
-
|
|
47
|
-
for (var r = 0; r < rows; r++) {
|
|
48
|
-
for (var c = 0; c < cols; c++) {
|
|
49
|
-
// populate coordinates for each cell
|
|
50
|
-
cellCoords.push({
|
|
51
|
-
x: locX + (cellW * c + cellW / 2),
|
|
52
|
-
y: locY + (cellH * r + cellH / 2)
|
|
53
|
-
}); // create mapping between pattern "pins" (hexadecimal numbers) and indices in cellCoords
|
|
54
|
-
|
|
55
|
-
pinToCellIndexMap[pinCounter.toString(16)] = pinCounter - 1;
|
|
56
|
-
pinCounter++;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
var actions = []; // initial press for the first pin
|
|
61
|
-
|
|
62
|
-
var cellIndex = pinToCellIndexMap[pattern[0]];
|
|
63
|
-
var coord = cellCoords[cellIndex];
|
|
64
|
-
var curCoordX = coord.x;
|
|
65
|
-
var curCoordY = coord.y;
|
|
66
|
-
actions.push({
|
|
67
|
-
action: 'press',
|
|
68
|
-
x: curCoordX,
|
|
69
|
-
y: curCoordY
|
|
70
|
-
}); // moveTo actions for the rest of the pins
|
|
71
|
-
|
|
72
|
-
for (var pin of pattern.substring(1)) {
|
|
73
|
-
cellIndex = pinToCellIndexMap[pin];
|
|
74
|
-
var nextCoord = cellCoords[cellIndex];
|
|
75
|
-
var offsetX = Math.abs(curCoordX - nextCoord.x);
|
|
76
|
-
var offsetY = Math.abs(curCoordY - nextCoord.y);
|
|
77
|
-
offsetX = curCoordX < nextCoord.x ? offsetX : -offsetX;
|
|
78
|
-
offsetY = curCoordY < nextCoord.y ? offsetY : -offsetY;
|
|
79
|
-
curCoordX = nextCoord.x;
|
|
80
|
-
curCoordY = nextCoord.y;
|
|
81
|
-
actions.push({
|
|
82
|
-
action: 'moveTo',
|
|
83
|
-
x: offsetX,
|
|
84
|
-
y: offsetY
|
|
85
|
-
});
|
|
86
|
-
} // final release action
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
actions.push('release');
|
|
90
|
-
await this.driver.touchAction(actions);
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvdW5sb2NrUGF0dGVybi5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibG9jYXRvciIsImNvbHMiLCJyb3dzIiwicGF0dGVybiIsInRpbWVvdXQiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnQiLCJhc3NlcnRBcmd1bWVudE51bWJlck5vbk5lZ2F0aXZlIiwiYXNzZXJ0QXJndW1lbnROb25FbXB0eVN0cmluZyIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImFzc2VydENvbnRleHQiLCJjb250ZXh0TGlzdCIsImFuZHJvaWQiLCJlbCIsImdldEVsZW1lbnQiLCJsb2MiLCJnZXRMb2NhdGlvbiIsImxvY1giLCJ4IiwibG9jWSIsInkiLCJjZWxsU2l6ZSIsImdldFNpemUiLCJjZWxsVyIsIk1hdGgiLCJyb3VuZCIsIndpZHRoIiwiY2VsbEgiLCJoZWlnaHQiLCJwaW5Ub0NlbGxJbmRleE1hcCIsInBpbkNvdW50ZXIiLCJjZWxsQ29vcmRzIiwiciIsImMiLCJwdXNoIiwidG9TdHJpbmciLCJhY3Rpb25zIiwiY2VsbEluZGV4IiwiY29vcmQiLCJjdXJDb29yZFgiLCJjdXJDb29yZFkiLCJhY3Rpb24iLCJwaW4iLCJzdWJzdHJpbmciLCJuZXh0Q29vcmQiLCJvZmZzZXRYIiwiYWJzIiwib2Zmc2V0WSIsImRyaXZlciIsInRvdWNoQWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxPQUFmLEVBQXdCQyxJQUF4QixFQUE4QkMsSUFBOUIsRUFBb0NDLE9BQXBDLEVBQTZDQyxPQUE3QyxFQUFzRDtBQUNuRSxPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJOLE9BQTVCLEVBQXFDLFNBQXJDO0FBQ0EsT0FBS0ssT0FBTCxDQUFhRSwrQkFBYixDQUE2Q04sSUFBN0MsRUFBbUQsTUFBbkQ7QUFDQSxPQUFLSSxPQUFMLENBQWFFLCtCQUFiLENBQTZDTCxJQUE3QyxFQUFtRCxNQUFuRDtBQUNBLE9BQUtHLE9BQUwsQ0FBYUcsNEJBQWIsQ0FBMENMLE9BQTFDLEVBQW1ELFNBQW5EO0FBQ0EsT0FBS0UsT0FBTCxDQUFhSSxxQkFBYixDQUFtQ0wsT0FBbkMsRUFBNEMsU0FBNUM7QUFDQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUssYUFBYixDQUEyQixLQUFLTCxPQUFMLENBQWFNLFdBQWIsQ0FBeUJDLE9BQXBELENBQU47QUFFQSxNQUFJQyxFQUFFLEdBQUcsTUFBTSxLQUFLUixPQUFMLENBQWFTLFVBQWIsQ0FBd0JkLE9BQXhCLEVBQWlDLEtBQWpDLEVBQXdDSSxPQUF4QyxDQUFmO0FBRUEsTUFBSVcsR0FBRyxHQUFHLE1BQU1GLEVBQUUsQ0FBQ0csV0FBSCxFQUFoQjtBQUNBLE1BQUlDLElBQUksR0FBR0YsR0FBRyxDQUFDRyxDQUFmO0FBQ0EsTUFBSUMsSUFBSSxHQUFHSixHQUFHLENBQUNLLENBQWY7QUFFQSxNQUFJQyxRQUFRLEdBQUcsTUFBTVIsRUFBRSxDQUFDUyxPQUFILEVBQXJCO0FBQ0EsTUFBSUMsS0FBSyxHQUFHQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0osUUFBUSxDQUFDSyxLQUFULEdBQWlCekIsSUFBNUIsQ0FBWjtBQUNBLE1BQUkwQixLQUFLLEdBQUdILElBQUksQ0FBQ0MsS0FBTCxDQUFXSixRQUFRLENBQUNPLE1BQVQsR0FBa0IxQixJQUE3QixDQUFaO0FBRUEsTUFBSTJCLGlCQUFpQixHQUFHLEVBQXhCO0FBQ0EsTUFBSUMsVUFBVSxHQUFHLENBQWpCO0FBQ0EsTUFBSUMsVUFBVSxHQUFHLEVBQWpCOztBQUNBLE9BQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRzlCLElBQXBCLEVBQTBCOEIsQ0FBQyxFQUEzQixFQUErQjtBQUMzQixTQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdoQyxJQUFwQixFQUEwQmdDLENBQUMsRUFBM0IsRUFBK0I7QUFDM0I7QUFDQUYsTUFBQUEsVUFBVSxDQUFDRyxJQUFYLENBQWdCO0FBQUVoQixRQUFBQSxDQUFDLEVBQUVELElBQUksSUFBSU0sS0FBSyxHQUFHVSxDQUFSLEdBQVlWLEtBQUssR0FBQyxDQUF0QixDQUFUO0FBQW1DSCxRQUFBQSxDQUFDLEVBQUVELElBQUksSUFBSVEsS0FBSyxHQUFHSyxDQUFSLEdBQVlMLEtBQUssR0FBQyxDQUF0QjtBQUExQyxPQUFoQixFQUYyQixDQUczQjs7QUFDQUUsTUFBQUEsaUJBQWlCLENBQUNDLFVBQVUsQ0FBQ0ssUUFBWCxDQUFvQixFQUFwQixDQUFELENBQWpCLEdBQTZDTCxVQUFVLEdBQUcsQ0FBMUQ7QUFDQUEsTUFBQUEsVUFBVTtBQUNiO0FBQ0o7O0FBRUQsTUFBSU0sT0FBTyxHQUFHLEVBQWQsQ0EvQm1FLENBaUNuRTs7QUFDQSxNQUFJQyxTQUFTLEdBQUdSLGlCQUFpQixDQUFDMUIsT0FBTyxDQUFDLENBQUQsQ0FBUixDQUFqQztBQUNBLE1BQUltQyxLQUFLLEdBQUdQLFVBQVUsQ0FBQ00sU0FBRCxDQUF0QjtBQUNBLE1BQUlFLFNBQVMsR0FBR0QsS0FBSyxDQUFDcEIsQ0FBdEI7QUFDQSxNQUFJc0IsU0FBUyxHQUFHRixLQUFLLENBQUNsQixDQUF0QjtBQUNBZ0IsRUFBQUEsT0FBTyxDQUFDRixJQUFSLENBQWE7QUFBRU8sSUFBQUEsTUFBTSxFQUFFLE9BQVY7QUFBbUJ2QixJQUFBQSxDQUFDLEVBQUdxQixTQUF2QjtBQUFrQ25CLElBQUFBLENBQUMsRUFBRW9CO0FBQXJDLEdBQWIsRUF0Q21FLENBd0NuRTs7QUFDQSxPQUFLLElBQUlFLEdBQVQsSUFBZ0J2QyxPQUFPLENBQUN3QyxTQUFSLENBQWtCLENBQWxCLENBQWhCLEVBQXNDO0FBQ2xDTixJQUFBQSxTQUFTLEdBQUdSLGlCQUFpQixDQUFDYSxHQUFELENBQTdCO0FBQ0EsUUFBSUUsU0FBUyxHQUFHYixVQUFVLENBQUNNLFNBQUQsQ0FBMUI7QUFFQSxRQUFJUSxPQUFPLEdBQUdyQixJQUFJLENBQUNzQixHQUFMLENBQVNQLFNBQVMsR0FBR0ssU0FBUyxDQUFDMUIsQ0FBL0IsQ0FBZDtBQUNBLFFBQUk2QixPQUFPLEdBQUd2QixJQUFJLENBQUNzQixHQUFMLENBQVNOLFNBQVMsR0FBR0ksU0FBUyxDQUFDeEIsQ0FBL0IsQ0FBZDtBQUNBeUIsSUFBQUEsT0FBTyxHQUFHTixTQUFTLEdBQUdLLFNBQVMsQ0FBQzFCLENBQXRCLEdBQTBCMkIsT0FBMUIsR0FBb0MsQ0FBQ0EsT0FBL0M7QUFDQUUsSUFBQUEsT0FBTyxHQUFHUCxTQUFTLEdBQUdJLFNBQVMsQ0FBQ3hCLENBQXRCLEdBQTBCMkIsT0FBMUIsR0FBb0MsQ0FBQ0EsT0FBL0M7QUFFQVIsSUFBQUEsU0FBUyxHQUFHSyxTQUFTLENBQUMxQixDQUF0QjtBQUNBc0IsSUFBQUEsU0FBUyxHQUFHSSxTQUFTLENBQUN4QixDQUF0QjtBQUVBZ0IsSUFBQUEsT0FBTyxDQUFDRixJQUFSLENBQWE7QUFBRU8sTUFBQUEsTUFBTSxFQUFFLFFBQVY7QUFBb0J2QixNQUFBQSxDQUFDLEVBQUUyQixPQUF2QjtBQUFnQ3pCLE1BQUFBLENBQUMsRUFBRTJCO0FBQW5DLEtBQWI7QUFDSCxHQXREa0UsQ0F3RG5FOzs7QUFDQVgsRUFBQUEsT0FBTyxDQUFDRixJQUFSLENBQWEsU0FBYjtBQUVBLFFBQU0sS0FBS2MsTUFBTCxDQUFZQyxXQUFaLENBQXdCYixPQUF4QixDQUFOO0FBQ0gsQ0E1REQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBVbmxvY2tzIGEgcGF0dGVybiBsb2NrXHJcbiAqIEBmdW5jdGlvbiB1bmxvY2tQYXR0ZXJuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfEVsZW1lbnR9IGxvY2F0b3IgLSBFbGVtZW50IGxvY2F0b3IgZm9yIHRoZSBwYXR0ZXJuIGxvY2suXHJcbiAqIEBwYXJhbSB7TnVtYmVyfSBjb2xzIC0gTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIHBhdHRlcm4uXHJcbiAqIEBwYXJhbSB7TnVtYmVyfSByb3dzIC0gTnVtYmVyIG9mIHJvd3MgaW4gdGhlIHBhdHRlcm4uXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBwYXR0ZXJuIC0gUGF0dGVybiBzZXF1ZW5jZS4gUGlucyBhcmUgaGV4YWRlY2ltYWwgYW5kIGNhc2Ugc2Vuc2l0aXZlLiBTZWUgZXhhbXBsZS5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQgaXMgNjAgc2Vjb25kcy5cclxuICogQGV4YW1wbGUgPGNhcHRpb24+UGF0dGVybiBwaW5zIGFyZSB0cmVhdGVkIHNpbWlsYXJseSBhcyB0aGUgbnVtYmVycyBvZiBhIHBob25lIGRpYWwuIEUuZy4gM3g0IHBhdHRlcm46PC9jYXB0aW9uPlxyXG4gKiAxIDIgM1xyXG4gKiA0IDUgNlxyXG4gKiA3IDggOVxyXG4gKiBhIGIgY1xyXG4gKiBAZm9yIGFuZHJvaWRcclxuICovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24obG9jYXRvciwgY29scywgcm93cywgcGF0dGVybiwgdGltZW91dCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50KGxvY2F0b3IsICdsb2NhdG9yJyk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZShjb2xzLCAnY29scycpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50TnVtYmVyTm9uTmVnYXRpdmUocm93cywgJ3Jvd3MnKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nKHBhdHRlcm4sICdwYXR0ZXJuJyk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnRUaW1lb3V0KHRpbWVvdXQsICd0aW1lb3V0Jyk7XHJcbiAgICBhd2FpdCB0aGlzLmhlbHBlcnMuYXNzZXJ0Q29udGV4dCh0aGlzLmhlbHBlcnMuY29udGV4dExpc3QuYW5kcm9pZCk7XHJcblxyXG4gICAgdmFyIGVsID0gYXdhaXQgdGhpcy5oZWxwZXJzLmdldEVsZW1lbnQobG9jYXRvciwgZmFsc2UsIHRpbWVvdXQpO1xyXG5cclxuICAgIHZhciBsb2MgPSBhd2FpdCBlbC5nZXRMb2NhdGlvbigpO1xyXG4gICAgdmFyIGxvY1ggPSBsb2MueDtcclxuICAgIHZhciBsb2NZID0gbG9jLnk7XHJcblxyXG4gICAgdmFyIGNlbGxTaXplID0gYXdhaXQgZWwuZ2V0U2l6ZSgpO1xyXG4gICAgdmFyIGNlbGxXID0gTWF0aC5yb3VuZChjZWxsU2l6ZS53aWR0aCAvIGNvbHMpO1xyXG4gICAgdmFyIGNlbGxIID0gTWF0aC5yb3VuZChjZWxsU2l6ZS5oZWlnaHQgLyByb3dzKTtcclxuXHJcbiAgICB2YXIgcGluVG9DZWxsSW5kZXhNYXAgPSB7fTtcclxuICAgIHZhciBwaW5Db3VudGVyID0gMTtcclxuICAgIHZhciBjZWxsQ29vcmRzID0gW107XHJcbiAgICBmb3IgKHZhciByID0gMDsgciA8IHJvd3M7IHIrKykge1xyXG4gICAgICAgIGZvciAodmFyIGMgPSAwOyBjIDwgY29sczsgYysrKSB7XHJcbiAgICAgICAgICAgIC8vIHBvcHVsYXRlIGNvb3JkaW5hdGVzIGZvciBlYWNoIGNlbGxcclxuICAgICAgICAgICAgY2VsbENvb3Jkcy5wdXNoKHsgeDogbG9jWCArIChjZWxsVyAqIGMgKyBjZWxsVy8yKSwgeTogbG9jWSArIChjZWxsSCAqIHIgKyBjZWxsSC8yKX0pO1xyXG4gICAgICAgICAgICAvLyBjcmVhdGUgbWFwcGluZyBiZXR3ZWVuIHBhdHRlcm4gXCJwaW5zXCIgKGhleGFkZWNpbWFsIG51bWJlcnMpIGFuZCBpbmRpY2VzIGluIGNlbGxDb29yZHNcclxuICAgICAgICAgICAgcGluVG9DZWxsSW5kZXhNYXBbcGluQ291bnRlci50b1N0cmluZygxNildID0gcGluQ291bnRlciAtIDE7XHJcbiAgICAgICAgICAgIHBpbkNvdW50ZXIrKztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGFjdGlvbnMgPSBbXTtcclxuXHJcbiAgICAvLyBpbml0aWFsIHByZXNzIGZvciB0aGUgZmlyc3QgcGluXHJcbiAgICB2YXIgY2VsbEluZGV4ID0gcGluVG9DZWxsSW5kZXhNYXBbcGF0dGVyblswXV07XHJcbiAgICB2YXIgY29vcmQgPSBjZWxsQ29vcmRzW2NlbGxJbmRleF07XHJcbiAgICB2YXIgY3VyQ29vcmRYID0gY29vcmQueDtcclxuICAgIHZhciBjdXJDb29yZFkgPSBjb29yZC55O1xyXG4gICAgYWN0aW9ucy5wdXNoKHsgYWN0aW9uOiAncHJlc3MnLCB4OiAgY3VyQ29vcmRYLCB5OiBjdXJDb29yZFl9KTtcclxuXHJcbiAgICAvLyBtb3ZlVG8gYWN0aW9ucyBmb3IgdGhlIHJlc3Qgb2YgdGhlIHBpbnNcclxuICAgIGZvciAodmFyIHBpbiBvZiBwYXR0ZXJuLnN1YnN0cmluZygxKSkge1xyXG4gICAgICAgIGNlbGxJbmRleCA9IHBpblRvQ2VsbEluZGV4TWFwW3Bpbl07XHJcbiAgICAgICAgdmFyIG5leHRDb29yZCA9IGNlbGxDb29yZHNbY2VsbEluZGV4XTtcclxuXHJcbiAgICAgICAgdmFyIG9mZnNldFggPSBNYXRoLmFicyhjdXJDb29yZFggLSBuZXh0Q29vcmQueCk7XHJcbiAgICAgICAgdmFyIG9mZnNldFkgPSBNYXRoLmFicyhjdXJDb29yZFkgLSBuZXh0Q29vcmQueSk7XHJcbiAgICAgICAgb2Zmc2V0WCA9IGN1ckNvb3JkWCA8IG5leHRDb29yZC54ID8gb2Zmc2V0WCA6IC1vZmZzZXRYO1xyXG4gICAgICAgIG9mZnNldFkgPSBjdXJDb29yZFkgPCBuZXh0Q29vcmQueSA/IG9mZnNldFkgOiAtb2Zmc2V0WTtcclxuXHJcbiAgICAgICAgY3VyQ29vcmRYID0gbmV4dENvb3JkLng7XHJcbiAgICAgICAgY3VyQ29vcmRZID0gbmV4dENvb3JkLnk7XHJcblxyXG4gICAgICAgIGFjdGlvbnMucHVzaCh7IGFjdGlvbjogJ21vdmVUbycsIHg6IG9mZnNldFgsIHk6IG9mZnNldFkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZmluYWwgcmVsZWFzZSBhY3Rpb25cclxuICAgIGFjdGlvbnMucHVzaCgncmVsZWFzZScpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMuZHJpdmVyLnRvdWNoQWN0aW9uKGFjdGlvbnMpO1xyXG59O1xyXG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Wait for an element for the provided amount of milliseconds to exist in DOM.
|
|
16
|
-
* @description The element is not necessary needs to be visible.
|
|
17
|
-
* @function waitForExist
|
|
18
|
-
* @param {String|Element} locator - Element locator.
|
|
19
|
-
* @param {Number=} timeout - Time in milliseconds to wait for the element. Default is 60 seconds.
|
|
20
|
-
* @for android, ios, hybrid, web
|
|
21
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
22
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
23
|
-
* mob.waitForExist('id=Element');//Wait for an element for the provided amount of milliseconds to exist in DOM.
|
|
24
|
-
*/
|
|
25
|
-
module.exports = async function (locator, timeout) {
|
|
26
|
-
this.helpers.assertArgumentTimeout(timeout, 'timeout');
|
|
27
|
-
await this.helpers.getElement(locator, false, timeout);
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvd2FpdEZvckV4aXN0LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJsb2NhdG9yIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudFRpbWVvdXQiLCJnZXRFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsT0FBZixFQUF3QkMsT0FBeEIsRUFBaUM7QUFDOUMsT0FBS0MsT0FBTCxDQUFhQyxxQkFBYixDQUFtQ0YsT0FBbkMsRUFBNEMsU0FBNUM7QUFDQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUUsVUFBYixDQUF3QkosT0FBeEIsRUFBaUMsS0FBakMsRUFBd0NDLE9BQXhDLENBQU47QUFDSCxDQUhEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgV2FpdCBmb3IgYW4gZWxlbWVudCBmb3IgdGhlIHByb3ZpZGVkIGFtb3VudCBvZiBtaWxsaXNlY29uZHMgdG8gZXhpc3QgaW4gRE9NLlxyXG4gKiBAZGVzY3JpcHRpb24gVGhlIGVsZW1lbnQgaXMgbm90IG5lY2Vzc2FyeSBuZWVkcyB0byBiZSB2aXNpYmxlLlxyXG4gKiBAZnVuY3Rpb24gd2FpdEZvckV4aXN0XHJcbiAqIEBwYXJhbSB7U3RyaW5nfEVsZW1lbnR9IGxvY2F0b3IgLSBFbGVtZW50IGxvY2F0b3IuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWUgaW4gbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIHRoZSBlbGVtZW50LiBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBmb3IgYW5kcm9pZCwgaW9zLCBoeWJyaWQsIHdlYlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogbW9iLmluaXQoY2Fwcyk7Ly9TdGFydHMgYSBtb2JpbGUgc2Vzc2lvbiBhbmQgb3BlbnMgYXBwIGZyb20gZGVzaXJlZCBjYXBhYmlsaXRpZXNcclxuICogbW9iLndhaXRGb3JFeGlzdCgnaWQ9RWxlbWVudCcpOy8vV2FpdCBmb3IgYW4gZWxlbWVudCBmb3IgdGhlIHByb3ZpZGVkIGFtb3VudCBvZiBtaWxsaXNlY29uZHMgdG8gZXhpc3QgaW4gRE9NLlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbihsb2NhdG9yLCB0aW1lb3V0KSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnRUaW1lb3V0KHRpbWVvdXQsICd0aW1lb3V0Jyk7XHJcbiAgICBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChsb2NhdG9yLCBmYWxzZSwgdGltZW91dCk7XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Waits for element to become interactable.
|
|
16
|
-
* @function waitForInteractable
|
|
17
|
-
* @param {String|Element} locator - An element locator.
|
|
18
|
-
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
19
|
-
* @for android, ios, hybrid, web
|
|
20
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
21
|
-
* mob.init();//Opens browser session.
|
|
22
|
-
* mob.waitForInteractable("id=UserName");//Waits for an element is clickable in DOM.
|
|
23
|
-
*/
|
|
24
|
-
module.exports = async function (locator, timeout) {
|
|
25
|
-
this.helpers.assertArgumentTimeout(timeout, 'timeout');
|
|
26
|
-
const el = await this.helpers.getElement(locator, false, timeout);
|
|
27
|
-
|
|
28
|
-
try {
|
|
29
|
-
await this.driver.waitUntil(async () => {
|
|
30
|
-
const clickable = await el.getAttribute('clickable');
|
|
31
|
-
const checkable = await el.getAttribute('checkable');
|
|
32
|
-
const focusable = await el.getAttribute('focusable');
|
|
33
|
-
const longClickable = await el.getAttribute('long-clickable');
|
|
34
|
-
return clickable || checkable || focusable || longClickable;
|
|
35
|
-
}, {
|
|
36
|
-
timeout: timeout ? timeout : this.waitForTimeout
|
|
37
|
-
});
|
|
38
|
-
} catch (e) {
|
|
39
|
-
throw new this.OxError(this.errHelper.errorCode.ELEMENT_NOT_INTERACTABLE, `Element ${locator} is not interactable`);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvd2FpdEZvckludGVyYWN0YWJsZS5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibG9jYXRvciIsInRpbWVvdXQiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnRUaW1lb3V0IiwiZWwiLCJnZXRFbGVtZW50IiwiZHJpdmVyIiwid2FpdFVudGlsIiwiY2xpY2thYmxlIiwiZ2V0QXR0cmlidXRlIiwiY2hlY2thYmxlIiwiZm9jdXNhYmxlIiwibG9uZ0NsaWNrYWJsZSIsIndhaXRGb3JUaW1lb3V0IiwiZSIsIk94RXJyb3IiLCJlcnJIZWxwZXIiLCJlcnJvckNvZGUiLCJFTEVNRU5UX05PVF9JTlRFUkFDVEFCTEUiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsT0FBZixFQUF3QkMsT0FBeEIsRUFBaUM7QUFDOUMsT0FBS0MsT0FBTCxDQUFhQyxxQkFBYixDQUFtQ0YsT0FBbkMsRUFBNEMsU0FBNUM7QUFDQSxRQUFNRyxFQUFFLEdBQUcsTUFBTSxLQUFLRixPQUFMLENBQWFHLFVBQWIsQ0FBd0JMLE9BQXhCLEVBQWlDLEtBQWpDLEVBQXdDQyxPQUF4QyxDQUFqQjs7QUFFQSxNQUFJO0FBQ0EsVUFBTSxLQUFLSyxNQUFMLENBQVlDLFNBQVosQ0FBc0IsWUFBVztBQUNuQyxZQUFNQyxTQUFTLEdBQUcsTUFBTUosRUFBRSxDQUFDSyxZQUFILENBQWdCLFdBQWhCLENBQXhCO0FBQ0EsWUFBTUMsU0FBUyxHQUFHLE1BQU1OLEVBQUUsQ0FBQ0ssWUFBSCxDQUFnQixXQUFoQixDQUF4QjtBQUNBLFlBQU1FLFNBQVMsR0FBRyxNQUFNUCxFQUFFLENBQUNLLFlBQUgsQ0FBZ0IsV0FBaEIsQ0FBeEI7QUFDQSxZQUFNRyxhQUFhLEdBQUcsTUFBTVIsRUFBRSxDQUFDSyxZQUFILENBQWdCLGdCQUFoQixDQUE1QjtBQUNBLGFBQVFELFNBQVMsSUFBSUUsU0FBYixJQUEwQkMsU0FBMUIsSUFBdUNDLGFBQS9DO0FBQ0gsS0FOSyxFQU9OO0FBQUVYLE1BQUFBLE9BQU8sRUFBR0EsT0FBTyxHQUFHQSxPQUFILEdBQWEsS0FBS1k7QUFBckMsS0FQTSxDQUFOO0FBUUgsR0FURCxDQVNFLE9BQU9DLENBQVAsRUFBVTtBQUNSLFVBQU0sSUFBSSxLQUFLQyxPQUFULENBQWlCLEtBQUtDLFNBQUwsQ0FBZUMsU0FBZixDQUF5QkMsd0JBQTFDLEVBQXFFLFdBQVVsQixPQUFRLHNCQUF2RixDQUFOO0FBQ0g7QUFDSixDQWhCRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFdhaXRzIGZvciBlbGVtZW50IHRvIGJlY29tZSBpbnRlcmFjdGFibGUuXHJcbiAqIEBmdW5jdGlvbiB3YWl0Rm9ySW50ZXJhY3RhYmxlXHJcbiAqIEBwYXJhbSB7U3RyaW5nfEVsZW1lbnR9IGxvY2F0b3IgLSBBbiBlbGVtZW50IGxvY2F0b3IuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBmb3IgYW5kcm9pZCwgaW9zLCBoeWJyaWQsIHdlYlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogbW9iLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvbi5cclxuICogbW9iLndhaXRGb3JJbnRlcmFjdGFibGUoXCJpZD1Vc2VyTmFtZVwiKTsvL1dhaXRzIGZvciBhbiBlbGVtZW50IGlzIGNsaWNrYWJsZSBpbiBET00uXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKGxvY2F0b3IsIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuICAgIGNvbnN0IGVsID0gYXdhaXQgdGhpcy5oZWxwZXJzLmdldEVsZW1lbnQobG9jYXRvciwgZmFsc2UsIHRpbWVvdXQpO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIud2FpdFVudGlsKGFzeW5jKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjbGlja2FibGUgPSBhd2FpdCBlbC5nZXRBdHRyaWJ1dGUoJ2NsaWNrYWJsZScpO1xyXG4gICAgICAgICAgICBjb25zdCBjaGVja2FibGUgPSBhd2FpdCBlbC5nZXRBdHRyaWJ1dGUoJ2NoZWNrYWJsZScpO1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c2FibGUgPSBhd2FpdCBlbC5nZXRBdHRyaWJ1dGUoJ2ZvY3VzYWJsZScpO1xyXG4gICAgICAgICAgICBjb25zdCBsb25nQ2xpY2thYmxlID0gYXdhaXQgZWwuZ2V0QXR0cmlidXRlKCdsb25nLWNsaWNrYWJsZScpO1xyXG4gICAgICAgICAgICByZXR1cm4gKGNsaWNrYWJsZSB8fCBjaGVja2FibGUgfHwgZm9jdXNhYmxlIHx8IGxvbmdDbGlja2FibGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyB0aW1lb3V0OiAodGltZW91dCA/IHRpbWVvdXQgOiB0aGlzLndhaXRGb3JUaW1lb3V0KSB9KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICB0aHJvdyBuZXcgdGhpcy5PeEVycm9yKHRoaXMuZXJySGVscGVyLmVycm9yQ29kZS5FTEVNRU5UX05PVF9JTlRFUkFDVEFCTEUsIGBFbGVtZW50ICR7bG9jYXRvcn0gaXMgbm90IGludGVyYWN0YWJsZWApO1xyXG4gICAgfVxyXG59O1xyXG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU General Public License as published by
|
|
10
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
* (at your option) any later version.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @summary Waits for element to become visible.
|
|
16
|
-
* @function waitForVisible
|
|
17
|
-
* @param {String|Element} locator - Element locator.
|
|
18
|
-
* @param {Number=} timeout - Time in milliseconds to wait for the element. Default is 60 seconds.
|
|
19
|
-
* @for android, ios, hybrid, web
|
|
20
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
21
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
22
|
-
* mob.waitForVisible("id=Title", 45*1000);//Waits for an element to be visible.
|
|
23
|
-
*/
|
|
24
|
-
module.exports = async function (locator, timeout) {
|
|
25
|
-
this.helpers.assertArgumentTimeout(timeout, 'timeout');
|
|
26
|
-
await this.helpers.getElement(locator, true, timeout);
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvd2FpdEZvclZpc2libGUuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImxvY2F0b3IiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImdldEVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsT0FBZixFQUF3QkMsT0FBeEIsRUFBaUM7QUFDOUMsT0FBS0MsT0FBTCxDQUFhQyxxQkFBYixDQUFtQ0YsT0FBbkMsRUFBNEMsU0FBNUM7QUFDQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUUsVUFBYixDQUF3QkosT0FBeEIsRUFBaUMsSUFBakMsRUFBdUNDLE9BQXZDLENBQU47QUFDSCxDQUhEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgV2FpdHMgZm9yIGVsZW1lbnQgdG8gYmVjb21lIHZpc2libGUuXHJcbiAqIEBmdW5jdGlvbiB3YWl0Rm9yVmlzaWJsZVxyXG4gKiBAcGFyYW0ge1N0cmluZ3xFbGVtZW50fSBsb2NhdG9yIC0gRWxlbWVudCBsb2NhdG9yLlxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lIGluIG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciB0aGUgZWxlbWVudC4gRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAZm9yIGFuZHJvaWQsIGlvcywgaHlicmlkLCB3ZWJcclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIG1vYi5pbml0KGNhcHMpOy8vU3RhcnRzIGEgbW9iaWxlIHNlc3Npb24gYW5kIG9wZW5zIGFwcCBmcm9tIGRlc2lyZWQgY2FwYWJpbGl0aWVzXHJcbiAqIG1vYi53YWl0Rm9yVmlzaWJsZShcImlkPVRpdGxlXCIsIDQ1KjEwMDApOy8vV2FpdHMgZm9yIGFuIGVsZW1lbnQgdG8gIGJlIHZpc2libGUuXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKGxvY2F0b3IsIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuICAgIGF3YWl0IHRoaXMuaGVscGVycy5nZXRFbGVtZW50KGxvY2F0b3IsIHRydWUsIHRpbWVvdXQpO1xyXG59O1xyXG4iXX0=
|