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.
Files changed (232) hide show
  1. package/CHANGELOG.md +0 -50
  2. package/build/core/OxygenCore.js +56 -145
  3. package/build/errors/OxygenError.js +5 -15
  4. package/build/errors/helper.js +45 -49
  5. package/build/index.js +14 -6
  6. package/build/lib/cli-util.js +19 -19
  7. package/build/lib/cli.js +4 -2
  8. package/build/lib/parallel-launcher.js +333 -0
  9. package/build/lib/param-manager.js +66 -47
  10. package/build/lib/util.js +38 -9
  11. package/build/ox_modules/index.js +1 -97
  12. package/build/ox_modules/module-assert.js +19 -9
  13. package/build/ox_modules/module-dns.js +220 -0
  14. package/build/ox_modules/module-http.js +39 -51
  15. package/build/ox_modules/module-shell.js +19 -75
  16. package/build/ox_modules/module-utils.js +1 -108
  17. package/build/ox_modules/utils.js +1 -357
  18. package/build/reporter/FileReporterBase.js +5 -5
  19. package/build/reporter/ReportAggregator.js +127 -4
  20. package/build/runners/WorkerProcess.js +15 -28
  21. package/build/runners/index.js +2 -6
  22. package/build/runners/oxygen/OxygenWorker.js +8 -8
  23. package/build/runners/oxygen/index.js +17 -18
  24. package/build/runners/oxygen/worker.js +10 -8
  25. package/package.json +12 -46
  26. package/build/lib/img-merge.js +0 -163
  27. package/build/ox_modules/module-db.js +0 -146
  28. package/build/ox_modules/module-email.js +0 -212
  29. package/build/ox_modules/module-eyes.js +0 -189
  30. package/build/ox_modules/module-mailinator.js +0 -207
  31. package/build/ox_modules/module-mob/commands/alertAccept.js +0 -35
  32. package/build/ox_modules/module-mob/commands/alertDismiss.js +0 -35
  33. package/build/ox_modules/module-mob/commands/assertAlert.js +0 -56
  34. package/build/ox_modules/module-mob/commands/assertText.js +0 -45
  35. package/build/ox_modules/module-mob/commands/assertTitle.js +0 -43
  36. package/build/ox_modules/module-mob/commands/assertValue.js +0 -66
  37. package/build/ox_modules/module-mob/commands/back.js +0 -27
  38. package/build/ox_modules/module-mob/commands/clear.js +0 -40
  39. package/build/ox_modules/module-mob/commands/click.js +0 -35
  40. package/build/ox_modules/module-mob/commands/clickHidden.js +0 -52
  41. package/build/ox_modules/module-mob/commands/clickLong.js +0 -34
  42. package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +0 -37
  43. package/build/ox_modules/module-mob/commands/closeApp.js +0 -27
  44. package/build/ox_modules/module-mob/commands/debug.js +0 -26
  45. package/build/ox_modules/module-mob/commands/dragAndDrop.js +0 -38
  46. package/build/ox_modules/module-mob/commands/enableNetwork.js +0 -75
  47. package/build/ox_modules/module-mob/commands/execute.js +0 -32
  48. package/build/ox_modules/module-mob/commands/findElement.js +0 -36
  49. package/build/ox_modules/module-mob/commands/findElements.js +0 -39
  50. package/build/ox_modules/module-mob/commands/getAlertText.js +0 -31
  51. package/build/ox_modules/module-mob/commands/getAppiumLogs.js +0 -26
  52. package/build/ox_modules/module-mob/commands/getBrowserLogs.js +0 -66
  53. package/build/ox_modules/module-mob/commands/getCurrentActivity.js +0 -26
  54. package/build/ox_modules/module-mob/commands/getCurrentPackage.js +0 -26
  55. package/build/ox_modules/module-mob/commands/getDeviceLogs.js +0 -57
  56. package/build/ox_modules/module-mob/commands/getDeviceTime.js +0 -27
  57. package/build/ox_modules/module-mob/commands/getLocation.js +0 -32
  58. package/build/ox_modules/module-mob/commands/getSource.js +0 -26
  59. package/build/ox_modules/module-mob/commands/getText.js +0 -36
  60. package/build/ox_modules/module-mob/commands/getTitle.js +0 -24
  61. package/build/ox_modules/module-mob/commands/getUrl.js +0 -28
  62. package/build/ox_modules/module-mob/commands/getValue.js +0 -50
  63. package/build/ox_modules/module-mob/commands/getWindowHandles.js +0 -27
  64. package/build/ox_modules/module-mob/commands/hideKeyboard.js +0 -33
  65. package/build/ox_modules/module-mob/commands/index.js +0 -594
  66. package/build/ox_modules/module-mob/commands/installApp.js +0 -28
  67. package/build/ox_modules/module-mob/commands/isAppInstalled.js +0 -28
  68. package/build/ox_modules/module-mob/commands/isCheckable.js +0 -31
  69. package/build/ox_modules/module-mob/commands/isChecked.js +0 -31
  70. package/build/ox_modules/module-mob/commands/isClickable.js +0 -31
  71. package/build/ox_modules/module-mob/commands/isExist.js +0 -36
  72. package/build/ox_modules/module-mob/commands/isSelected.js +0 -36
  73. package/build/ox_modules/module-mob/commands/isVisible.js +0 -36
  74. package/build/ox_modules/module-mob/commands/isWebViewContext.js +0 -27
  75. package/build/ox_modules/module-mob/commands/launchApp.js +0 -26
  76. package/build/ox_modules/module-mob/commands/longPressKeyCode.js +0 -30
  77. package/build/ox_modules/module-mob/commands/open.js +0 -43
  78. package/build/ox_modules/module-mob/commands/pause.js +0 -27
  79. package/build/ox_modules/module-mob/commands/removeApp.js +0 -28
  80. package/build/ox_modules/module-mob/commands/resetApp.js +0 -26
  81. package/build/ox_modules/module-mob/commands/scrollIntoElement.js +0 -86
  82. package/build/ox_modules/module-mob/commands/scrollIntoView.js +0 -40
  83. package/build/ox_modules/module-mob/commands/select.js +0 -54
  84. package/build/ox_modules/module-mob/commands/selectFrame.js +0 -53
  85. package/build/ox_modules/module-mob/commands/selectWindow.js +0 -149
  86. package/build/ox_modules/module-mob/commands/sendKeys.js +0 -84
  87. package/build/ox_modules/module-mob/commands/setContext.js +0 -28
  88. package/build/ox_modules/module-mob/commands/setNativeContext.js +0 -26
  89. package/build/ox_modules/module-mob/commands/setTimeout.js +0 -33
  90. package/build/ox_modules/module-mob/commands/setWebViewContext.js +0 -39
  91. package/build/ox_modules/module-mob/commands/shake.js +0 -27
  92. package/build/ox_modules/module-mob/commands/smsClickLink.js +0 -32
  93. package/build/ox_modules/module-mob/commands/smsGetText.js +0 -45
  94. package/build/ox_modules/module-mob/commands/swipe.js +0 -58
  95. package/build/ox_modules/module-mob/commands/swipeElement.js +0 -58
  96. package/build/ox_modules/module-mob/commands/swipeScreen.js +0 -56
  97. package/build/ox_modules/module-mob/commands/takeScreenshot.js +0 -27
  98. package/build/ox_modules/module-mob/commands/tap.js +0 -34
  99. package/build/ox_modules/module-mob/commands/type.js +0 -67
  100. package/build/ox_modules/module-mob/commands/unlockPattern.js +0 -92
  101. package/build/ox_modules/module-mob/commands/waitForExist.js +0 -29
  102. package/build/ox_modules/module-mob/commands/waitForInteractable.js +0 -42
  103. package/build/ox_modules/module-mob/commands/waitForVisible.js +0 -28
  104. package/build/ox_modules/module-mob.js +0 -699
  105. package/build/ox_modules/module-pdf.js +0 -328
  106. package/build/ox_modules/module-proxy.js +0 -324
  107. package/build/ox_modules/module-serial.js +0 -187
  108. package/build/ox_modules/module-soap.js +0 -260
  109. package/build/ox_modules/module-twilio.js +0 -192
  110. package/build/ox_modules/module-web/commands/alertAccept.js +0 -35
  111. package/build/ox_modules/module-web/commands/alertDismiss.js +0 -35
  112. package/build/ox_modules/module-web/commands/assertAlert.js +0 -55
  113. package/build/ox_modules/module-web/commands/assertExist.js +0 -28
  114. package/build/ox_modules/module-web/commands/assertSelectedLabel.js +0 -51
  115. package/build/ox_modules/module-web/commands/assertSelectedValue.js +0 -45
  116. package/build/ox_modules/module-web/commands/assertText.js +0 -45
  117. package/build/ox_modules/module-web/commands/assertTextNotPresent.js +0 -56
  118. package/build/ox_modules/module-web/commands/assertTextPresent.js +0 -52
  119. package/build/ox_modules/module-web/commands/assertTitle.js +0 -42
  120. package/build/ox_modules/module-web/commands/assertValue.js +0 -44
  121. package/build/ox_modules/module-web/commands/back.js +0 -27
  122. package/build/ox_modules/module-web/commands/clear.js +0 -41
  123. package/build/ox_modules/module-web/commands/click.js +0 -112
  124. package/build/ox_modules/module-web/commands/clickHidden.js +0 -79
  125. package/build/ox_modules/module-web/commands/closeWindow.js +0 -25
  126. package/build/ox_modules/module-web/commands/debug.js +0 -25
  127. package/build/ox_modules/module-web/commands/deleteCookies.js +0 -22
  128. package/build/ox_modules/module-web/commands/deselect.js +0 -34
  129. package/build/ox_modules/module-web/commands/doubleClick.js +0 -65
  130. package/build/ox_modules/module-web/commands/dragAndDrop.js +0 -36
  131. package/build/ox_modules/module-web/commands/execute.js +0 -36
  132. package/build/ox_modules/module-web/commands/fileBrowse.js +0 -72
  133. package/build/ox_modules/module-web/commands/findElement.js +0 -35
  134. package/build/ox_modules/module-web/commands/findElements.js +0 -38
  135. package/build/ox_modules/module-web/commands/fullscreenWindow.js +0 -24
  136. package/build/ox_modules/module-web/commands/getAlertText.js +0 -30
  137. package/build/ox_modules/module-web/commands/getAttribute.js +0 -38
  138. package/build/ox_modules/module-web/commands/getBrowserLogs.js +0 -34
  139. package/build/ox_modules/module-web/commands/getCookies.js +0 -23
  140. package/build/ox_modules/module-web/commands/getCssValue.js +0 -38
  141. package/build/ox_modules/module-web/commands/getElementCount.js +0 -29
  142. package/build/ox_modules/module-web/commands/getHTML.js +0 -30
  143. package/build/ox_modules/module-web/commands/getSource.js +0 -26
  144. package/build/ox_modules/module-web/commands/getText.js +0 -36
  145. package/build/ox_modules/module-web/commands/getTitle.js +0 -22
  146. package/build/ox_modules/module-web/commands/getUrl.js +0 -26
  147. package/build/ox_modules/module-web/commands/getValue.js +0 -43
  148. package/build/ox_modules/module-web/commands/getWindowHandles.js +0 -26
  149. package/build/ox_modules/module-web/commands/getWindowSize.js +0 -26
  150. package/build/ox_modules/module-web/commands/getXMLPageSource.js +0 -51
  151. package/build/ox_modules/module-web/commands/index.js +0 -634
  152. package/build/ox_modules/module-web/commands/isAlertPresent.js +0 -31
  153. package/build/ox_modules/module-web/commands/isChecked.js +0 -30
  154. package/build/ox_modules/module-web/commands/isExist.js +0 -36
  155. package/build/ox_modules/module-web/commands/isSelected.js +0 -35
  156. package/build/ox_modules/module-web/commands/isVisible.js +0 -36
  157. package/build/ox_modules/module-web/commands/makeVisible.js +0 -74
  158. package/build/ox_modules/module-web/commands/maximizeWindow.js +0 -24
  159. package/build/ox_modules/module-web/commands/minimizeWindow.js +0 -24
  160. package/build/ox_modules/module-web/commands/newWindow.js +0 -27
  161. package/build/ox_modules/module-web/commands/open.js +0 -42
  162. package/build/ox_modules/module-web/commands/pause.js +0 -26
  163. package/build/ox_modules/module-web/commands/point.js +0 -37
  164. package/build/ox_modules/module-web/commands/pointJS.js +0 -56
  165. package/build/ox_modules/module-web/commands/refresh.js +0 -26
  166. package/build/ox_modules/module-web/commands/rightClick.js +0 -61
  167. package/build/ox_modules/module-web/commands/rightClickActions.js +0 -57
  168. package/build/ox_modules/module-web/commands/scrollToElement.js +0 -33
  169. package/build/ox_modules/module-web/commands/select.js +0 -55
  170. package/build/ox_modules/module-web/commands/selectFrame.js +0 -52
  171. package/build/ox_modules/module-web/commands/selectWindow.js +0 -148
  172. package/build/ox_modules/module-web/commands/sendKeys.js +0 -56
  173. package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +0 -33
  174. package/build/ox_modules/module-web/commands/setTimeout.js +0 -33
  175. package/build/ox_modules/module-web/commands/setWindowSize.js +0 -29
  176. package/build/ox_modules/module-web/commands/takeScreenshot.js +0 -37
  177. package/build/ox_modules/module-web/commands/type.js +0 -52
  178. package/build/ox_modules/module-web/commands/waitForAngular.js +0 -83
  179. package/build/ox_modules/module-web/commands/waitForExist.js +0 -28
  180. package/build/ox_modules/module-web/commands/waitForInteractable.js +0 -31
  181. package/build/ox_modules/module-web/commands/waitForNotExist.js +0 -57
  182. package/build/ox_modules/module-web/commands/waitForNotText.js +0 -45
  183. package/build/ox_modules/module-web/commands/waitForNotValue.js +0 -45
  184. package/build/ox_modules/module-web/commands/waitForText.js +0 -45
  185. package/build/ox_modules/module-web/commands/waitForValue.js +0 -45
  186. package/build/ox_modules/module-web/commands/waitForVisible.js +0 -28
  187. package/build/ox_modules/module-web/commands/waitForWindow.js +0 -118
  188. package/build/ox_modules/module-web.js +0 -909
  189. package/build/ox_modules/module-win/commands/assertText.js +0 -41
  190. package/build/ox_modules/module-win/commands/assertTitle.js +0 -38
  191. package/build/ox_modules/module-win/commands/assertValue.js +0 -62
  192. package/build/ox_modules/module-win/commands/back.js +0 -21
  193. package/build/ox_modules/module-win/commands/clear.js +0 -34
  194. package/build/ox_modules/module-win/commands/click.js +0 -25
  195. package/build/ox_modules/module-win/commands/clickLong.js +0 -30
  196. package/build/ox_modules/module-win/commands/clickMultipleTimes.js +0 -33
  197. package/build/ox_modules/module-win/commands/findElement.js +0 -31
  198. package/build/ox_modules/module-win/commands/findElements.js +0 -31
  199. package/build/ox_modules/module-win/commands/getAppiumLogs.js +0 -22
  200. package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +0 -25
  201. package/build/ox_modules/module-win/commands/getLocation.js +0 -26
  202. package/build/ox_modules/module-win/commands/getSource.js +0 -22
  203. package/build/ox_modules/module-win/commands/getText.js +0 -32
  204. package/build/ox_modules/module-win/commands/getValue.js +0 -46
  205. package/build/ox_modules/module-win/commands/getWindowHandles.js +0 -25
  206. package/build/ox_modules/module-win/commands/index.js +0 -298
  207. package/build/ox_modules/module-win/commands/isCheckable.js +0 -26
  208. package/build/ox_modules/module-win/commands/isChecked.js +0 -26
  209. package/build/ox_modules/module-win/commands/isClickable.js +0 -26
  210. package/build/ox_modules/module-win/commands/isExist.js +0 -32
  211. package/build/ox_modules/module-win/commands/isSelected.js +0 -26
  212. package/build/ox_modules/module-win/commands/isVisible.js +0 -32
  213. package/build/ox_modules/module-win/commands/open.js +0 -24
  214. package/build/ox_modules/module-win/commands/pause.js +0 -23
  215. package/build/ox_modules/module-win/commands/rightClick.js +0 -30
  216. package/build/ox_modules/module-win/commands/selectWindow.js +0 -97
  217. package/build/ox_modules/module-win/commands/sendKeys.js +0 -50
  218. package/build/ox_modules/module-win/commands/setTimeout.js +0 -29
  219. package/build/ox_modules/module-win/commands/takeScreenshot.js +0 -26
  220. package/build/ox_modules/module-win/commands/tap.js +0 -29
  221. package/build/ox_modules/module-win/commands/type.js +0 -38
  222. package/build/ox_modules/module-win/commands/waitForExist.js +0 -25
  223. package/build/ox_modules/module-win/commands/waitForInteractable.js +0 -43
  224. package/build/ox_modules/module-win/commands/waitForVisible.js +0 -24
  225. package/build/ox_modules/module-win.js +0 -367
  226. package/build/ox_services/service-devtools/submodule-network.js +0 -338
  227. package/build/ox_services/service-devtools.js +0 -83
  228. package/build/runners/cucumber/CucumberEventListener.js +0 -181
  229. package/build/runners/cucumber/CucumberReporter.js +0 -277
  230. package/build/runners/cucumber/CucumberWorker.js +0 -337
  231. package/build/runners/cucumber/index.js +0 -159
  232. package/build/runners/cucumber/worker.js +0 -184
@@ -1,57 +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 right click on an element.
16
- * @function rightClickActions
17
- * @param {String|Element} locator - An element locator.
18
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
19
- * @param {Number=} xOffset - x offset in pixels. Default is 0.
20
- * @param {Number=} yOffset - y offset in pixels. Default is 0.
21
- * @example <caption>[javascript] Usage example</caption>
22
- * web.init();
23
- * web.open("www.yourwebsite.com");
24
- * web.rightClickActions("id=someElement", 10, -5);
25
- */
26
- module.exports = async function (locator, xOffset = 0, yOffset = 0, timeout) {
27
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
28
- this.helpers.assertArgumentNumber(xOffset, 'xOffset');
29
- this.helpers.assertArgumentNumber(yOffset, 'yOffset');
30
- const el = await this.helpers.getElement(locator, false, timeout);
31
- const loc = await el.getLocation();
32
- const x = parseInt(loc.x) + xOffset;
33
- const y = parseInt(loc.y) + yOffset;
34
- await this.driver.performActions([{
35
- type: 'pointer',
36
- id: 'pointer1',
37
- parameters: {
38
- pointerType: 'mouse'
39
- },
40
- actions: [{
41
- type: 'pointerMove',
42
- duration: 100,
43
- x: x,
44
- y: y
45
- }, {
46
- type: 'pointerDown',
47
- button: 2
48
- }, {
49
- type: 'pointerUp',
50
- button: 2
51
- }]
52
- }]);
53
- const releaseActionsRetVal = await this.driver.releaseActions();
54
- await this.checkWaitForAngular();
55
- return releaseActionsRetVal;
56
- };
57
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvcmlnaHRDbGlja0FjdGlvbnMuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImxvY2F0b3IiLCJ4T2Zmc2V0IiwieU9mZnNldCIsInRpbWVvdXQiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnRUaW1lb3V0IiwiYXNzZXJ0QXJndW1lbnROdW1iZXIiLCJlbCIsImdldEVsZW1lbnQiLCJsb2MiLCJnZXRMb2NhdGlvbiIsIngiLCJwYXJzZUludCIsInkiLCJkcml2ZXIiLCJwZXJmb3JtQWN0aW9ucyIsInR5cGUiLCJpZCIsInBhcmFtZXRlcnMiLCJwb2ludGVyVHlwZSIsImFjdGlvbnMiLCJkdXJhdGlvbiIsImJ1dHRvbiIsInJlbGVhc2VBY3Rpb25zUmV0VmFsIiwicmVsZWFzZUFjdGlvbnMiLCJjaGVja1dhaXRGb3JBbmd1bGFyIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxPQUFmLEVBQXdCQyxPQUFPLEdBQUcsQ0FBbEMsRUFBcUNDLE9BQU8sR0FBRyxDQUEvQyxFQUFrREMsT0FBbEQsRUFBMkQ7QUFDeEUsT0FBS0MsT0FBTCxDQUFhQyxxQkFBYixDQUFtQ0YsT0FBbkMsRUFBNEMsU0FBNUM7QUFDQSxPQUFLQyxPQUFMLENBQWFFLG9CQUFiLENBQWtDTCxPQUFsQyxFQUEyQyxTQUEzQztBQUNBLE9BQUtHLE9BQUwsQ0FBYUUsb0JBQWIsQ0FBa0NKLE9BQWxDLEVBQTJDLFNBQTNDO0FBRUEsUUFBTUssRUFBRSxHQUFHLE1BQU0sS0FBS0gsT0FBTCxDQUFhSSxVQUFiLENBQXdCUixPQUF4QixFQUFpQyxLQUFqQyxFQUF3Q0csT0FBeEMsQ0FBakI7QUFDQSxRQUFNTSxHQUFHLEdBQUcsTUFBTUYsRUFBRSxDQUFDRyxXQUFILEVBQWxCO0FBRUEsUUFBTUMsQ0FBQyxHQUFHQyxRQUFRLENBQUNILEdBQUcsQ0FBQ0UsQ0FBTCxDQUFSLEdBQWtCVixPQUE1QjtBQUNBLFFBQU1ZLENBQUMsR0FBR0QsUUFBUSxDQUFDSCxHQUFHLENBQUNJLENBQUwsQ0FBUixHQUFrQlgsT0FBNUI7QUFFQSxRQUFNLEtBQUtZLE1BQUwsQ0FBWUMsY0FBWixDQUEyQixDQUFDO0FBQzlCQyxJQUFBQSxJQUFJLEVBQUUsU0FEd0I7QUFFOUJDLElBQUFBLEVBQUUsRUFBRSxVQUYwQjtBQUc5QkMsSUFBQUEsVUFBVSxFQUFFO0FBQ1JDLE1BQUFBLFdBQVcsRUFBRTtBQURMLEtBSGtCO0FBTTlCQyxJQUFBQSxPQUFPLEVBQUUsQ0FDTDtBQUNJSixNQUFBQSxJQUFJLEVBQUUsYUFEVjtBQUVJSyxNQUFBQSxRQUFRLEVBQUUsR0FGZDtBQUdJVixNQUFBQSxDQUFDLEVBQUVBLENBSFA7QUFJSUUsTUFBQUEsQ0FBQyxFQUFFQTtBQUpQLEtBREssRUFPTDtBQUNJRyxNQUFBQSxJQUFJLEVBQUUsYUFEVjtBQUVJTSxNQUFBQSxNQUFNLEVBQUU7QUFGWixLQVBLLEVBVUY7QUFDQ04sTUFBQUEsSUFBSSxFQUFFLFdBRFA7QUFFQ00sTUFBQUEsTUFBTSxFQUFFO0FBRlQsS0FWRTtBQU5xQixHQUFELENBQTNCLENBQU47QUFzQkEsUUFBTUMsb0JBQW9CLEdBQUcsTUFBTSxLQUFLVCxNQUFMLENBQVlVLGNBQVosRUFBbkM7QUFDQSxRQUFNLEtBQUtDLG1CQUFMLEVBQU47QUFDQSxTQUFPRixvQkFBUDtBQUNILENBcENEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgUGVyZm9ybSByaWdodCBjbGljayBvbiBhbiBlbGVtZW50LlxyXG4gKiBAZnVuY3Rpb24gcmlnaHRDbGlja0FjdGlvbnNcclxuICogQHBhcmFtIHtTdHJpbmd8RWxlbWVudH0gbG9jYXRvciAtIEFuIGVsZW1lbnQgbG9jYXRvci5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQgaXMgNjAgc2Vjb25kcy5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB4T2Zmc2V0IC0geCBvZmZzZXQgaW4gcGl4ZWxzLiBEZWZhdWx0IGlzIDAuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0geU9mZnNldCAtIHkgb2Zmc2V0IGluIHBpeGVscy4gRGVmYXVsdCBpcyAwLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTtcclxuICogd2ViLm9wZW4oXCJ3d3cueW91cndlYnNpdGUuY29tXCIpO1xyXG4gKiB3ZWIucmlnaHRDbGlja0FjdGlvbnMoXCJpZD1zb21lRWxlbWVudFwiLCAxMCwgLTUpO1xyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbihsb2NhdG9yLCB4T2Zmc2V0ID0gMCwgeU9mZnNldCA9IDAsIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudE51bWJlcih4T2Zmc2V0LCAneE9mZnNldCcpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50TnVtYmVyKHlPZmZzZXQsICd5T2Zmc2V0Jyk7XHJcblxyXG4gICAgY29uc3QgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChsb2NhdG9yLCBmYWxzZSwgdGltZW91dCk7XHJcbiAgICBjb25zdCBsb2MgPSBhd2FpdCBlbC5nZXRMb2NhdGlvbigpO1xyXG5cclxuICAgIGNvbnN0IHggPSBwYXJzZUludChsb2MueCkgKyB4T2Zmc2V0O1xyXG4gICAgY29uc3QgeSA9IHBhcnNlSW50KGxvYy55KSArIHlPZmZzZXQ7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5kcml2ZXIucGVyZm9ybUFjdGlvbnMoW3tcclxuICAgICAgICB0eXBlOiAncG9pbnRlcicsXHJcbiAgICAgICAgaWQ6ICdwb2ludGVyMScsXHJcbiAgICAgICAgcGFyYW1ldGVyczoge1xyXG4gICAgICAgICAgICBwb2ludGVyVHlwZTogJ21vdXNlJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWN0aW9uczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAncG9pbnRlck1vdmUnLFxyXG4gICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCxcclxuICAgICAgICAgICAgICAgIHg6IHgsXHJcbiAgICAgICAgICAgICAgICB5OiB5XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdwb2ludGVyRG93bicsXHJcbiAgICAgICAgICAgICAgICBidXR0b246IDJcclxuICAgICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3BvaW50ZXJVcCcsXHJcbiAgICAgICAgICAgICAgICBidXR0b246IDJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH1dKTtcclxuICAgIGNvbnN0IHJlbGVhc2VBY3Rpb25zUmV0VmFsID0gYXdhaXQgdGhpcy5kcml2ZXIucmVsZWFzZUFjdGlvbnMoKTtcclxuICAgIGF3YWl0IHRoaXMuY2hlY2tXYWl0Rm9yQW5ndWxhcigpO1xyXG4gICAgcmV0dXJuIHJlbGVhc2VBY3Rpb25zUmV0VmFsO1xyXG59OyJdfQ==
@@ -1,33 +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 Scrolls the page or a container element to the location of the specified element.
16
- * @function scrollToElement
17
- * @param {String|Element} locator - An element locator.
18
- * @param {Boolean=} alignToTop - If true, the top of the element will be aligned to the top of the
19
- * visible area of the scrollable ancestor. This is the default.
20
- * If false, the bottom of the element will be aligned to the bottom
21
- * of the visible area of the scrollable ancestor.
22
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
23
- * @example <caption>[javascript] Usage example</caption>
24
- * web.init();//Opens browser session.
25
- * web.open("www.yourwebsite.com");// Opens a website.
26
- * web.scrollToElement("id=Button", true);// Scrolls to an element.
27
- */
28
- module.exports = async function (locator, alignToTop = true, timeout) {
29
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
30
- var el = await this.helpers.getElement(locator, false, timeout);
31
- await el.scrollIntoView(alignToTop);
32
- };
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvc2Nyb2xsVG9FbGVtZW50LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJsb2NhdG9yIiwiYWxpZ25Ub1RvcCIsInRpbWVvdXQiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnRUaW1lb3V0IiwiZWwiLCJnZXRFbGVtZW50Iiwic2Nyb2xsSW50b1ZpZXciXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxPQUFmLEVBQXdCQyxVQUFVLEdBQUcsSUFBckMsRUFBMkNDLE9BQTNDLEVBQW9EO0FBQ2pFLE9BQUtDLE9BQUwsQ0FBYUMscUJBQWIsQ0FBbUNGLE9BQW5DLEVBQTRDLFNBQTVDO0FBRUEsTUFBSUcsRUFBRSxHQUFHLE1BQU0sS0FBS0YsT0FBTCxDQUFhRyxVQUFiLENBQXdCTixPQUF4QixFQUFpQyxLQUFqQyxFQUF3Q0UsT0FBeEMsQ0FBZjtBQUNBLFFBQU1HLEVBQUUsQ0FBQ0UsY0FBSCxDQUFrQk4sVUFBbEIsQ0FBTjtBQUNILENBTEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBTY3JvbGxzIHRoZSBwYWdlIG9yIGEgY29udGFpbmVyIGVsZW1lbnQgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBzcGVjaWZpZWQgZWxlbWVudC5cclxuICogQGZ1bmN0aW9uIHNjcm9sbFRvRWxlbWVudFxyXG4gKiBAcGFyYW0ge1N0cmluZ3xFbGVtZW50fSBsb2NhdG9yIC0gQW4gZWxlbWVudCBsb2NhdG9yLlxyXG4gKiBAcGFyYW0ge0Jvb2xlYW49fSBhbGlnblRvVG9wIC0gSWYgdHJ1ZSwgdGhlIHRvcCBvZiB0aGUgZWxlbWVudCB3aWxsIGJlIGFsaWduZWQgdG8gdGhlIHRvcCBvZiB0aGUgXHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlIGFyZWEgb2YgdGhlIHNjcm9sbGFibGUgYW5jZXN0b3IuIFRoaXMgaXMgdGhlIGRlZmF1bHQuXHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBmYWxzZSwgdGhlIGJvdHRvbSBvZiB0aGUgZWxlbWVudCB3aWxsIGJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbSBcclxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSB2aXNpYmxlIGFyZWEgb2YgdGhlIHNjcm9sbGFibGUgYW5jZXN0b3IuIFxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvbi5cclxuICogd2ViLm9wZW4oXCJ3d3cueW91cndlYnNpdGUuY29tXCIpOy8vIE9wZW5zIGEgd2Vic2l0ZS5cclxuICogd2ViLnNjcm9sbFRvRWxlbWVudChcImlkPUJ1dHRvblwiLCB0cnVlKTsvLyBTY3JvbGxzIHRvIGFuIGVsZW1lbnQuIFxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbihsb2NhdG9yLCBhbGlnblRvVG9wID0gdHJ1ZSwgdGltZW91dCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50VGltZW91dCh0aW1lb3V0LCAndGltZW91dCcpO1xyXG5cclxuICAgIHZhciBlbCA9IGF3YWl0IHRoaXMuaGVscGVycy5nZXRFbGVtZW50KGxvY2F0b3IsIGZhbHNlLCB0aW1lb3V0KTtcclxuICAgIGF3YWl0IGVsLnNjcm9sbEludG9WaWV3KGFsaWduVG9Ub3ApO1xyXG59O1xyXG4iXX0=
@@ -1,55 +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 Selects an option from a drop-down list using an option locator. This command works
16
- * with multiple-choice lists as well.
17
- * @description Option locator can be one of the following (No prefix is same as label matching):
18
- * - `label=STRING` - Matches option based on the visible text.
19
- * - `value=STRING` - Matches option based on its value.
20
- * - `index=STRING` - Matches option based on its index. The index is 0-based.
21
- * @function select
22
- * @param {String} selectLocator - An element locator identifying a drop-down menu.
23
- * @param {String} optionLocator - An option locator.
24
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
25
- * @example <caption>[javascript] Usage example</caption>
26
- * web.init();//Opens browser session.
27
- * web.open("www.yourwebsite.com");// Opens a website.
28
- * web.select("id=Selection","label=United States");// Selects an option from a list.
29
- */
30
- module.exports = async function (selectLocator, optionLocator, timeout) {
31
- this.helpers.assertArgumentNonEmptyString(optionLocator, 'optionLocator');
32
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
33
- var el = await this.helpers.getElement(selectLocator, false, timeout);
34
-
35
- try {
36
- if (optionLocator.indexOf('value=') === 0) {
37
- await el.selectByAttribute('value', optionLocator.substring('value='.length));
38
- } else if (optionLocator.indexOf('index=') === 0) {
39
- await el.selectByIndex(optionLocator.substring('index='.length));
40
- } else if (optionLocator.indexOf('label=') === 0) {
41
- await el.selectByVisibleText(optionLocator.substring('label='.length));
42
- } else {
43
- await el.selectByVisibleText(optionLocator);
44
- }
45
- } catch (e) {
46
- if (e.message && e.message.startsWith('Option with ')) {
47
- throw new this.OxError(this.errHelper.errorCode.OPTION_NOT_FOUND, e.message);
48
- }
49
-
50
- throw e;
51
- }
52
-
53
- await this.checkWaitForAngular();
54
- };
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvc2VsZWN0LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJzZWxlY3RMb2NhdG9yIiwib3B0aW9uTG9jYXRvciIsInRpbWVvdXQiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnROb25FbXB0eVN0cmluZyIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImVsIiwiZ2V0RWxlbWVudCIsImluZGV4T2YiLCJzZWxlY3RCeUF0dHJpYnV0ZSIsInN1YnN0cmluZyIsImxlbmd0aCIsInNlbGVjdEJ5SW5kZXgiLCJzZWxlY3RCeVZpc2libGVUZXh0IiwiZSIsIm1lc3NhZ2UiLCJzdGFydHNXaXRoIiwiT3hFcnJvciIsImVyckhlbHBlciIsImVycm9yQ29kZSIsIk9QVElPTl9OT1RfRk9VTkQiLCJjaGVja1dhaXRGb3JBbmd1bGFyIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsZ0JBQWVDLGFBQWYsRUFBOEJDLGFBQTlCLEVBQTZDQyxPQUE3QyxFQUFzRDtBQUNuRSxPQUFLQyxPQUFMLENBQWFDLDRCQUFiLENBQTBDSCxhQUExQyxFQUF5RCxlQUF6RDtBQUNBLE9BQUtFLE9BQUwsQ0FBYUUscUJBQWIsQ0FBbUNILE9BQW5DLEVBQTRDLFNBQTVDO0FBRUEsTUFBSUksRUFBRSxHQUFHLE1BQU0sS0FBS0gsT0FBTCxDQUFhSSxVQUFiLENBQXdCUCxhQUF4QixFQUF1QyxLQUF2QyxFQUE4Q0UsT0FBOUMsQ0FBZjs7QUFFQSxNQUFJO0FBQ0EsUUFBSUQsYUFBYSxDQUFDTyxPQUFkLENBQXNCLFFBQXRCLE1BQW9DLENBQXhDLEVBQTJDO0FBQ3ZDLFlBQU1GLEVBQUUsQ0FBQ0csaUJBQUgsQ0FBcUIsT0FBckIsRUFBOEJSLGFBQWEsQ0FBQ1MsU0FBZCxDQUF3QixTQUFTQyxNQUFqQyxDQUE5QixDQUFOO0FBQ0gsS0FGRCxNQUVPLElBQUlWLGFBQWEsQ0FBQ08sT0FBZCxDQUFzQixRQUF0QixNQUFvQyxDQUF4QyxFQUEyQztBQUM5QyxZQUFNRixFQUFFLENBQUNNLGFBQUgsQ0FBaUJYLGFBQWEsQ0FBQ1MsU0FBZCxDQUF3QixTQUFTQyxNQUFqQyxDQUFqQixDQUFOO0FBQ0gsS0FGTSxNQUVBLElBQUlWLGFBQWEsQ0FBQ08sT0FBZCxDQUFzQixRQUF0QixNQUFvQyxDQUF4QyxFQUEyQztBQUM5QyxZQUFNRixFQUFFLENBQUNPLG1CQUFILENBQXVCWixhQUFhLENBQUNTLFNBQWQsQ0FBd0IsU0FBU0MsTUFBakMsQ0FBdkIsQ0FBTjtBQUNILEtBRk0sTUFFQTtBQUNILFlBQU1MLEVBQUUsQ0FBQ08sbUJBQUgsQ0FBdUJaLGFBQXZCLENBQU47QUFDSDtBQUNKLEdBVkQsQ0FVRSxPQUFPYSxDQUFQLEVBQVU7QUFDUixRQUFJQSxDQUFDLENBQUNDLE9BQUYsSUFBYUQsQ0FBQyxDQUFDQyxPQUFGLENBQVVDLFVBQVYsQ0FBcUIsY0FBckIsQ0FBakIsRUFBdUQ7QUFDbkQsWUFBTSxJQUFJLEtBQUtDLE9BQVQsQ0FBaUIsS0FBS0MsU0FBTCxDQUFlQyxTQUFmLENBQXlCQyxnQkFBMUMsRUFBNEROLENBQUMsQ0FBQ0MsT0FBOUQsQ0FBTjtBQUNIOztBQUNELFVBQU1ELENBQU47QUFDSDs7QUFDRCxRQUFNLEtBQUtPLG1CQUFMLEVBQU47QUFDSCxDQXZCRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFNlbGVjdHMgYW4gb3B0aW9uIGZyb20gYSBkcm9wLWRvd24gbGlzdCB1c2luZyBhbiBvcHRpb24gbG9jYXRvci4gVGhpcyBjb21tYW5kIHdvcmtzXHJcbiAqICAgICAgICAgIHdpdGggbXVsdGlwbGUtY2hvaWNlIGxpc3RzIGFzIHdlbGwuXHJcbiAqIEBkZXNjcmlwdGlvbiBPcHRpb24gbG9jYXRvciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgKE5vIHByZWZpeCBpcyBzYW1lIGFzIGxhYmVsIG1hdGNoaW5nKTogIFxyXG4gKiAgICAgICAgICAgICAgLSBgbGFiZWw9U1RSSU5HYCAtIE1hdGNoZXMgb3B0aW9uIGJhc2VkIG9uIHRoZSB2aXNpYmxlIHRleHQuICBcclxuICogICAgICAgICAgICAgIC0gYHZhbHVlPVNUUklOR2AgLSBNYXRjaGVzIG9wdGlvbiBiYXNlZCBvbiBpdHMgdmFsdWUuICBcclxuICogICAgICAgICAgICAgIC0gYGluZGV4PVNUUklOR2AgLSBNYXRjaGVzIG9wdGlvbiBiYXNlZCBvbiBpdHMgaW5kZXguIFRoZSBpbmRleCBpcyAwLWJhc2VkLlxyXG4gKiBAZnVuY3Rpb24gc2VsZWN0XHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RMb2NhdG9yIC0gQW4gZWxlbWVudCBsb2NhdG9yIGlkZW50aWZ5aW5nIGEgZHJvcC1kb3duIG1lbnUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25Mb2NhdG9yIC0gQW4gb3B0aW9uIGxvY2F0b3IuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiB3ZWIuaW5pdCgpOy8vT3BlbnMgYnJvd3NlciBzZXNzaW9uLlxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuc2VsZWN0KFwiaWQ9U2VsZWN0aW9uXCIsXCJsYWJlbD1Vbml0ZWQgU3RhdGVzXCIpOy8vIFNlbGVjdHMgYW4gb3B0aW9uIGZyb20gYSBsaXN0LiBcclxuICovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24oc2VsZWN0TG9jYXRvciwgb3B0aW9uTG9jYXRvciwgdGltZW91dCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50Tm9uRW1wdHlTdHJpbmcob3B0aW9uTG9jYXRvciwgJ29wdGlvbkxvY2F0b3InKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuXHJcbiAgICB2YXIgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChzZWxlY3RMb2NhdG9yLCBmYWxzZSwgdGltZW91dCk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgICBpZiAob3B0aW9uTG9jYXRvci5pbmRleE9mKCd2YWx1ZT0nKSA9PT0gMCkge1xyXG4gICAgICAgICAgICBhd2FpdCBlbC5zZWxlY3RCeUF0dHJpYnV0ZSgndmFsdWUnLCBvcHRpb25Mb2NhdG9yLnN1YnN0cmluZygndmFsdWU9Jy5sZW5ndGgpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbkxvY2F0b3IuaW5kZXhPZignaW5kZXg9JykgPT09IDApIHtcclxuICAgICAgICAgICAgYXdhaXQgZWwuc2VsZWN0QnlJbmRleChvcHRpb25Mb2NhdG9yLnN1YnN0cmluZygnaW5kZXg9Jy5sZW5ndGgpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbkxvY2F0b3IuaW5kZXhPZignbGFiZWw9JykgPT09IDApIHtcclxuICAgICAgICAgICAgYXdhaXQgZWwuc2VsZWN0QnlWaXNpYmxlVGV4dChvcHRpb25Mb2NhdG9yLnN1YnN0cmluZygnbGFiZWw9Jy5sZW5ndGgpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBhd2FpdCBlbC5zZWxlY3RCeVZpc2libGVUZXh0KG9wdGlvbkxvY2F0b3IpO1xyXG4gICAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBpZiAoZS5tZXNzYWdlICYmIGUubWVzc2FnZS5zdGFydHNXaXRoKCdPcHRpb24gd2l0aCAnKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgdGhpcy5PeEVycm9yKHRoaXMuZXJySGVscGVyLmVycm9yQ29kZS5PUFRJT05fTk9UX0ZPVU5ELCBlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBlO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5jaGVja1dhaXRGb3JBbmd1bGFyKCk7XHJcbn07XHJcbiJdfQ==
@@ -1,52 +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 Selects a frame or an iframe within the current window.
16
- * @description Available frame locators:
17
- * - `'parent'` - Select parent frame.
18
- * - `'top'` - Select top window.
19
- * - `NUMBER` - Select frame by its 0-based index.
20
- * - `LOCATOR` - Locator identifying the frame (relative to the top window).
21
- * Multiple locators can be passed in order to switch between nested frames.
22
- * @function selectFrame
23
- * @param {...String|Number} frameLocator - A locator identifying the frame or iframe. Or a series
24
- * of locators.
25
- * @example <caption>[javascript] Usage example</caption>
26
- * web.init();//Opens browser session.
27
- * web.open("www.yourwebsite.com");
28
- * web.selectFrame("//iframe[@id='frame1']", "//iframe[@id='nested_frame']");
29
- * web.click("id=SaveButton");//Clicks on element that exists in the second iframe
30
- */
31
- module.exports = async function (frameLocator) {
32
- if (frameLocator === 'parent') {
33
- // parent
34
- await this.driver.switchToParentFrame();
35
- } else if (frameLocator === 'top') {
36
- // top
37
- await this.driver.switchToFrame(null);
38
- } else if (!isNaN(frameLocator)) {
39
- // frame index
40
- await this.driver.switchToFrame(frameLocator);
41
- } else {
42
- // frame locator(s)
43
- await this.driver.switchToFrame(null);
44
-
45
- for (var i = 0; i < arguments.length; i++) {
46
- var locator = arguments[i];
47
- var el = await this.helpers.getElement(locator);
48
- await this.driver.switchToFrame(el);
49
- }
50
- }
51
- };
52
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvc2VsZWN0RnJhbWUuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImZyYW1lTG9jYXRvciIsImRyaXZlciIsInN3aXRjaFRvUGFyZW50RnJhbWUiLCJzd2l0Y2hUb0ZyYW1lIiwiaXNOYU4iLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwibG9jYXRvciIsImVsIiwiaGVscGVycyIsImdldEVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxZQUFmLEVBQTZCO0FBQzFDLE1BQUlBLFlBQVksS0FBSyxRQUFyQixFQUErQjtBQUFpQjtBQUM1QyxVQUFNLEtBQUtDLE1BQUwsQ0FBWUMsbUJBQVosRUFBTjtBQUNILEdBRkQsTUFFTyxJQUFJRixZQUFZLEtBQUssS0FBckIsRUFBNEI7QUFBYTtBQUM1QyxVQUFNLEtBQUtDLE1BQUwsQ0FBWUUsYUFBWixDQUEwQixJQUExQixDQUFOO0FBQ0gsR0FGTSxNQUVBLElBQUksQ0FBQ0MsS0FBSyxDQUFDSixZQUFELENBQVYsRUFBMEI7QUFBZTtBQUM1QyxVQUFNLEtBQUtDLE1BQUwsQ0FBWUUsYUFBWixDQUEwQkgsWUFBMUIsQ0FBTjtBQUNILEdBRk0sTUFFQTtBQUF5QztBQUM1QyxVQUFNLEtBQUtDLE1BQUwsQ0FBWUUsYUFBWixDQUEwQixJQUExQixDQUFOOztBQUNBLFNBQUssSUFBSUUsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0MsU0FBUyxDQUFDQyxNQUE5QixFQUFzQ0YsQ0FBQyxFQUF2QyxFQUEyQztBQUN2QyxVQUFJRyxPQUFPLEdBQUdGLFNBQVMsQ0FBQ0QsQ0FBRCxDQUF2QjtBQUNBLFVBQUlJLEVBQUUsR0FBRyxNQUFNLEtBQUtDLE9BQUwsQ0FBYUMsVUFBYixDQUF3QkgsT0FBeEIsQ0FBZjtBQUNBLFlBQU0sS0FBS1AsTUFBTCxDQUFZRSxhQUFaLENBQTBCTSxFQUExQixDQUFOO0FBQ0g7QUFDSjtBQUNKLENBZkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBTZWxlY3RzIGEgZnJhbWUgb3IgYW4gaWZyYW1lIHdpdGhpbiB0aGUgY3VycmVudCB3aW5kb3cuXHJcbiAqIEBkZXNjcmlwdGlvbiBBdmFpbGFibGUgZnJhbWUgbG9jYXRvcnM6ICBcclxuICogICAgICAgICAgICAgIC0gYCdwYXJlbnQnYCAtIFNlbGVjdCBwYXJlbnQgZnJhbWUuICBcclxuICogICAgICAgICAgICAgIC0gYCd0b3AnYCAtIFNlbGVjdCB0b3Agd2luZG93LiAgXHJcbiAqICAgICAgICAgICAgICAtIGBOVU1CRVJgIC0gU2VsZWN0IGZyYW1lIGJ5IGl0cyAwLWJhc2VkIGluZGV4LiAgXHJcbiAqICAgICAgICAgICAgICAtIGBMT0NBVE9SYCAtIExvY2F0b3IgaWRlbnRpZnlpbmcgdGhlIGZyYW1lIChyZWxhdGl2ZSB0byB0aGUgdG9wIHdpbmRvdykuXHJcbiAqICAgICAgICAgICAgICBNdWx0aXBsZSBsb2NhdG9ycyBjYW4gYmUgcGFzc2VkIGluIG9yZGVyIHRvIHN3aXRjaCBiZXR3ZWVuIG5lc3RlZCBmcmFtZXMuXHJcbiAqIEBmdW5jdGlvbiBzZWxlY3RGcmFtZVxyXG4gKiBAcGFyYW0gey4uLlN0cmluZ3xOdW1iZXJ9IGZyYW1lTG9jYXRvciAtIEEgbG9jYXRvciBpZGVudGlmeWluZyB0aGUgZnJhbWUgb3IgaWZyYW1lLiBPciBhIHNlcmllcyBcclxuICogICAgICAgICBvZiBsb2NhdG9ycy5cclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIHdlYi5pbml0KCk7Ly9PcGVucyBicm93c2VyIHNlc3Npb24uXHJcbiAqIHdlYi5vcGVuKFwid3d3LnlvdXJ3ZWJzaXRlLmNvbVwiKTtcclxuICogd2ViLnNlbGVjdEZyYW1lKFwiLy9pZnJhbWVbQGlkPSdmcmFtZTEnXVwiLCBcIi8vaWZyYW1lW0BpZD0nbmVzdGVkX2ZyYW1lJ11cIik7XHJcbiAqIHdlYi5jbGljayhcImlkPVNhdmVCdXR0b25cIik7Ly9DbGlja3Mgb24gZWxlbWVudCB0aGF0IGV4aXN0cyBpbiB0aGUgc2Vjb25kIGlmcmFtZVxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbihmcmFtZUxvY2F0b3IpIHtcclxuICAgIGlmIChmcmFtZUxvY2F0b3IgPT09ICdwYXJlbnQnKSB7ICAgICAgICAgICAgICAgIC8vIHBhcmVudFxyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvUGFyZW50RnJhbWUoKTtcclxuICAgIH0gZWxzZSBpZiAoZnJhbWVMb2NhdG9yID09PSAndG9wJykgeyAgICAgICAgICAgIC8vIHRvcFxyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvRnJhbWUobnVsbCk7XHJcbiAgICB9IGVsc2UgaWYgKCFpc05hTihmcmFtZUxvY2F0b3IpKSB7ICAgICAgICAgICAgICAvLyBmcmFtZSBpbmRleFxyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvRnJhbWUoZnJhbWVMb2NhdG9yKTtcclxuICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZyYW1lIGxvY2F0b3IocylcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb0ZyYW1lKG51bGwpO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBsb2NhdG9yID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICB2YXIgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChsb2NhdG9yKTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9GcmFtZShlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59O1xyXG4iXX0=
@@ -1,148 +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 Selects window. Once window has been selected, all commands go to that window.
16
- * @description `windowLocator` can be:
17
- * - `title=TITLE` Switch to the first window which matches the specified title. `TITLE` can be any of
18
- * the supported string matching patterns (see top of the page). When using title locator, this command
19
- * will wait for the window to appear first similarly to `waitForWindow` command.
20
- * - `url=URL` Switch to the first window which matches the specified URL. `URL` can be any of
21
- * the supported string matching patterns (see top of the page). When using url locator, this command
22
- * will wait for the window to appear first similarly to `waitForWindow` command.
23
- * - `windowHandle` Switch to a window using its unique handle.
24
- * @function selectWindow
25
- * @param {String=} windowLocator - Window locator.
26
- * @param {Number=} timeout - Timeout in milliseconds when using 'title' window locating strategy.
27
- * Default is 60 seconds.
28
- * @return {String} windowHandle of the previously selected window.
29
- * @example <caption>[javascript] Usage example</caption>
30
- * web.init();//Opens browser session.
31
- * web.open("www.yourwebsite.com");// Opens a website.
32
- * web.selectWindow("title=Website");// Selects and focus a window.
33
- */
34
- module.exports = async function (windowLocator, timeout) {
35
- this.helpers.assertArgument(windowLocator, 'windowLocator');
36
- var currentHandle;
37
- var currentHandleTitle;
38
- var currentHandleUrl;
39
- var swithToCurrentHandleErrorMsg = 'Unable to switch to previous selected window'; // getWindowHandle() could possibly fail if there is no active window,
40
- // so we select the last opened one in such case
41
-
42
- try {
43
- currentHandle = await this.driver.getWindowHandle();
44
- } catch (err) {
45
- var wnds = await this.driver.getWindowHandles();
46
- await this.driver.switchToWindow(wnds[wnds.length - 1]);
47
- currentHandle = await this.driver.getWindowHandle();
48
- }
49
-
50
- if (currentHandle) {
51
- currentHandleTitle = await this.driver.getTitle();
52
- currentHandleUrl = await this.driver.getUrl();
53
- }
54
-
55
- var windowHandles;
56
-
57
- if (windowLocator.indexOf('title=') === 0) {
58
- let pattern = windowLocator.substring('title='.length);
59
- let start = new Date().getTime();
60
- timeout = !timeout ? this.waitForTimeout : timeout;
61
-
62
- while (new Date().getTime() - start < timeout) {
63
- windowHandles = await this.driver.getWindowHandles();
64
-
65
- for (let i = 0; i < windowHandles.length; i++) {
66
- let handle = windowHandles[i];
67
-
68
- try {
69
- await this.driver.switchToWindow(handle);
70
- } catch (err) {
71
- // in case window was closed
72
- continue;
73
- }
74
-
75
- let title = await this.driver.getTitle();
76
-
77
- if (this.helpers.matchPattern(title, pattern)) {
78
- return currentHandle;
79
- }
80
- }
81
-
82
- this.pause(1000);
83
- }
84
-
85
- try {
86
- // if window not found - switch to original one and throw
87
- await this.driver.switchToWindow(currentHandle);
88
- } catch (err) {
89
- // in case window was closed
90
- if (currentHandleTitle) {
91
- swithToCurrentHandleErrorMsg += `: ${currentHandleTitle}`;
92
- }
93
-
94
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, swithToCurrentHandleErrorMsg);
95
- }
96
-
97
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, `Unable to find window: ${windowLocator}`);
98
- } else if (windowLocator.indexOf('url=') === 0) {
99
- let pattern = windowLocator.substring('url='.length);
100
- let start = new Date().getTime();
101
- timeout = !timeout ? this.waitForTimeout : timeout;
102
-
103
- while (new Date().getTime() - start < timeout) {
104
- windowHandles = await this.driver.getWindowHandles();
105
-
106
- for (let i = 0; i < windowHandles.length; i++) {
107
- let handle = windowHandles[i];
108
-
109
- try {
110
- await this.driver.switchToWindow(handle);
111
- } catch (err) {
112
- // in case window was closed
113
- continue;
114
- }
115
-
116
- let url = await this.driver.getUrl();
117
-
118
- if (this.helpers.matchPattern(url, pattern)) {
119
- return currentHandle;
120
- }
121
- }
122
-
123
- this.pause(1000);
124
- }
125
-
126
- try {
127
- // if window not found - switch to original one and throw
128
- await this.driver.switchToWindow(currentHandle);
129
- } catch (err) {
130
- if (currentHandleUrl) {
131
- swithToCurrentHandleErrorMsg += `: ${currentHandleUrl}`;
132
- }
133
-
134
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, swithToCurrentHandleErrorMsg);
135
- }
136
-
137
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, `Unable to find window: ${windowLocator}`);
138
- } else {
139
- try {
140
- await this.driver.switchToWindow(windowLocator);
141
- } catch (err) {
142
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, swithToCurrentHandleErrorMsg);
143
- }
144
- }
145
-
146
- return currentHandle;
147
- };
148
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvc2VsZWN0V2luZG93LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJ3aW5kb3dMb2NhdG9yIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudCIsImN1cnJlbnRIYW5kbGUiLCJjdXJyZW50SGFuZGxlVGl0bGUiLCJjdXJyZW50SGFuZGxlVXJsIiwic3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyIsImRyaXZlciIsImdldFdpbmRvd0hhbmRsZSIsImVyciIsInduZHMiLCJnZXRXaW5kb3dIYW5kbGVzIiwic3dpdGNoVG9XaW5kb3ciLCJsZW5ndGgiLCJnZXRUaXRsZSIsImdldFVybCIsIndpbmRvd0hhbmRsZXMiLCJpbmRleE9mIiwicGF0dGVybiIsInN1YnN0cmluZyIsInN0YXJ0IiwiRGF0ZSIsImdldFRpbWUiLCJ3YWl0Rm9yVGltZW91dCIsImkiLCJoYW5kbGUiLCJ0aXRsZSIsIm1hdGNoUGF0dGVybiIsInBhdXNlIiwiT3hFcnJvciIsImVyckhlbHBlciIsImVycm9yQ29kZSIsIldJTkRPV19OT1RfRk9VTkQiLCJ1cmwiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxhQUFmLEVBQThCQyxPQUE5QixFQUF1QztBQUNwRCxPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJILGFBQTVCLEVBQTJDLGVBQTNDO0FBQ0EsTUFBSUksYUFBSjtBQUNBLE1BQUlDLGtCQUFKO0FBQ0EsTUFBSUMsZ0JBQUo7QUFDQSxNQUFJQyw0QkFBNEIsR0FBRyw4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QUFmLENBQXlCQyxnQkFBMUMsRUFBNEQxQiw0QkFBNUQsQ0FBTjtBQUNIOztBQUNELFVBQU0sSUFBSSxLQUFLdUIsT0FBVCxDQUFpQixLQUFLQyxTQUFMLENBQWVDLFNBQWYsQ0FBeUJDLGdCQUExQyxFQUE2RCwwQkFBeUJqQyxhQUFjLEVBQXBHLENBQU47QUFDSCxHQS9CTSxNQStCQTtBQUNILFFBQUk7QUFDQSxZQUFNLEtBQUtRLE1BQUwsQ0FBWUssY0FBWixDQUEyQmIsYUFBM0IsQ0FBTjtBQUNILEtBRkQsQ0FFRSxPQUFPVSxHQUFQLEVBQVk7QUFDVixZQUFNLElBQUksS0FBS29CLE9BQVQsQ0FBaUIsS0FBS0MsU0FBTCxDQUFlQyxTQUFmLENBQXlCQyxnQkFBMUMsRUFBNEQxQiw0QkFBNUQsQ0FBTjtBQUNIO0FBQ0o7O0FBRUQsU0FBT0gsYUFBUDtBQUNILENBaEdEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgU2VsZWN0cyB3aW5kb3cuIE9uY2Ugd2luZG93IGhhcyBiZWVuIHNlbGVjdGVkLCBhbGwgY29tbWFuZHMgZ28gdG8gdGhhdCB3aW5kb3cuXHJcbiAqIEBkZXNjcmlwdGlvbiBgd2luZG93TG9jYXRvcmAgY2FuIGJlOiAgXHJcbiAqIC0gYHRpdGxlPVRJVExFYCBTd2l0Y2ggdG8gdGhlIGZpcnN0IHdpbmRvdyB3aGljaCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgdGl0bGUuIGBUSVRMRWAgY2FuIGJlIGFueSBvZlxyXG4gKiB0aGUgc3VwcG9ydGVkIHN0cmluZyBtYXRjaGluZyBwYXR0ZXJucyAoc2VlIHRvcCBvZiB0aGUgcGFnZSkuIFdoZW4gdXNpbmcgdGl0bGUgbG9jYXRvciwgdGhpcyBjb21tYW5kXHJcbiAqIHdpbGwgd2FpdCBmb3IgdGhlIHdpbmRvdyB0byBhcHBlYXIgZmlyc3Qgc2ltaWxhcmx5IHRvIGB3YWl0Rm9yV2luZG93YCBjb21tYW5kLiAgXHJcbiAqIC0gYHVybD1VUkxgIFN3aXRjaCB0byB0aGUgZmlyc3Qgd2luZG93IHdoaWNoIG1hdGNoZXMgdGhlIHNwZWNpZmllZCBVUkwuIGBVUkxgIGNhbiBiZSBhbnkgb2ZcclxuICogdGhlIHN1cHBvcnRlZCBzdHJpbmcgbWF0Y2hpbmcgcGF0dGVybnMgKHNlZSB0b3Agb2YgdGhlIHBhZ2UpLiBXaGVuIHVzaW5nIHVybCBsb2NhdG9yLCB0aGlzIGNvbW1hbmRcclxuICogd2lsbCB3YWl0IGZvciB0aGUgd2luZG93IHRvIGFwcGVhciBmaXJzdCBzaW1pbGFybHkgdG8gYHdhaXRGb3JXaW5kb3dgIGNvbW1hbmQuICBcclxuICogLSBgd2luZG93SGFuZGxlYCBTd2l0Y2ggdG8gYSB3aW5kb3cgdXNpbmcgaXRzIHVuaXF1ZSBoYW5kbGUuXHJcbiAqIEBmdW5jdGlvbiBzZWxlY3RXaW5kb3dcclxuICogQHBhcmFtIHtTdHJpbmc9fSB3aW5kb3dMb2NhdG9yIC0gV2luZG93IGxvY2F0b3IuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIHdoZW4gdXNpbmcgJ3RpdGxlJyB3aW5kb3cgbG9jYXRpbmcgc3RyYXRlZ3kuIFxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAcmV0dXJuIHtTdHJpbmd9IHdpbmRvd0hhbmRsZSBvZiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCB3aW5kb3cuXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiB3ZWIuaW5pdCgpOy8vT3BlbnMgYnJvd3NlciBzZXNzaW9uLlxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuc2VsZWN0V2luZG93KFwidGl0bGU9V2Vic2l0ZVwiKTsvLyBTZWxlY3RzIGFuZCBmb2N1cyBhIHdpbmRvdy4gXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKHdpbmRvd0xvY2F0b3IsIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudCh3aW5kb3dMb2NhdG9yLCAnd2luZG93TG9jYXRvcicpO1xyXG4gICAgdmFyIGN1cnJlbnRIYW5kbGU7XHJcbiAgICB2YXIgY3VycmVudEhhbmRsZVRpdGxlO1xyXG4gICAgdmFyIGN1cnJlbnRIYW5kbGVVcmw7XHJcbiAgICB2YXIgc3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyA9ICdVbmFibGUgdG8gc3dpdGNoIHRvIHByZXZpb3VzIHNlbGVjdGVkIHdpbmRvdyc7XHJcblxyXG4gICAgLy8gZ2V0V2luZG93SGFuZGxlKCkgY291bGQgcG9zc2libHkgZmFpbCBpZiB0aGVyZSBpcyBubyBhY3RpdmUgd2luZG93LFxyXG4gICAgLy8gc28gd2Ugc2VsZWN0IHRoZSBsYXN0IG9wZW5lZCBvbmUgaW4gc3VjaCBjYXNlXHJcbiAgICB0cnkge1xyXG4gICAgICAgIGN1cnJlbnRIYW5kbGUgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRXaW5kb3dIYW5kbGUoKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIHZhciB3bmRzID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0V2luZG93SGFuZGxlcygpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvV2luZG93KHduZHNbd25kcy5sZW5ndGggLSAxXSk7XHJcbiAgICAgICAgY3VycmVudEhhbmRsZSA9IGF3YWl0IHRoaXMuZHJpdmVyLmdldFdpbmRvd0hhbmRsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjdXJyZW50SGFuZGxlKSB7XHJcbiAgICAgICAgY3VycmVudEhhbmRsZVRpdGxlID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0VGl0bGUoKTtcclxuICAgICAgICBjdXJyZW50SGFuZGxlVXJsID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0VXJsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHdpbmRvd0hhbmRsZXM7XHJcbiAgICBpZiAod2luZG93TG9jYXRvci5pbmRleE9mKCd0aXRsZT0nKSA9PT0gMCkge1xyXG4gICAgICAgIGxldCBwYXR0ZXJuID0gd2luZG93TG9jYXRvci5zdWJzdHJpbmcoJ3RpdGxlPScubGVuZ3RoKTtcclxuICAgICAgICBsZXQgc3RhcnQgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRpbWVvdXQgPSAhdGltZW91dCA/IHRoaXMud2FpdEZvclRpbWVvdXQgOiB0aW1lb3V0O1xyXG4gICAgICAgIHdoaWxlICgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC0gc3RhcnQgPCB0aW1lb3V0KSB7XHJcbiAgICAgICAgICAgIHdpbmRvd0hhbmRsZXMgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRXaW5kb3dIYW5kbGVzKCk7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2luZG93SGFuZGxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGhhbmRsZSA9IHdpbmRvd0hhbmRsZXNbaV07XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvV2luZG93KGhhbmRsZSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHsgLy8gaW4gY2FzZSB3aW5kb3cgd2FzIGNsb3NlZFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0VGl0bGUoKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhlbHBlcnMubWF0Y2hQYXR0ZXJuKHRpdGxlLCBwYXR0ZXJuKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SGFuZGxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucGF1c2UoMTAwMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyBpZiB3aW5kb3cgbm90IGZvdW5kIC0gc3dpdGNoIHRvIG9yaWdpbmFsIG9uZSBhbmQgdGhyb3dcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9XaW5kb3coY3VycmVudEhhbmRsZSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7IC8vIGluIGNhc2Ugd2luZG93IHdhcyBjbG9zZWRcclxuXHJcbiAgICAgICAgICAgIGlmIChjdXJyZW50SGFuZGxlVGl0bGUpIHtcclxuICAgICAgICAgICAgICAgIHN3aXRoVG9DdXJyZW50SGFuZGxlRXJyb3JNc2cgKz0gYDogJHtjdXJyZW50SGFuZGxlVGl0bGV9YDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuV0lORE9XX05PVF9GT1VORCwgc3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLldJTkRPV19OT1RfRk9VTkQsIGBVbmFibGUgdG8gZmluZCB3aW5kb3c6ICR7d2luZG93TG9jYXRvcn1gKTtcclxuICAgIH0gZWxzZSBpZiAod2luZG93TG9jYXRvci5pbmRleE9mKCd1cmw9JykgPT09IDApIHtcclxuICAgICAgICBsZXQgcGF0dGVybiA9IHdpbmRvd0xvY2F0b3Iuc3Vic3RyaW5nKCd1cmw9Jy5sZW5ndGgpO1xyXG4gICAgICAgIGxldCBzdGFydCA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGltZW91dCA9ICF0aW1lb3V0ID8gdGhpcy53YWl0Rm9yVGltZW91dCA6IHRpbWVvdXQ7XHJcbiAgICAgICAgd2hpbGUgKChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLSBzdGFydCA8IHRpbWVvdXQpIHtcclxuICAgICAgICAgICAgd2luZG93SGFuZGxlcyA9IGF3YWl0IHRoaXMuZHJpdmVyLmdldFdpbmRvd0hhbmRsZXMoKTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB3aW5kb3dIYW5kbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaGFuZGxlID0gd2luZG93SGFuZGxlc1tpXTtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9XaW5kb3coaGFuZGxlKTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgeyAvLyBpbiBjYXNlIHdpbmRvdyB3YXMgY2xvc2VkXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgdXJsID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0VXJsKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oZWxwZXJzLm1hdGNoUGF0dGVybih1cmwsIHBhdHRlcm4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRIYW5kbGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5wYXVzZSgxMDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIC8vIGlmIHdpbmRvdyBub3QgZm91bmQgLSBzd2l0Y2ggdG8gb3JpZ2luYWwgb25lIGFuZCB0aHJvd1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb1dpbmRvdyhjdXJyZW50SGFuZGxlKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRIYW5kbGVVcmwpIHtcclxuICAgICAgICAgICAgICAgIHN3aXRoVG9DdXJyZW50SGFuZGxlRXJyb3JNc2cgKz0gYDogJHtjdXJyZW50SGFuZGxlVXJsfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuV0lORE9XX05PVF9GT1VORCwgc3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLldJTkRPV19OT1RfRk9VTkQsIGBVbmFibGUgdG8gZmluZCB3aW5kb3c6ICR7d2luZG93TG9jYXRvcn1gKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9XaW5kb3cod2luZG93TG9jYXRvcik7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLldJTkRPV19OT1RfRk9VTkQsIHN3aXRoVG9DdXJyZW50SGFuZGxlRXJyb3JNc2cpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY3VycmVudEhhbmRsZTtcclxufTsiXX0=
@@ -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 Send a sequence of keyboard strokes to the active window or element.
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 sendKeys
19
- * @param {(String|String[])} value - Sequence of key strokes to send. Can be either a string or an
20
- * array of strings for sending raw key codes.
21
- * @example <caption>[javascript] Usage example</caption>
22
- * web.init();//Opens browser session.
23
- * web.open("www.yourwebsite.com");// Opens a website.
24
- * web.sendKeys("Hello World");
25
- * web.sendKeys(["Backspace", "Backspace", "Enter"]); // send two Backspace key codes and Enter.
26
- * // Unicode representation can be used directly as well:
27
- * web.sendKeys("Hello World\uE003\uE003\uE007");
28
- */
29
- module.exports = async function (value) {
30
- this.helpers.assertArgument(value);
31
- var valArray = []; // try-catch is for OI-1049
32
-
33
- try {
34
- if (Array.isArray(value)) {
35
- // array
36
- // `instanceof Array` behaves strange when executed through vm.runInNewContext,
37
- // it returns false for arrays and `driver.keys()` tests for arrays using `instaceof Array`
38
- // thus we recreate the array.
39
- // https://github.com/felixge/node-sandboxed-module/issues/13#issuecomment-299585213
40
- for (var val of value) {
41
- valArray.push(val);
42
- }
43
-
44
- await this.driver.keys(valArray);
45
- return;
46
- } else {
47
- // string
48
- await this.driver.keys(value);
49
- }
50
- } catch (e) {
51
- this.logger.warn('web.sendKeys error', e);
52
- }
53
-
54
- await this.checkWaitForAngular();
55
- };
56
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvc2VuZEtleXMuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInZhbHVlIiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50IiwidmFsQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJ2YWwiLCJwdXNoIiwiZHJpdmVyIiwia2V5cyIsImUiLCJsb2dnZXIiLCJ3YXJuIiwiY2hlY2tXYWl0Rm9yQW5ndWxhciJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsS0FBZixFQUFzQjtBQUNuQyxPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJGLEtBQTVCO0FBRUEsTUFBSUcsUUFBUSxHQUFHLEVBQWYsQ0FIbUMsQ0FJbkM7O0FBQ0EsTUFBSTtBQUNBLFFBQUlDLEtBQUssQ0FBQ0MsT0FBTixDQUFjTCxLQUFkLENBQUosRUFBMEI7QUFBYztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQUssSUFBSU0sR0FBVCxJQUFnQk4sS0FBaEIsRUFBdUI7QUFDbkJHLFFBQUFBLFFBQVEsQ0FBQ0ksSUFBVCxDQUFjRCxHQUFkO0FBQ0g7O0FBQ0QsWUFBTSxLQUFLRSxNQUFMLENBQVlDLElBQVosQ0FBaUJOLFFBQWpCLENBQU47QUFDQTtBQUNILEtBVkQsTUFVTztBQUFpQztBQUNwQyxZQUFNLEtBQUtLLE1BQUwsQ0FBWUMsSUFBWixDQUFpQlQsS0FBakIsQ0FBTjtBQUNIO0FBQ0osR0FkRCxDQWNFLE9BQU9VLENBQVAsRUFBVTtBQUNSLFNBQUtDLE1BQUwsQ0FBWUMsSUFBWixDQUFpQixvQkFBakIsRUFBdUNGLENBQXZDO0FBQ0g7O0FBQ0QsUUFBTSxLQUFLRyxtQkFBTCxFQUFOO0FBQ0gsQ0F2QkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBTZW5kIGEgc2VxdWVuY2Ugb2Yga2V5Ym9hcmQgc3Ryb2tlcyB0byB0aGUgYWN0aXZlIHdpbmRvdyBvciBlbGVtZW50LlxyXG4gKiBAZGVzY3JpcHRpb24gUmVmZXIgdG8gW0tleSBDb2Rlc10oaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci8ja2V5Ym9hcmQtYWN0aW9ucylcclxuICogICAgICAgICAgICAgIGZvciB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgcmF3IGtleWJvYXJkIGtleSBjb2Rlcy5cclxuICogQGZ1bmN0aW9uIHNlbmRLZXlzXHJcbiAqIEBwYXJhbSB7KFN0cmluZ3xTdHJpbmdbXSl9IHZhbHVlIC0gU2VxdWVuY2Ugb2Yga2V5IHN0cm9rZXMgdG8gc2VuZC4gQ2FuIGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBcclxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkgb2Ygc3RyaW5ncyBmb3Igc2VuZGluZyByYXcga2V5IGNvZGVzLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvbi5cclxuICogd2ViLm9wZW4oXCJ3d3cueW91cndlYnNpdGUuY29tXCIpOy8vIE9wZW5zIGEgd2Vic2l0ZS5cclxuICogd2ViLnNlbmRLZXlzKFwiSGVsbG8gV29ybGRcIik7XHJcbiAqIHdlYi5zZW5kS2V5cyhbXCJCYWNrc3BhY2VcIiwgXCJCYWNrc3BhY2VcIiwgXCJFbnRlclwiXSk7IC8vIHNlbmQgdHdvIEJhY2tzcGFjZSBrZXkgY29kZXMgYW5kIEVudGVyLlxyXG4gKiAvLyBVbmljb2RlIHJlcHJlc2VudGF0aW9uIGNhbiBiZSB1c2VkIGRpcmVjdGx5IGFzIHdlbGw6XHJcbiAqIHdlYi5zZW5kS2V5cyhcIkhlbGxvIFdvcmxkXFx1RTAwM1xcdUUwMDNcXHVFMDA3XCIpO1xyXG4qL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKHZhbHVlKSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnQodmFsdWUpO1xyXG5cclxuICAgIHZhciB2YWxBcnJheSA9IFtdO1xyXG4gICAgLy8gdHJ5LWNhdGNoIGlzIGZvciBPSS0xMDQ5XHJcbiAgICB0cnkge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgeyAgICAgICAgICAgICAvLyBhcnJheVxyXG4gICAgICAgICAgICAvLyBgaW5zdGFuY2VvZiBBcnJheWAgYmVoYXZlcyBzdHJhbmdlIHdoZW4gZXhlY3V0ZWQgdGhyb3VnaCB2bS5ydW5Jbk5ld0NvbnRleHQsXHJcbiAgICAgICAgICAgIC8vIGl0IHJldHVybnMgZmFsc2UgZm9yIGFycmF5cyBhbmQgYGRyaXZlci5rZXlzKClgIHRlc3RzIGZvciBhcnJheXMgdXNpbmcgYGluc3RhY2VvZiBBcnJheWBcclxuICAgICAgICAgICAgLy8gdGh1cyB3ZSByZWNyZWF0ZSB0aGUgYXJyYXkuXHJcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mZWxpeGdlL25vZGUtc2FuZGJveGVkLW1vZHVsZS9pc3N1ZXMvMTMjaXNzdWVjb21tZW50LTI5OTU4NTIxM1xyXG4gICAgICAgICAgICBmb3IgKHZhciB2YWwgb2YgdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHZhbEFycmF5LnB1c2godmFsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5rZXlzKHZhbEFycmF5KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdHJpbmdcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIua2V5cyh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ3dlYi5zZW5kS2V5cyBlcnJvcicsIGUpO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5jaGVja1dhaXRGb3JBbmd1bGFyKCk7XHJcbn07XHJcbiJdfQ==
@@ -1,33 +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 Angular based app will be loaded
16
- * @function setAutoWaitForAngular
17
- * @param {Boolean} autoWaitForAngular - new autoWait value. Dafault is false;
18
- * @param {String=} rootSelector - Selector for root element, need only for Angular 1
19
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
20
- * @example <caption>[javascript] Usage example</caption>
21
- * web.init();
22
- * web.open("www.yourwebsite.com");
23
- * web.setAutoWaitForAngular(true);
24
- */
25
- module.exports = function (autoWaitForAngular = false, rootSelector = '', timeout = 60 * 1000) {
26
- this.helpers.assertArgumentBool(autoWaitForAngular, 'autoWaitForAngular');
27
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
28
- this.helpers.assertArgumentString(rootSelector, 'rootSelector');
29
- this.autoWaitForAngular = autoWaitForAngular;
30
- this.autoWaitForAngularRootSelector = rootSelector;
31
- this.autoWaitForAngularTimeout = timeout;
32
- };
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvc2V0QXV0b1dhaXRGb3JBbmd1bGFyLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJhdXRvV2FpdEZvckFuZ3VsYXIiLCJyb290U2VsZWN0b3IiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50Qm9vbCIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImFzc2VydEFyZ3VtZW50U3RyaW5nIiwiYXV0b1dhaXRGb3JBbmd1bGFyUm9vdFNlbGVjdG9yIiwiYXV0b1dhaXRGb3JBbmd1bGFyVGltZW91dCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsVUFBU0Msa0JBQWtCLEdBQUcsS0FBOUIsRUFBcUNDLFlBQVksR0FBRyxFQUFwRCxFQUF3REMsT0FBTyxHQUFHLEtBQUcsSUFBckUsRUFBMkU7QUFDeEYsT0FBS0MsT0FBTCxDQUFhQyxrQkFBYixDQUFnQ0osa0JBQWhDLEVBQW9ELG9CQUFwRDtBQUNBLE9BQUtHLE9BQUwsQ0FBYUUscUJBQWIsQ0FBbUNILE9BQW5DLEVBQTRDLFNBQTVDO0FBQ0EsT0FBS0MsT0FBTCxDQUFhRyxvQkFBYixDQUFrQ0wsWUFBbEMsRUFBZ0QsY0FBaEQ7QUFFQSxPQUFLRCxrQkFBTCxHQUEwQkEsa0JBQTFCO0FBQ0EsT0FBS08sOEJBQUwsR0FBc0NOLFlBQXRDO0FBQ0EsT0FBS08seUJBQUwsR0FBaUNOLE9BQWpDO0FBQ0gsQ0FSRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFdhaXQgZm9yIEFuZ3VsYXIgYmFzZWQgYXBwIHdpbGwgYmUgbG9hZGVkXHJcbiAqIEBmdW5jdGlvbiBzZXRBdXRvV2FpdEZvckFuZ3VsYXJcclxuICogQHBhcmFtIHtCb29sZWFufSBhdXRvV2FpdEZvckFuZ3VsYXIgLSBuZXcgYXV0b1dhaXQgdmFsdWUuIERhZmF1bHQgaXMgZmFsc2U7XHJcbiAqIEBwYXJhbSB7U3RyaW5nPX0gcm9vdFNlbGVjdG9yIC0gU2VsZWN0b3IgZm9yIHJvb3QgZWxlbWVudCwgbmVlZCBvbmx5IGZvciBBbmd1bGFyIDFcclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQgaXMgNjAgc2Vjb25kcy5cclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIHdlYi5pbml0KCk7XHJcbiAqIHdlYi5vcGVuKFwid3d3LnlvdXJ3ZWJzaXRlLmNvbVwiKTtcclxuICogd2ViLnNldEF1dG9XYWl0Rm9yQW5ndWxhcih0cnVlKTtcclxuICovXHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGF1dG9XYWl0Rm9yQW5ndWxhciA9IGZhbHNlLCByb290U2VsZWN0b3IgPSAnJywgdGltZW91dCA9IDYwKjEwMDApIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudEJvb2woYXV0b1dhaXRGb3JBbmd1bGFyLCAnYXV0b1dhaXRGb3JBbmd1bGFyJyk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnRUaW1lb3V0KHRpbWVvdXQsICd0aW1lb3V0Jyk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnRTdHJpbmcocm9vdFNlbGVjdG9yLCAncm9vdFNlbGVjdG9yJyk7XHJcblxyXG4gICAgdGhpcy5hdXRvV2FpdEZvckFuZ3VsYXIgPSBhdXRvV2FpdEZvckFuZ3VsYXI7XHJcbiAgICB0aGlzLmF1dG9XYWl0Rm9yQW5ndWxhclJvb3RTZWxlY3RvciA9IHJvb3RTZWxlY3RvcjtcclxuICAgIHRoaXMuYXV0b1dhaXRGb3JBbmd1bGFyVGltZW91dCA9IHRpbWVvdXQ7XHJcbn07Il19
@@ -1,33 +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 Specifies the amount of time that Oxygen will wait for actions to complete.
16
- * @description This includes the `open` command, `waitFor*` commands, and commands which wait
17
- * for elements to appear in DOM or become visible before operating on them.
18
- * If command wasn't able to complete within the specified period it will fail the
19
- * test.
20
- * The default time-out is 60 seconds.
21
- * @function setTimeout
22
- * @param {Number} timeout - A time-out in milliseconds.
23
- * @example <caption>[javascript] Usage example</caption>
24
- * web.init();//Opens browser session.
25
- * web.open("www.yourwebsite.com");// Opens a website.
26
- * web.setTimeout(60000);//Sets the time out to amount of milliseconds .
27
- */
28
- module.exports = async function (timeout) {
29
- this.helpers.assertArgumentNumberNonNegative(timeout, 'timeout');
30
- this.waitForTimeout = timeout;
31
- await this.helpers.setTimeoutImplicit(timeout);
32
- };
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvc2V0VGltZW91dC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudE51bWJlck5vbk5lZ2F0aXZlIiwid2FpdEZvclRpbWVvdXQiLCJzZXRUaW1lb3V0SW1wbGljaXQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxPQUFmLEVBQXdCO0FBQ3JDLE9BQUtDLE9BQUwsQ0FBYUMsK0JBQWIsQ0FBNkNGLE9BQTdDLEVBQXNELFNBQXREO0FBQ0EsT0FBS0csY0FBTCxHQUFzQkgsT0FBdEI7QUFDQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUcsa0JBQWIsQ0FBZ0NKLE9BQWhDLENBQU47QUFDSCxDQUpEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBhbW91bnQgb2YgdGltZSB0aGF0IE94eWdlbiB3aWxsIHdhaXQgZm9yIGFjdGlvbnMgdG8gY29tcGxldGUuXHJcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIGluY2x1ZGVzIHRoZSBgb3BlbmAgY29tbWFuZCwgYHdhaXRGb3IqYCBjb21tYW5kcywgYW5kIGNvbW1hbmRzIHdoaWNoIHdhaXRcclxuICogICAgICAgICAgICAgIGZvciBlbGVtZW50cyB0byBhcHBlYXIgaW4gRE9NIG9yIGJlY29tZSB2aXNpYmxlIGJlZm9yZSBvcGVyYXRpbmcgb24gdGhlbS4gIFxyXG4gKiAgICAgICAgICAgICAgSWYgY29tbWFuZCB3YXNuJ3QgYWJsZSB0byBjb21wbGV0ZSB3aXRoaW4gdGhlIHNwZWNpZmllZCBwZXJpb2QgaXQgd2lsbCBmYWlsIHRoZVxyXG4gKiAgICAgICAgICAgICAgdGVzdC4gIFxyXG4gKiAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgdGltZS1vdXQgaXMgNjAgc2Vjb25kcy5cclxuICogQGZ1bmN0aW9uIHNldFRpbWVvdXRcclxuICogQHBhcmFtIHtOdW1iZXJ9IHRpbWVvdXQgLSBBIHRpbWUtb3V0IGluIG1pbGxpc2Vjb25kcy5cclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIHdlYi5pbml0KCk7Ly9PcGVucyBicm93c2VyIHNlc3Npb24uXHJcbiAqIHdlYi5vcGVuKFwid3d3LnlvdXJ3ZWJzaXRlLmNvbVwiKTsvLyBPcGVucyBhIHdlYnNpdGUuXHJcbiAqIHdlYi5zZXRUaW1lb3V0KDYwMDAwKTsvL1NldHMgdGhlIHRpbWUgb3V0IHRvIGFtb3VudCBvZiBtaWxsaXNlY29uZHMgLlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbih0aW1lb3V0KSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZSh0aW1lb3V0LCAndGltZW91dCcpO1xyXG4gICAgdGhpcy53YWl0Rm9yVGltZW91dCA9IHRpbWVvdXQ7XHJcbiAgICBhd2FpdCB0aGlzLmhlbHBlcnMuc2V0VGltZW91dEltcGxpY2l0KHRpbWVvdXQpO1xyXG59O1xyXG4iXX0=
@@ -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 Sets the size of the outer browser window.
16
- * @function setWindowSize
17
- * @param {Number} width - Width in pixels.
18
- * @param {Number} height - Height in pixels.
19
- * @example <caption>[javascript] Usage example</caption>
20
- * web.init();//Opens browser session.
21
- * web.open("www.yourwebsite.com");// Opens a website.
22
- * web.setWindowSize(100,40);//Sets the window size (width and height) in pixels.
23
- */
24
- module.exports = async function (width, height) {
25
- this.helpers.assertArgumentNumberNonNegative(width);
26
- this.helpers.assertArgumentNumberNonNegative(height);
27
- await this.driver.setWindowSize(width, height);
28
- };
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvc2V0V2luZG93U2l6ZS5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwid2lkdGgiLCJoZWlnaHQiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZSIsImRyaXZlciIsInNldFdpbmRvd1NpemUiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsS0FBZixFQUFzQkMsTUFBdEIsRUFBOEI7QUFDM0MsT0FBS0MsT0FBTCxDQUFhQywrQkFBYixDQUE2Q0gsS0FBN0M7QUFDQSxPQUFLRSxPQUFMLENBQWFDLCtCQUFiLENBQTZDRixNQUE3QztBQUNBLFFBQU0sS0FBS0csTUFBTCxDQUFZQyxhQUFaLENBQTBCTCxLQUExQixFQUFpQ0MsTUFBakMsQ0FBTjtBQUNILENBSkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBTZXRzIHRoZSBzaXplIG9mIHRoZSBvdXRlciBicm93c2VyIHdpbmRvdy5cclxuICogQGZ1bmN0aW9uIHNldFdpbmRvd1NpemVcclxuICogQHBhcmFtIHtOdW1iZXJ9IHdpZHRoIC0gV2lkdGggaW4gcGl4ZWxzLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gaGVpZ2h0IC0gSGVpZ2h0IGluIHBpeGVscy5cclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIHdlYi5pbml0KCk7Ly9PcGVucyBicm93c2VyIHNlc3Npb24uXHJcbiAqIHdlYi5vcGVuKFwid3d3LnlvdXJ3ZWJzaXRlLmNvbVwiKTsvLyBPcGVucyBhIHdlYnNpdGUuXHJcbiAqIHdlYi5zZXRXaW5kb3dTaXplKDEwMCw0MCk7Ly9TZXRzIHRoZSB3aW5kb3cgc2l6ZSAod2lkdGggYW5kIGhlaWdodCkgaW4gcGl4ZWxzLlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbih3aWR0aCwgaGVpZ2h0KSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZSh3aWR0aCk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZShoZWlnaHQpO1xyXG4gICAgYXdhaXQgdGhpcy5kcml2ZXIuc2V0V2luZG93U2l6ZSh3aWR0aCwgaGVpZ2h0KTtcclxufTtcclxuIl19
@@ -1,37 +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
- * @example <caption>[javascript] Usage example</caption>
19
- * web.init();
20
- * web.open("www.yourwebsite.com");
21
- * var ss = web.takeScreenshot();
22
- * require("fs").writeFileSync("c:\\screenshot.png", ss, 'base64');
23
- */
24
- module.exports = async function () {
25
- var response = await this.driver.takeScreenshot(); // sometimes execution on IE fails with the following error:
26
- // "Unable to determine type from: E. Last 1 characters read: E"
27
- // it's unclear what this error means and why it happens
28
- // but when it happens screenshot() will return empty array instead of null for some reason
29
- // so we return response only if it's a string
30
-
31
- if (typeof response === 'string' || response instanceof String) {
32
- return response;
33
- }
34
-
35
- return null;
36
- };
37
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvdGFrZVNjcmVlbnNob3QuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlc3BvbnNlIiwiZHJpdmVyIiwidGFrZVNjcmVlbnNob3QiLCJTdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixrQkFBaUI7QUFDOUIsTUFBSUMsUUFBUSxHQUFHLE1BQU0sS0FBS0MsTUFBTCxDQUFZQyxjQUFaLEVBQXJCLENBRDhCLENBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsTUFBSSxPQUFPRixRQUFQLEtBQW9CLFFBQXBCLElBQWdDQSxRQUFRLFlBQVlHLE1BQXhELEVBQWdFO0FBQzVELFdBQU9ILFFBQVA7QUFDSDs7QUFDRCxTQUFPLElBQVA7QUFDSCxDQVhEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQGZ1bmN0aW9uIHRha2VTY3JlZW5zaG90XHJcbiAqIEBzdW1tYXJ5IFRha2UgYSBzY3JlZW5zaG90IG9mIHRoZSBjdXJyZW50IHBhZ2Ugb3Igc2NyZWVuIGFuZCByZXR1cm4gaXQgYXMgYmFzZTY0IGVuY29kZWQgc3RyaW5nLlxyXG4gKiBAcmV0dXJuIHtTdHJpbmd9IFNjcmVlbnNob3QgaW1hZ2UgZW5jb2RlZCBhcyBhIGJhc2U2NCBzdHJpbmcuXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiB3ZWIuaW5pdCgpO1xyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7XHJcbiAqIHZhciBzcyA9IHdlYi50YWtlU2NyZWVuc2hvdCgpO1xyXG4gKiByZXF1aXJlKFwiZnNcIikud3JpdGVGaWxlU3luYyhcImM6XFxcXHNjcmVlbnNob3QucG5nXCIsIHNzLCAnYmFzZTY0Jyk7XHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKCkge1xyXG4gICAgdmFyIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5kcml2ZXIudGFrZVNjcmVlbnNob3QoKTtcclxuICAgIC8vIHNvbWV0aW1lcyBleGVjdXRpb24gb24gSUUgZmFpbHMgd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yOlxyXG4gICAgLy8gXCJVbmFibGUgdG8gZGV0ZXJtaW5lIHR5cGUgZnJvbTogRS4gTGFzdCAxIGNoYXJhY3RlcnMgcmVhZDogRVwiXHJcbiAgICAvLyBpdCdzIHVuY2xlYXIgd2hhdCB0aGlzIGVycm9yIG1lYW5zIGFuZCB3aHkgaXQgaGFwcGVuc1xyXG4gICAgLy8gYnV0IHdoZW4gaXQgaGFwcGVucyBzY3JlZW5zaG90KCkgd2lsbCByZXR1cm4gZW1wdHkgYXJyYXkgaW5zdGVhZCBvZiBudWxsIGZvciBzb21lIHJlYXNvblxyXG4gICAgLy8gc28gd2UgcmV0dXJuIHJlc3BvbnNlIG9ubHkgaWYgaXQncyBhIHN0cmluZ1xyXG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycgfHwgcmVzcG9uc2UgaW5zdGFuY2VvZiBTdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxufTtcclxuIl19