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,54 +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
- * @for hybrid, web
26
- * @example <caption>[javascript] Usage example</caption>
27
- * mob.init(); //Starts a mobile session
28
- * mob.open("www.yourwebsite.com");// Opens a website.
29
- * mob.select("id=Selection","label=United States");// Selects an option from a list.
30
- */
31
- module.exports = async function (selectLocator, optionLocator, timeout) {
32
- this.helpers.assertArgumentNonEmptyString(optionLocator, 'optionLocator');
33
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
34
- var el = await this.helpers.getElement(selectLocator, false, timeout);
35
-
36
- try {
37
- if (optionLocator.indexOf('value=') === 0) {
38
- await el.selectByAttribute('value', optionLocator.substring('value='.length));
39
- } else if (optionLocator.indexOf('index=') === 0) {
40
- await el.selectByIndex(optionLocator.substring('index='.length));
41
- } else if (optionLocator.indexOf('label=') === 0) {
42
- await el.selectByVisibleText(optionLocator.substring('label='.length));
43
- } else {
44
- await el.selectByVisibleText(optionLocator);
45
- }
46
- } catch (e) {
47
- if (e.message && e.message.startsWith('Option with ')) {
48
- throw new this.OxError(this.errHelper.errorCode.OPTION_NOT_FOUND, e.message);
49
- }
50
-
51
- throw e;
52
- }
53
- };
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2VsZWN0LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJzZWxlY3RMb2NhdG9yIiwib3B0aW9uTG9jYXRvciIsInRpbWVvdXQiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnROb25FbXB0eVN0cmluZyIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImVsIiwiZ2V0RWxlbWVudCIsImluZGV4T2YiLCJzZWxlY3RCeUF0dHJpYnV0ZSIsInN1YnN0cmluZyIsImxlbmd0aCIsInNlbGVjdEJ5SW5kZXgiLCJzZWxlY3RCeVZpc2libGVUZXh0IiwiZSIsIm1lc3NhZ2UiLCJzdGFydHNXaXRoIiwiT3hFcnJvciIsImVyckhlbHBlciIsImVycm9yQ29kZSIsIk9QVElPTl9OT1RfRk9VTkQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxhQUFmLEVBQThCQyxhQUE5QixFQUE2Q0MsT0FBN0MsRUFBc0Q7QUFDbkUsT0FBS0MsT0FBTCxDQUFhQyw0QkFBYixDQUEwQ0gsYUFBMUMsRUFBeUQsZUFBekQ7QUFDQSxPQUFLRSxPQUFMLENBQWFFLHFCQUFiLENBQW1DSCxPQUFuQyxFQUE0QyxTQUE1QztBQUVBLE1BQUlJLEVBQUUsR0FBRyxNQUFNLEtBQUtILE9BQUwsQ0FBYUksVUFBYixDQUF3QlAsYUFBeEIsRUFBdUMsS0FBdkMsRUFBOENFLE9BQTlDLENBQWY7O0FBRUEsTUFBSTtBQUNBLFFBQUlELGFBQWEsQ0FBQ08sT0FBZCxDQUFzQixRQUF0QixNQUFvQyxDQUF4QyxFQUEyQztBQUN2QyxZQUFNRixFQUFFLENBQUNHLGlCQUFILENBQXFCLE9BQXJCLEVBQThCUixhQUFhLENBQUNTLFNBQWQsQ0FBd0IsU0FBU0MsTUFBakMsQ0FBOUIsQ0FBTjtBQUNILEtBRkQsTUFFTyxJQUFJVixhQUFhLENBQUNPLE9BQWQsQ0FBc0IsUUFBdEIsTUFBb0MsQ0FBeEMsRUFBMkM7QUFDOUMsWUFBTUYsRUFBRSxDQUFDTSxhQUFILENBQWlCWCxhQUFhLENBQUNTLFNBQWQsQ0FBd0IsU0FBU0MsTUFBakMsQ0FBakIsQ0FBTjtBQUNILEtBRk0sTUFFQSxJQUFJVixhQUFhLENBQUNPLE9BQWQsQ0FBc0IsUUFBdEIsTUFBb0MsQ0FBeEMsRUFBMkM7QUFDOUMsWUFBTUYsRUFBRSxDQUFDTyxtQkFBSCxDQUF1QlosYUFBYSxDQUFDUyxTQUFkLENBQXdCLFNBQVNDLE1BQWpDLENBQXZCLENBQU47QUFDSCxLQUZNLE1BRUE7QUFDSCxZQUFNTCxFQUFFLENBQUNPLG1CQUFILENBQXVCWixhQUF2QixDQUFOO0FBQ0g7QUFDSixHQVZELENBVUUsT0FBT2EsQ0FBUCxFQUFVO0FBQ1IsUUFBSUEsQ0FBQyxDQUFDQyxPQUFGLElBQWFELENBQUMsQ0FBQ0MsT0FBRixDQUFVQyxVQUFWLENBQXFCLGNBQXJCLENBQWpCLEVBQXVEO0FBQ25ELFlBQU0sSUFBSSxLQUFLQyxPQUFULENBQWlCLEtBQUtDLFNBQUwsQ0FBZUMsU0FBZixDQUF5QkMsZ0JBQTFDLEVBQTRETixDQUFDLENBQUNDLE9BQTlELENBQU47QUFDSDs7QUFDRCxVQUFNRCxDQUFOO0FBQ0g7QUFDSixDQXRCRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFNlbGVjdHMgYW4gb3B0aW9uIGZyb20gYSBkcm9wLWRvd24gbGlzdCB1c2luZyBhbiBvcHRpb24gbG9jYXRvci4gVGhpcyBjb21tYW5kIHdvcmtzXHJcbiAqICAgICAgICAgIHdpdGggbXVsdGlwbGUtY2hvaWNlIGxpc3RzIGFzIHdlbGwuXHJcbiAqIEBkZXNjcmlwdGlvbiBPcHRpb24gbG9jYXRvciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgKE5vIHByZWZpeCBpcyBzYW1lIGFzIGxhYmVsIG1hdGNoaW5nKTogIFxyXG4gKiAgICAgICAgICAgICAgLSBgbGFiZWw9U1RSSU5HYCAtIE1hdGNoZXMgb3B0aW9uIGJhc2VkIG9uIHRoZSB2aXNpYmxlIHRleHQuICBcclxuICogICAgICAgICAgICAgIC0gYHZhbHVlPVNUUklOR2AgLSBNYXRjaGVzIG9wdGlvbiBiYXNlZCBvbiBpdHMgdmFsdWUuICBcclxuICogICAgICAgICAgICAgIC0gYGluZGV4PVNUUklOR2AgLSBNYXRjaGVzIG9wdGlvbiBiYXNlZCBvbiBpdHMgaW5kZXguIFRoZSBpbmRleCBpcyAwLWJhc2VkLlxyXG4gKiBAZnVuY3Rpb24gc2VsZWN0XHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RMb2NhdG9yIC0gQW4gZWxlbWVudCBsb2NhdG9yIGlkZW50aWZ5aW5nIGEgZHJvcC1kb3duIG1lbnUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25Mb2NhdG9yIC0gQW4gb3B0aW9uIGxvY2F0b3IuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBmb3IgaHlicmlkLCB3ZWJcclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIG1vYi5pbml0KCk7IC8vU3RhcnRzIGEgbW9iaWxlIHNlc3Npb25cclxuICogbW9iLm9wZW4oXCJ3d3cueW91cndlYnNpdGUuY29tXCIpOy8vIE9wZW5zIGEgd2Vic2l0ZS5cclxuICogbW9iLnNlbGVjdChcImlkPVNlbGVjdGlvblwiLFwibGFiZWw9VW5pdGVkIFN0YXRlc1wiKTsvLyBTZWxlY3RzIGFuIG9wdGlvbiBmcm9tIGEgbGlzdC4gXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKHNlbGVjdExvY2F0b3IsIG9wdGlvbkxvY2F0b3IsIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nKG9wdGlvbkxvY2F0b3IsICdvcHRpb25Mb2NhdG9yJyk7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnRUaW1lb3V0KHRpbWVvdXQsICd0aW1lb3V0Jyk7XHJcblxyXG4gICAgdmFyIGVsID0gYXdhaXQgdGhpcy5oZWxwZXJzLmdldEVsZW1lbnQoc2VsZWN0TG9jYXRvciwgZmFsc2UsIHRpbWVvdXQpO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgICAgaWYgKG9wdGlvbkxvY2F0b3IuaW5kZXhPZigndmFsdWU9JykgPT09IDApIHtcclxuICAgICAgICAgICAgYXdhaXQgZWwuc2VsZWN0QnlBdHRyaWJ1dGUoJ3ZhbHVlJywgb3B0aW9uTG9jYXRvci5zdWJzdHJpbmcoJ3ZhbHVlPScubGVuZ3RoKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb25Mb2NhdG9yLmluZGV4T2YoJ2luZGV4PScpID09PSAwKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGVsLnNlbGVjdEJ5SW5kZXgob3B0aW9uTG9jYXRvci5zdWJzdHJpbmcoJ2luZGV4PScubGVuZ3RoKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb25Mb2NhdG9yLmluZGV4T2YoJ2xhYmVsPScpID09PSAwKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGVsLnNlbGVjdEJ5VmlzaWJsZVRleHQob3B0aW9uTG9jYXRvci5zdWJzdHJpbmcoJ2xhYmVsPScubGVuZ3RoKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgYXdhaXQgZWwuc2VsZWN0QnlWaXNpYmxlVGV4dChvcHRpb25Mb2NhdG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgaWYgKGUubWVzc2FnZSAmJiBlLm1lc3NhZ2Uuc3RhcnRzV2l0aCgnT3B0aW9uIHdpdGggJykpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuT1BUSU9OX05PVF9GT1VORCwgZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgZTtcclxuICAgIH1cclxufTtcclxuIl19
@@ -1,53 +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
- * @for hybrid, web
26
- * @example <caption>[javascript] Usage example</caption>
27
- * mob.init(caps);//Starts a mobile session and opens app from desired capabilities
28
- * mob.selectFrame("//iframe[@id='frame1']", "//iframe[@id='nested_frame']");
29
- */
30
- module.exports = async function (frameLocator) {
31
- await this.helpers.assertContext(this.helpers.contextList.hybrid, this.helpers.contextList.web);
32
-
33
- if (frameLocator === 'parent') {
34
- // parent
35
- await this.driver.switchToParentFrame();
36
- } else if (frameLocator === 'top') {
37
- // top
38
- await this.driver.switchToFrame(null);
39
- } else if (!isNaN(frameLocator)) {
40
- // frame index
41
- await this.driver.switchToFrame(frameLocator);
42
- } else {
43
- // frame locator(s)
44
- await this.driver.switchToFrame(null);
45
-
46
- for (var i = 0; i < arguments.length; i++) {
47
- var locator = arguments[i];
48
- var el = await this.helpers.getElement(locator);
49
- await this.driver.switchToFrame(el);
50
- }
51
- }
52
- };
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2VsZWN0RnJhbWUuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImZyYW1lTG9jYXRvciIsImhlbHBlcnMiLCJhc3NlcnRDb250ZXh0IiwiY29udGV4dExpc3QiLCJoeWJyaWQiLCJ3ZWIiLCJkcml2ZXIiLCJzd2l0Y2hUb1BhcmVudEZyYW1lIiwic3dpdGNoVG9GcmFtZSIsImlzTmFOIiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsImxvY2F0b3IiLCJlbCIsImdldEVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsWUFBZixFQUE2QjtBQUMxQyxRQUFNLEtBQUtDLE9BQUwsQ0FBYUMsYUFBYixDQUEyQixLQUFLRCxPQUFMLENBQWFFLFdBQWIsQ0FBeUJDLE1BQXBELEVBQTRELEtBQUtILE9BQUwsQ0FBYUUsV0FBYixDQUF5QkUsR0FBckYsQ0FBTjs7QUFDQSxNQUFJTCxZQUFZLEtBQUssUUFBckIsRUFBK0I7QUFBaUI7QUFDNUMsVUFBTSxLQUFLTSxNQUFMLENBQVlDLG1CQUFaLEVBQU47QUFDSCxHQUZELE1BRU8sSUFBSVAsWUFBWSxLQUFLLEtBQXJCLEVBQTRCO0FBQWE7QUFDNUMsVUFBTSxLQUFLTSxNQUFMLENBQVlFLGFBQVosQ0FBMEIsSUFBMUIsQ0FBTjtBQUNILEdBRk0sTUFFQSxJQUFJLENBQUNDLEtBQUssQ0FBQ1QsWUFBRCxDQUFWLEVBQTBCO0FBQWU7QUFDNUMsVUFBTSxLQUFLTSxNQUFMLENBQVlFLGFBQVosQ0FBMEJSLFlBQTFCLENBQU47QUFDSCxHQUZNLE1BRUE7QUFBeUM7QUFDNUMsVUFBTSxLQUFLTSxNQUFMLENBQVlFLGFBQVosQ0FBMEIsSUFBMUIsQ0FBTjs7QUFDQSxTQUFLLElBQUlFLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdDLFNBQVMsQ0FBQ0MsTUFBOUIsRUFBc0NGLENBQUMsRUFBdkMsRUFBMkM7QUFDdkMsVUFBSUcsT0FBTyxHQUFHRixTQUFTLENBQUNELENBQUQsQ0FBdkI7QUFDQSxVQUFJSSxFQUFFLEdBQUcsTUFBTSxLQUFLYixPQUFMLENBQWFjLFVBQWIsQ0FBd0JGLE9BQXhCLENBQWY7QUFDQSxZQUFNLEtBQUtQLE1BQUwsQ0FBWUUsYUFBWixDQUEwQk0sRUFBMUIsQ0FBTjtBQUNIO0FBQ0o7QUFDSixDQWhCRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFNlbGVjdHMgYSBmcmFtZSBvciBhbiBpZnJhbWUgd2l0aGluIHRoZSBjdXJyZW50IHdpbmRvdy5cclxuICogQGRlc2NyaXB0aW9uIEF2YWlsYWJsZSBmcmFtZSBsb2NhdG9yczogIFxyXG4gKiAgICAgICAgICAgICAgLSBgJ3BhcmVudCdgIC0gU2VsZWN0IHBhcmVudCBmcmFtZS4gIFxyXG4gKiAgICAgICAgICAgICAgLSBgJ3RvcCdgIC0gU2VsZWN0IHRvcCB3aW5kb3cuICBcclxuICogICAgICAgICAgICAgIC0gYE5VTUJFUmAgLSBTZWxlY3QgZnJhbWUgYnkgaXRzIDAtYmFzZWQgaW5kZXguICBcclxuICogICAgICAgICAgICAgIC0gYExPQ0FUT1JgIC0gTG9jYXRvciBpZGVudGlmeWluZyB0aGUgZnJhbWUgKHJlbGF0aXZlIHRvIHRoZSB0b3Agd2luZG93KS5cclxuICogICAgICAgICAgICAgIE11bHRpcGxlIGxvY2F0b3JzIGNhbiBiZSBwYXNzZWQgaW4gb3JkZXIgdG8gc3dpdGNoIGJldHdlZW4gbmVzdGVkIGZyYW1lcy5cclxuICogQGZ1bmN0aW9uIHNlbGVjdEZyYW1lXHJcbiAqIEBwYXJhbSB7Li4uU3RyaW5nfE51bWJlcn0gZnJhbWVMb2NhdG9yIC0gQSBsb2NhdG9yIGlkZW50aWZ5aW5nIHRoZSBmcmFtZSBvciBpZnJhbWUuIE9yIGEgc2VyaWVzIFxyXG4gKiAgICAgICAgIG9mIGxvY2F0b3JzLlxyXG4gKiBAZm9yIGh5YnJpZCwgd2ViXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdChjYXBzKTsvL1N0YXJ0cyBhIG1vYmlsZSBzZXNzaW9uIGFuZCBvcGVucyBhcHAgZnJvbSBkZXNpcmVkIGNhcGFiaWxpdGllc1xyXG4gKiBtb2Iuc2VsZWN0RnJhbWUoXCIvL2lmcmFtZVtAaWQ9J2ZyYW1lMSddXCIsIFwiLy9pZnJhbWVbQGlkPSduZXN0ZWRfZnJhbWUnXVwiKTtcclxuICovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24oZnJhbWVMb2NhdG9yKSB7XHJcbiAgICBhd2FpdCB0aGlzLmhlbHBlcnMuYXNzZXJ0Q29udGV4dCh0aGlzLmhlbHBlcnMuY29udGV4dExpc3QuaHlicmlkLCB0aGlzLmhlbHBlcnMuY29udGV4dExpc3Qud2ViKTtcclxuICAgIGlmIChmcmFtZUxvY2F0b3IgPT09ICdwYXJlbnQnKSB7ICAgICAgICAgICAgICAgIC8vIHBhcmVudFxyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvUGFyZW50RnJhbWUoKTtcclxuICAgIH0gZWxzZSBpZiAoZnJhbWVMb2NhdG9yID09PSAndG9wJykgeyAgICAgICAgICAgIC8vIHRvcFxyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvRnJhbWUobnVsbCk7XHJcbiAgICB9IGVsc2UgaWYgKCFpc05hTihmcmFtZUxvY2F0b3IpKSB7ICAgICAgICAgICAgICAvLyBmcmFtZSBpbmRleFxyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvRnJhbWUoZnJhbWVMb2NhdG9yKTtcclxuICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZyYW1lIGxvY2F0b3IocylcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb0ZyYW1lKG51bGwpO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBsb2NhdG9yID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICB2YXIgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChsb2NhdG9yKTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9GcmFtZShlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59O1xyXG4iXX0=
@@ -1,149 +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
- * @for web
30
- * @example <caption>[javascript] Usage example</caption>
31
- * mob.init();// Starts a mobile session.
32
- * mob.open("www.yourwebsite.com");// Opens a website.
33
- * mob.selectWindow("title=Website");// Selects and focus a window.
34
- */
35
- module.exports = async function (windowLocator, timeout) {
36
- this.helpers.assertArgument(windowLocator, 'windowLocator');
37
- var currentHandle;
38
- var currentHandleTitle;
39
- var currentHandleUrl;
40
- var swithToCurrentHandleErrorMsg = 'Unable to switch to previous selected window'; // getWindowHandle() could possibly fail if there is no active window,
41
- // so we select the last opened one in such case
42
-
43
- try {
44
- currentHandle = await this.driver.getWindowHandle();
45
- } catch (err) {
46
- var wnds = await this.driver.getWindowHandles();
47
- await this.driver.switchToWindow(wnds[wnds.length - 1]);
48
- currentHandle = await this.driver.getWindowHandle();
49
- }
50
-
51
- if (currentHandle) {
52
- currentHandleTitle = await this.driver.getTitle();
53
- currentHandleUrl = await this.driver.getUrl();
54
- }
55
-
56
- var windowHandles;
57
-
58
- if (windowLocator.indexOf('title=') === 0) {
59
- let pattern = windowLocator.substring('title='.length);
60
- let start = new Date().getTime();
61
- timeout = !timeout ? this.waitForTimeout : timeout;
62
-
63
- while (new Date().getTime() - start < timeout) {
64
- windowHandles = await this.driver.getWindowHandles();
65
-
66
- for (let i = 0; i < windowHandles.length; i++) {
67
- let handle = windowHandles[i];
68
-
69
- try {
70
- await this.driver.switchToWindow(handle);
71
- } catch (err) {
72
- // in case window was closed
73
- continue;
74
- }
75
-
76
- let title = await this.driver.getTitle();
77
-
78
- if (this.helpers.matchPattern(title, pattern)) {
79
- return currentHandle;
80
- }
81
- }
82
-
83
- this.pause(1000);
84
- }
85
-
86
- try {
87
- // if window not found - switch to original one and throw
88
- await this.driver.switchToWindow(currentHandle);
89
- } catch (err) {
90
- // in case window was closed
91
- if (currentHandleTitle) {
92
- swithToCurrentHandleErrorMsg += `: ${currentHandleTitle}`;
93
- }
94
-
95
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, swithToCurrentHandleErrorMsg);
96
- }
97
-
98
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, `Unable to find window: ${windowLocator}`);
99
- } else if (windowLocator.indexOf('url=') === 0) {
100
- let pattern = windowLocator.substring('url='.length);
101
- let start = new Date().getTime();
102
- timeout = !timeout ? this.waitForTimeout : timeout;
103
-
104
- while (new Date().getTime() - start < timeout) {
105
- windowHandles = await this.driver.getWindowHandles();
106
-
107
- for (let i = 0; i < windowHandles.length; i++) {
108
- let handle = windowHandles[i];
109
-
110
- try {
111
- await this.driver.switchToWindow(handle);
112
- } catch (err) {
113
- // in case window was closed
114
- continue;
115
- }
116
-
117
- let url = await this.driver.getUrl();
118
-
119
- if (this.helpers.matchPattern(url, pattern)) {
120
- return currentHandle;
121
- }
122
- }
123
-
124
- this.pause(1000);
125
- }
126
-
127
- try {
128
- // if window not found - switch to original one and throw
129
- await this.driver.switchToWindow(currentHandle);
130
- } catch (err) {
131
- if (currentHandleUrl) {
132
- swithToCurrentHandleErrorMsg += `: ${currentHandleUrl}`;
133
- }
134
-
135
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, swithToCurrentHandleErrorMsg);
136
- }
137
-
138
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, `Unable to find window: ${windowLocator}`);
139
- } else {
140
- try {
141
- await this.driver.switchToWindow(windowLocator);
142
- } catch (err) {
143
- throw new this.OxError(this.errHelper.errorCode.WINDOW_NOT_FOUND, err.message);
144
- }
145
- }
146
-
147
- return currentHandle;
148
- };
149
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2VsZWN0V2luZG93LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJ3aW5kb3dMb2NhdG9yIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudCIsImN1cnJlbnRIYW5kbGUiLCJjdXJyZW50SGFuZGxlVGl0bGUiLCJjdXJyZW50SGFuZGxlVXJsIiwic3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyIsImRyaXZlciIsImdldFdpbmRvd0hhbmRsZSIsImVyciIsInduZHMiLCJnZXRXaW5kb3dIYW5kbGVzIiwic3dpdGNoVG9XaW5kb3ciLCJsZW5ndGgiLCJnZXRUaXRsZSIsImdldFVybCIsIndpbmRvd0hhbmRsZXMiLCJpbmRleE9mIiwicGF0dGVybiIsInN1YnN0cmluZyIsInN0YXJ0IiwiRGF0ZSIsImdldFRpbWUiLCJ3YWl0Rm9yVGltZW91dCIsImkiLCJoYW5kbGUiLCJ0aXRsZSIsIm1hdGNoUGF0dGVybiIsInBhdXNlIiwiT3hFcnJvciIsImVyckhlbHBlciIsImVycm9yQ29kZSIsIldJTkRPV19OT1RfRk9VTkQiLCJ1cmwiLCJtZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxhQUFmLEVBQThCQyxPQUE5QixFQUF1QztBQUNwRCxPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJILGFBQTVCLEVBQTJDLGVBQTNDO0FBQ0EsTUFBSUksYUFBSjtBQUNBLE1BQUlDLGtCQUFKO0FBQ0EsTUFBSUMsZ0JBQUo7QUFDQSxNQUFJ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S0MsU0FBTCxDQUFlQyxTQUFmLENBQXlCQyxnQkFBMUMsRUFBNEQxQiw0QkFBNUQsQ0FBTjtBQUNIOztBQUNELFVBQU0sSUFBSSxLQUFLdUIsT0FBVCxDQUFpQixLQUFLQyxTQUFMLENBQWVDLFNBQWYsQ0FBeUJDLGdCQUExQyxFQUE2RCwwQkFBeUJqQyxhQUFjLEVBQXBHLENBQU47QUFDSCxHQS9CTSxNQStCQTtBQUNILFFBQUk7QUFDQSxZQUFNLEtBQUtRLE1BQUwsQ0FBWUssY0FBWixDQUEyQmIsYUFBM0IsQ0FBTjtBQUNILEtBRkQsQ0FFRSxPQUFPVSxHQUFQLEVBQVk7QUFDVixZQUFNLElBQUksS0FBS29CLE9BQVQsQ0FBaUIsS0FBS0MsU0FBTCxDQUFlQyxTQUFmLENBQXlCQyxnQkFBMUMsRUFBNER2QixHQUFHLENBQUN5QixPQUFoRSxDQUFOO0FBQ0g7QUFDSjs7QUFFRCxTQUFPL0IsYUFBUDtBQUNILENBaEdEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgU2VsZWN0cyB3aW5kb3cuIE9uY2Ugd2luZG93IGhhcyBiZWVuIHNlbGVjdGVkLCBhbGwgY29tbWFuZHMgZ28gdG8gdGhhdCB3aW5kb3cuXHJcbiAqIEBkZXNjcmlwdGlvbiBgd2luZG93TG9jYXRvcmAgY2FuIGJlOiAgXHJcbiAqIC0gYHRpdGxlPVRJVExFYCBTd2l0Y2ggdG8gdGhlIGZpcnN0IHdpbmRvdyB3aGljaCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgdGl0bGUuIGBUSVRMRWAgY2FuIGJlIGFueSBvZlxyXG4gKiB0aGUgc3VwcG9ydGVkIHN0cmluZyBtYXRjaGluZyBwYXR0ZXJucyAoc2VlIHRvcCBvZiB0aGUgcGFnZSkuIFdoZW4gdXNpbmcgdGl0bGUgbG9jYXRvciwgdGhpcyBjb21tYW5kXHJcbiAqIHdpbGwgd2FpdCBmb3IgdGhlIHdpbmRvdyB0byBhcHBlYXIgZmlyc3Qgc2ltaWxhcmx5IHRvIGB3YWl0Rm9yV2luZG93YCBjb21tYW5kLiAgXHJcbiAqIC0gYHVybD1VUkxgIFN3aXRjaCB0byB0aGUgZmlyc3Qgd2luZG93IHdoaWNoIG1hdGNoZXMgdGhlIHNwZWNpZmllZCBVUkwuIGBVUkxgIGNhbiBiZSBhbnkgb2ZcclxuICogdGhlIHN1cHBvcnRlZCBzdHJpbmcgbWF0Y2hpbmcgcGF0dGVybnMgKHNlZSB0b3Agb2YgdGhlIHBhZ2UpLiBXaGVuIHVzaW5nIHVybCBsb2NhdG9yLCB0aGlzIGNvbW1hbmRcclxuICogd2lsbCB3YWl0IGZvciB0aGUgd2luZG93IHRvIGFwcGVhciBmaXJzdCBzaW1pbGFybHkgdG8gYHdhaXRGb3JXaW5kb3dgIGNvbW1hbmQuICBcclxuICogLSBgd2luZG93SGFuZGxlYCBTd2l0Y2ggdG8gYSB3aW5kb3cgdXNpbmcgaXRzIHVuaXF1ZSBoYW5kbGUuXHJcbiAqIEBmdW5jdGlvbiBzZWxlY3RXaW5kb3dcclxuICogQHBhcmFtIHtTdHJpbmc9fSB3aW5kb3dMb2NhdG9yIC0gV2luZG93IGxvY2F0b3IuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIHdoZW4gdXNpbmcgJ3RpdGxlJyB3aW5kb3cgbG9jYXRpbmcgc3RyYXRlZ3kuIFxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAcmV0dXJuIHtTdHJpbmd9IHdpbmRvd0hhbmRsZSBvZiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCB3aW5kb3cuXHJcbiAqIEBmb3Igd2ViXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdCgpOy8vIFN0YXJ0cyBhIG1vYmlsZSBzZXNzaW9uLlxyXG4gKiBtb2Iub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiBtb2Iuc2VsZWN0V2luZG93KFwidGl0bGU9V2Vic2l0ZVwiKTsvLyBTZWxlY3RzIGFuZCBmb2N1cyBhIHdpbmRvdy4gXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKHdpbmRvd0xvY2F0b3IsIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudCh3aW5kb3dMb2NhdG9yLCAnd2luZG93TG9jYXRvcicpO1xyXG4gICAgdmFyIGN1cnJlbnRIYW5kbGU7XHJcbiAgICB2YXIgY3VycmVudEhhbmRsZVRpdGxlO1xyXG4gICAgdmFyIGN1cnJlbnRIYW5kbGVVcmw7XHJcbiAgICB2YXIgc3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyA9ICdVbmFibGUgdG8gc3dpdGNoIHRvIHByZXZpb3VzIHNlbGVjdGVkIHdpbmRvdyc7XHJcblxyXG4gICAgLy8gZ2V0V2luZG93SGFuZGxlKCkgY291bGQgcG9zc2libHkgZmFpbCBpZiB0aGVyZSBpcyBubyBhY3RpdmUgd2luZG93LFxyXG4gICAgLy8gc28gd2Ugc2VsZWN0IHRoZSBsYXN0IG9wZW5lZCBvbmUgaW4gc3VjaCBjYXNlXHJcbiAgICB0cnkge1xyXG4gICAgICAgIGN1cnJlbnRIYW5kbGUgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRXaW5kb3dIYW5kbGUoKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIHZhciB3bmRzID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0V2luZG93SGFuZGxlcygpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvV2luZG93KHduZHNbd25kcy5sZW5ndGggLSAxXSk7XHJcbiAgICAgICAgY3VycmVudEhhbmRsZSA9IGF3YWl0IHRoaXMuZHJpdmVyLmdldFdpbmRvd0hhbmRsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjdXJyZW50SGFuZGxlKSB7XHJcbiAgICAgICAgY3VycmVudEhhbmRsZVRpdGxlID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0VGl0bGUoKTtcclxuICAgICAgICBjdXJyZW50SGFuZGxlVXJsID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0VXJsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHdpbmRvd0hhbmRsZXM7XHJcbiAgICBpZiAod2luZG93TG9jYXRvci5pbmRleE9mKCd0aXRsZT0nKSA9PT0gMCkge1xyXG4gICAgICAgIGxldCBwYXR0ZXJuID0gd2luZG93TG9jYXRvci5zdWJzdHJpbmcoJ3RpdGxlPScubGVuZ3RoKTtcclxuICAgICAgICBsZXQgc3RhcnQgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRpbWVvdXQgPSAhdGltZW91dCA/IHRoaXMud2FpdEZvclRpbWVvdXQgOiB0aW1lb3V0O1xyXG4gICAgICAgIHdoaWxlICgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC0gc3RhcnQgPCB0aW1lb3V0KSB7XHJcbiAgICAgICAgICAgIHdpbmRvd0hhbmRsZXMgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRXaW5kb3dIYW5kbGVzKCk7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2luZG93SGFuZGxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGhhbmRsZSA9IHdpbmRvd0hhbmRsZXNbaV07XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvV2luZG93KGhhbmRsZSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHsgLy8gaW4gY2FzZSB3aW5kb3cgd2FzIGNsb3NlZFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0VGl0bGUoKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhlbHBlcnMubWF0Y2hQYXR0ZXJuKHRpdGxlLCBwYXR0ZXJuKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SGFuZGxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucGF1c2UoMTAwMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyBpZiB3aW5kb3cgbm90IGZvdW5kIC0gc3dpdGNoIHRvIG9yaWdpbmFsIG9uZSBhbmQgdGhyb3dcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9XaW5kb3coY3VycmVudEhhbmRsZSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7IC8vIGluIGNhc2Ugd2luZG93IHdhcyBjbG9zZWRcclxuXHJcbiAgICAgICAgICAgIGlmIChjdXJyZW50SGFuZGxlVGl0bGUpIHtcclxuICAgICAgICAgICAgICAgIHN3aXRoVG9DdXJyZW50SGFuZGxlRXJyb3JNc2cgKz0gYDogJHtjdXJyZW50SGFuZGxlVGl0bGV9YDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuV0lORE9XX05PVF9GT1VORCwgc3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLldJTkRPV19OT1RfRk9VTkQsIGBVbmFibGUgdG8gZmluZCB3aW5kb3c6ICR7d2luZG93TG9jYXRvcn1gKTtcclxuICAgIH0gZWxzZSBpZiAod2luZG93TG9jYXRvci5pbmRleE9mKCd1cmw9JykgPT09IDApIHtcclxuICAgICAgICBsZXQgcGF0dGVybiA9IHdpbmRvd0xvY2F0b3Iuc3Vic3RyaW5nKCd1cmw9Jy5sZW5ndGgpO1xyXG4gICAgICAgIGxldCBzdGFydCA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGltZW91dCA9ICF0aW1lb3V0ID8gdGhpcy53YWl0Rm9yVGltZW91dCA6IHRpbWVvdXQ7XHJcbiAgICAgICAgd2hpbGUgKChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLSBzdGFydCA8IHRpbWVvdXQpIHtcclxuICAgICAgICAgICAgd2luZG93SGFuZGxlcyA9IGF3YWl0IHRoaXMuZHJpdmVyLmdldFdpbmRvd0hhbmRsZXMoKTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB3aW5kb3dIYW5kbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaGFuZGxlID0gd2luZG93SGFuZGxlc1tpXTtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9XaW5kb3coaGFuZGxlKTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgeyAvLyBpbiBjYXNlIHdpbmRvdyB3YXMgY2xvc2VkXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgdXJsID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0VXJsKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oZWxwZXJzLm1hdGNoUGF0dGVybih1cmwsIHBhdHRlcm4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRIYW5kbGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5wYXVzZSgxMDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIC8vIGlmIHdpbmRvdyBub3QgZm91bmQgLSBzd2l0Y2ggdG8gb3JpZ2luYWwgb25lIGFuZCB0aHJvd1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb1dpbmRvdyhjdXJyZW50SGFuZGxlKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRIYW5kbGVVcmwpIHtcclxuICAgICAgICAgICAgICAgIHN3aXRoVG9DdXJyZW50SGFuZGxlRXJyb3JNc2cgKz0gYDogJHtjdXJyZW50SGFuZGxlVXJsfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuV0lORE9XX05PVF9GT1VORCwgc3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLldJTkRPV19OT1RfRk9VTkQsIGBVbmFibGUgdG8gZmluZCB3aW5kb3c6ICR7d2luZG93TG9jYXRvcn1gKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9XaW5kb3cod2luZG93TG9jYXRvcik7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLldJTkRPV19OT1RfRk9VTkQsIGVyci5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGN1cnJlbnRIYW5kbGU7XHJcbn07Il19
@@ -1,84 +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
- * @for android, ios, hybrid, web
22
- * @example <caption>[javascript] Usage example</caption>
23
- * mob.init();//Opens browser session.
24
- * mob.open("www.yourwebsite.com");// Opens a website.
25
- * mob.sendKeys("Hello World");
26
- * mob.sendKeys(["Backspace", "Backspace", "Enter"]); // send two Backspace key codes and Enter.
27
- * // Unicode representation can be used directly as well:
28
- * mob.sendKeys("Hello World\uE003\uE003\uE007");
29
- */
30
- var checkUnicode = require('webdriverio/build/utils').checkUnicode;
31
-
32
- module.exports = async function (value) {
33
- this.helpers.assertArgument(value, 'value');
34
- let keySequence = []; // WDIO implmentation of keys command invokes 'releaseActions' for W3C.
35
- // However ' DELETE /wd/hub/session/*/actions' is not implmeneted at the very least in uiatomator2
36
- // and `keys` crashes.
37
- // thus, do same thing as WDIO except releaseActions
38
-
39
- /*
40
- * replace key with corresponding unicode character
41
- */
42
-
43
- if (typeof value === 'string') {
44
- keySequence = checkUnicode(value);
45
- } else if (Array.isArray(value)) {
46
- // `instanceof Array` behaves strange when executed through vm.runInNewContext,
47
- // it returns false for arrays and `driver.keys()` tests for arrays using `instaceof Array`
48
- // thus we test using Array.isArray instead
49
- // https://github.com/felixge/node-sandboxed-module/issues/13#issuecomment-299585213
50
- for (const charSet of value) {
51
- keySequence = keySequence.concat(checkUnicode(charSet));
52
- }
53
- } else {
54
- throw new Error('"keys" command requires a string or array of strings as parameter');
55
- }
56
- /*
57
- * JsonWireProtocol action
58
- */
59
-
60
-
61
- if (!this.driver.isW3C) {
62
- await this.driver.sendKeys(keySequence);
63
- return;
64
- }
65
- /*
66
- * W3C way of handle it key actions
67
- */
68
-
69
-
70
- const keyDownActions = keySequence.map(value => ({
71
- type: 'keyDown',
72
- value
73
- }));
74
- const keyUpActions = keySequence.map(value => ({
75
- type: 'keyUp',
76
- value
77
- }));
78
- await this.driver.performActions([{
79
- type: 'key',
80
- id: 'keyboard',
81
- actions: [...keyDownActions, ...keyUpActions]
82
- }]);
83
- };
84
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2VuZEtleXMuanMiXSwibmFtZXMiOlsiY2hlY2tVbmljb2RlIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJ2YWx1ZSIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudCIsImtleVNlcXVlbmNlIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hhclNldCIsImNvbmNhdCIsIkVycm9yIiwiZHJpdmVyIiwiaXNXM0MiLCJzZW5kS2V5cyIsImtleURvd25BY3Rpb25zIiwibWFwIiwidHlwZSIsImtleVVwQWN0aW9ucyIsInBlcmZvcm1BY3Rpb25zIiwiaWQiLCJhY3Rpb25zIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUlBLFlBQVksR0FBR0MsT0FBTyxDQUFDLHlCQUFELENBQVAsQ0FBbUNELFlBQXREOztBQUVBRSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsZ0JBQWVDLEtBQWYsRUFBc0I7QUFDbkMsT0FBS0MsT0FBTCxDQUFhQyxjQUFiLENBQTRCRixLQUE1QixFQUFtQyxPQUFuQztBQUVBLE1BQUlHLFdBQVcsR0FBRyxFQUFsQixDQUhtQyxDQUtuQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNKO0FBQ0E7O0FBQ0ksTUFBSSxPQUFPSCxLQUFQLEtBQWlCLFFBQXJCLEVBQStCO0FBQzNCRyxJQUFBQSxXQUFXLEdBQUdQLFlBQVksQ0FBQ0ksS0FBRCxDQUExQjtBQUNILEdBRkQsTUFFTyxJQUFJSSxLQUFLLENBQUNDLE9BQU4sQ0FBY0wsS0FBZCxDQUFKLEVBQTBCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBSyxNQUFNTSxPQUFYLElBQXNCTixLQUF0QixFQUE2QjtBQUN6QkcsTUFBQUEsV0FBVyxHQUFHQSxXQUFXLENBQUNJLE1BQVosQ0FBbUJYLFlBQVksQ0FBQ1UsT0FBRCxDQUEvQixDQUFkO0FBQ0g7QUFDSixHQVJNLE1BUUE7QUFDSCxVQUFNLElBQUlFLEtBQUosQ0FBVSxtRUFBVixDQUFOO0FBQ0g7QUFFRDtBQUNKO0FBQ0E7OztBQUNJLE1BQUksQ0FBQyxLQUFLQyxNQUFMLENBQVlDLEtBQWpCLEVBQXdCO0FBQ3BCLFVBQU0sS0FBS0QsTUFBTCxDQUFZRSxRQUFaLENBQXFCUixXQUFyQixDQUFOO0FBQ0E7QUFDSDtBQUVEO0FBQ0o7QUFDQTs7O0FBQ0ksUUFBTVMsY0FBYyxHQUFHVCxXQUFXLENBQUNVLEdBQVosQ0FBaUJiLEtBQUQsS0FBWTtBQUFFYyxJQUFBQSxJQUFJLEVBQUUsU0FBUjtBQUFtQmQsSUFBQUE7QUFBbkIsR0FBWixDQUFoQixDQUF2QjtBQUNBLFFBQU1lLFlBQVksR0FBR1osV0FBVyxDQUFDVSxHQUFaLENBQWlCYixLQUFELEtBQVk7QUFBRWMsSUFBQUEsSUFBSSxFQUFFLE9BQVI7QUFBaUJkLElBQUFBO0FBQWpCLEdBQVosQ0FBaEIsQ0FBckI7QUFFQSxRQUFNLEtBQUtTLE1BQUwsQ0FBWU8sY0FBWixDQUEyQixDQUFDO0FBQzlCRixJQUFBQSxJQUFJLEVBQUUsS0FEd0I7QUFFOUJHLElBQUFBLEVBQUUsRUFBRSxVQUYwQjtBQUc5QkMsSUFBQUEsT0FBTyxFQUFFLENBQUMsR0FBR04sY0FBSixFQUFvQixHQUFHRyxZQUF2QjtBQUhxQixHQUFELENBQTNCLENBQU47QUFLSCxDQTlDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFNlbmQgYSBzZXF1ZW5jZSBvZiBrZXlib2FyZCBzdHJva2VzIHRvIHRoZSBhY3RpdmUgd2luZG93IG9yIGVsZW1lbnQuXHJcbiAqIEBkZXNjcmlwdGlvbiBSZWZlciB0byBbS2V5IENvZGVzXShodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyLyNrZXlib2FyZC1hY3Rpb25zKVxyXG4gKiAgICAgICAgICAgICAgZm9yIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCByYXcga2V5Ym9hcmQga2V5IGNvZGVzLlxyXG4gKiBAZnVuY3Rpb24gc2VuZEtleXNcclxuICogQHBhcmFtIHsoU3RyaW5nfFN0cmluZ1tdKX0gdmFsdWUgLSBTZXF1ZW5jZSBvZiBrZXkgc3Ryb2tlcyB0byBzZW5kLiBDYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIFxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSBvZiBzdHJpbmdzIGZvciBzZW5kaW5nIHJhdyBrZXkgY29kZXMuXHJcbiAqIEBmb3IgYW5kcm9pZCwgaW9zLCBoeWJyaWQsIHdlYlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogbW9iLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvbi5cclxuICogbW9iLm9wZW4oXCJ3d3cueW91cndlYnNpdGUuY29tXCIpOy8vIE9wZW5zIGEgd2Vic2l0ZS5cclxuICogbW9iLnNlbmRLZXlzKFwiSGVsbG8gV29ybGRcIik7XHJcbiAqIG1vYi5zZW5kS2V5cyhbXCJCYWNrc3BhY2VcIiwgXCJCYWNrc3BhY2VcIiwgXCJFbnRlclwiXSk7IC8vIHNlbmQgdHdvIEJhY2tzcGFjZSBrZXkgY29kZXMgYW5kIEVudGVyLlxyXG4gKiAvLyBVbmljb2RlIHJlcHJlc2VudGF0aW9uIGNhbiBiZSB1c2VkIGRpcmVjdGx5IGFzIHdlbGw6XHJcbiAqIG1vYi5zZW5kS2V5cyhcIkhlbGxvIFdvcmxkXFx1RTAwM1xcdUUwMDNcXHVFMDA3XCIpO1xyXG4qL1xyXG52YXIgY2hlY2tVbmljb2RlID0gcmVxdWlyZSgnd2ViZHJpdmVyaW8vYnVpbGQvdXRpbHMnKS5jaGVja1VuaWNvZGU7XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKHZhbHVlKSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnQodmFsdWUsICd2YWx1ZScpO1xyXG5cclxuICAgIGxldCBrZXlTZXF1ZW5jZSA9IFtdO1xyXG5cclxuICAgIC8vIFdESU8gaW1wbG1lbnRhdGlvbiBvZiBrZXlzIGNvbW1hbmQgaW52b2tlcyAncmVsZWFzZUFjdGlvbnMnIGZvciBXM0MuXHJcbiAgICAvLyBIb3dldmVyICcgREVMRVRFIC93ZC9odWIvc2Vzc2lvbi8qL2FjdGlvbnMnIGlzIG5vdCBpbXBsbWVuZXRlZCBhdCB0aGUgdmVyeSBsZWFzdCBpbiB1aWF0b21hdG9yMlxyXG4gICAgLy8gYW5kIGBrZXlzYCBjcmFzaGVzLlxyXG4gICAgLy8gdGh1cywgZG8gc2FtZSB0aGluZyBhcyBXRElPIGV4Y2VwdCByZWxlYXNlQWN0aW9uc1xyXG5cclxuICAgIC8qXHJcbiAgICAgKiByZXBsYWNlIGtleSB3aXRoIGNvcnJlc3BvbmRpbmcgdW5pY29kZSBjaGFyYWN0ZXJcclxuICAgICAqL1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICBrZXlTZXF1ZW5jZSA9IGNoZWNrVW5pY29kZSh2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgLy8gYGluc3RhbmNlb2YgQXJyYXlgIGJlaGF2ZXMgc3RyYW5nZSB3aGVuIGV4ZWN1dGVkIHRocm91Z2ggdm0ucnVuSW5OZXdDb250ZXh0LFxyXG4gICAgICAgIC8vIGl0IHJldHVybnMgZmFsc2UgZm9yIGFycmF5cyBhbmQgYGRyaXZlci5rZXlzKClgIHRlc3RzIGZvciBhcnJheXMgdXNpbmcgYGluc3RhY2VvZiBBcnJheWBcclxuICAgICAgICAvLyB0aHVzIHdlIHRlc3QgdXNpbmcgQXJyYXkuaXNBcnJheSBpbnN0ZWFkXHJcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZlbGl4Z2Uvbm9kZS1zYW5kYm94ZWQtbW9kdWxlL2lzc3Vlcy8xMyNpc3N1ZWNvbW1lbnQtMjk5NTg1MjEzXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGFyU2V0IG9mIHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGtleVNlcXVlbmNlID0ga2V5U2VxdWVuY2UuY29uY2F0KGNoZWNrVW5pY29kZShjaGFyU2V0KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wia2V5c1wiIGNvbW1hbmQgcmVxdWlyZXMgYSBzdHJpbmcgb3IgYXJyYXkgb2Ygc3RyaW5ncyBhcyBwYXJhbWV0ZXInKTtcclxuICAgIH1cclxuXHJcbiAgICAvKlxyXG4gICAgICogSnNvbldpcmVQcm90b2NvbCBhY3Rpb25cclxuICAgICAqL1xyXG4gICAgaWYgKCF0aGlzLmRyaXZlci5pc1czQykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnNlbmRLZXlzKGtleVNlcXVlbmNlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAqIFczQyB3YXkgb2YgaGFuZGxlIGl0IGtleSBhY3Rpb25zXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IGtleURvd25BY3Rpb25zID0ga2V5U2VxdWVuY2UubWFwKCh2YWx1ZSkgPT4gKHsgdHlwZTogJ2tleURvd24nLCB2YWx1ZSB9KSk7XHJcbiAgICBjb25zdCBrZXlVcEFjdGlvbnMgPSBrZXlTZXF1ZW5jZS5tYXAoKHZhbHVlKSA9PiAoeyB0eXBlOiAna2V5VXAnLCB2YWx1ZSB9KSk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5kcml2ZXIucGVyZm9ybUFjdGlvbnMoW3tcclxuICAgICAgICB0eXBlOiAna2V5JyxcclxuICAgICAgICBpZDogJ2tleWJvYXJkJyxcclxuICAgICAgICBhY3Rpb25zOiBbLi4ua2V5RG93bkFjdGlvbnMsIC4uLmtleVVwQWN0aW9uc11cclxuICAgIH1dKTtcclxufTtcclxuIl19
@@ -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
- * @function setContext
16
- * @summary Sets a specific context (NATIVE_APP, WEBVIEW, etc.).
17
- * @param {String} context - The context name.
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
- * mob.setContext('NATIVE_APP');//Sets a specific context (NATIVE_APP, WEBVIEW, etc.).
22
- */
23
- module.exports = async function (context) {
24
- this.helpers.assertArgumentNonEmptyString(context, 'context');
25
- await this.driver.switchContext(context);
26
- this.appContext = context;
27
- };
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2V0Q29udGV4dC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiY29udGV4dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nIiwiZHJpdmVyIiwic3dpdGNoQ29udGV4dCIsImFwcENvbnRleHQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsZ0JBQWVDLE9BQWYsRUFBd0I7QUFDckMsT0FBS0MsT0FBTCxDQUFhQyw0QkFBYixDQUEwQ0YsT0FBMUMsRUFBbUQsU0FBbkQ7QUFDQSxRQUFNLEtBQUtHLE1BQUwsQ0FBWUMsYUFBWixDQUEwQkosT0FBMUIsQ0FBTjtBQUNBLE9BQUtLLFVBQUwsR0FBa0JMLE9BQWxCO0FBQ0gsQ0FKRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBmdW5jdGlvbiBzZXRDb250ZXh0XHJcbiAqIEBzdW1tYXJ5IFNldHMgYSBzcGVjaWZpYyBjb250ZXh0IChOQVRJVkVfQVBQLCBXRUJWSUVXLCBldGMuKS5cclxuICogQHBhcmFtIHtTdHJpbmd9IGNvbnRleHQgLSBUaGUgY29udGV4dCBuYW1lLlxyXG4gKiBAZm9yIGFuZHJvaWQsIGlvcywgaHlicmlkLCB3ZWJcclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIG1vYi5pbml0KGNhcHMpOy8vU3RhcnRzIGEgbW9iaWxlIHNlc3Npb24gYW5kIG9wZW5zIGFwcCBmcm9tIGRlc2lyZWQgY2FwYWJpbGl0aWVzXHJcbiAqIG1vYi5zZXRDb250ZXh0KCdOQVRJVkVfQVBQJyk7Ly9TZXRzIGEgc3BlY2lmaWMgY29udGV4dCAoTkFUSVZFX0FQUCwgV0VCVklFVywgZXRjLikuXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKGNvbnRleHQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nKGNvbnRleHQsICdjb250ZXh0Jyk7XHJcbiAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hDb250ZXh0KGNvbnRleHQpO1xyXG4gICAgdGhpcy5hcHBDb250ZXh0ID0gY29udGV4dDtcclxufTtcclxuIl19
@@ -1,26 +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 context to NATIVE_APP.
16
- * @function setNativeContext
17
- * @for android, ios, hybrid, web
18
- * @example <caption>[javascript] Usage example</caption>
19
- * mob.init(caps);//Starts a mobile session and opens app from desired capabilities
20
- * mob.setNativeContext();//Sets context to NATIVE_APP.
21
- */
22
- module.exports = async function () {
23
- await this.driver.switchContext('NATIVE_APP');
24
- this.appContext = 'NATIVE_APP';
25
- };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2V0TmF0aXZlQ29udGV4dC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiZHJpdmVyIiwic3dpdGNoQ29udGV4dCIsImFwcENvbnRleHQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGtCQUFpQjtBQUM5QixRQUFNLEtBQUtDLE1BQUwsQ0FBWUMsYUFBWixDQUEwQixZQUExQixDQUFOO0FBQ0EsT0FBS0MsVUFBTCxHQUFrQixZQUFsQjtBQUNILENBSEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBTZXRzIGNvbnRleHQgdG8gTkFUSVZFX0FQUC5cclxuICogQGZ1bmN0aW9uIHNldE5hdGl2ZUNvbnRleHRcclxuICogQGZvciBhbmRyb2lkLCBpb3MsIGh5YnJpZCwgd2ViXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdChjYXBzKTsvL1N0YXJ0cyBhIG1vYmlsZSBzZXNzaW9uIGFuZCBvcGVucyBhcHAgZnJvbSBkZXNpcmVkIGNhcGFiaWxpdGllc1xyXG4gKiBtb2Iuc2V0TmF0aXZlQ29udGV4dCgpOy8vU2V0cyBjb250ZXh0IHRvIE5BVElWRV9BUFAuXHJcbiovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24oKSB7XHJcbiAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hDb250ZXh0KCdOQVRJVkVfQVBQJyk7XHJcbiAgICB0aGlzLmFwcENvbnRleHQgPSAnTkFUSVZFX0FQUCc7XHJcbn07XHJcbiJdfQ==
@@ -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
- * @for android, ios, hybrid, web
23
- * @param {Number} timeout - A time-out in milliseconds.
24
- * @example <caption>[javascript] Usage example</caption>
25
- * mob.init();//Opens browser session.
26
- * mob.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2V0VGltZW91dC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudE51bWJlck5vbk5lZ2F0aXZlIiwid2FpdEZvclRpbWVvdXQiLCJzZXRUaW1lb3V0SW1wbGljaXQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxPQUFmLEVBQXdCO0FBQ3JDLE9BQUtDLE9BQUwsQ0FBYUMsK0JBQWIsQ0FBNkNGLE9BQTdDLEVBQXNELFNBQXREO0FBQ0EsT0FBS0csY0FBTCxHQUFzQkgsT0FBdEI7QUFDQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUcsa0JBQWIsQ0FBZ0NKLE9BQWhDLENBQU47QUFDSCxDQUpEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBhbW91bnQgb2YgdGltZSB0aGF0IE94eWdlbiB3aWxsIHdhaXQgZm9yIGFjdGlvbnMgdG8gY29tcGxldGUuXHJcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIGluY2x1ZGVzIHRoZSBgb3BlbmAgY29tbWFuZCwgYHdhaXRGb3IqYCBjb21tYW5kcywgYW5kIGNvbW1hbmRzIHdoaWNoIHdhaXRcclxuICogICAgICAgICAgICAgIGZvciBlbGVtZW50cyB0byBhcHBlYXIgaW4gRE9NIG9yIGJlY29tZSB2aXNpYmxlIGJlZm9yZSBvcGVyYXRpbmcgb24gdGhlbS4gIFxyXG4gKiAgICAgICAgICAgICAgSWYgY29tbWFuZCB3YXNuJ3QgYWJsZSB0byBjb21wbGV0ZSB3aXRoaW4gdGhlIHNwZWNpZmllZCBwZXJpb2QgaXQgd2lsbCBmYWlsIHRoZVxyXG4gKiAgICAgICAgICAgICAgdGVzdC4gIFxyXG4gKiAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgdGltZS1vdXQgaXMgNjAgc2Vjb25kcy5cclxuICogQGZ1bmN0aW9uIHNldFRpbWVvdXRcclxuICogQGZvciBhbmRyb2lkLCBpb3MsIGh5YnJpZCwgd2ViXHJcbiAqIEBwYXJhbSB7TnVtYmVyfSB0aW1lb3V0IC0gQSB0aW1lLW91dCBpbiBtaWxsaXNlY29uZHMuXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdCgpOy8vT3BlbnMgYnJvd3NlciBzZXNzaW9uLlxyXG4gKiBtb2Iuc2V0VGltZW91dCg2MDAwMCk7Ly9TZXRzIHRoZSB0aW1lIG91dCB0byBhbW91bnQgb2YgbWlsbGlzZWNvbmRzIC5cclxuICovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24odGltZW91dCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50TnVtYmVyTm9uTmVnYXRpdmUodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuICAgIHRoaXMud2FpdEZvclRpbWVvdXQgPSB0aW1lb3V0O1xyXG4gICAgYXdhaXQgdGhpcy5oZWxwZXJzLnNldFRpbWVvdXRJbXBsaWNpdCh0aW1lb3V0KTtcclxufTtcclxuIl19
@@ -1,39 +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 context to the first available WEBVIEW or CHROMIUM (Crosswalk WebView) view.
16
- * @function setWebViewContext
17
- * @return {String} Context name, or null if no web context found.
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
- * mob.setWebViewContext();//Sets context to the first available WEBVIEW or CHROMIUM (Crosswalk WebView) view.
22
- */
23
- module.exports = async function () {
24
- var contexts = await this.driver.getContexts(); // select first available WEBVIEW context
25
-
26
- for (var i = 0; i < contexts.length; i++) {
27
- var context = contexts[i];
28
-
29
- if (context && (context.indexOf('WEBVIEW') > -1 || context.indexOf('CHROMIUM') > -1)) {
30
- this.logger.debug('Setting context: ' + context);
31
- await this.driver.switchContext(context);
32
- this.appContext = context;
33
- return context;
34
- }
35
- }
36
-
37
- return null;
38
- };
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2V0V2ViVmlld0NvbnRleHQuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImNvbnRleHRzIiwiZHJpdmVyIiwiZ2V0Q29udGV4dHMiLCJpIiwibGVuZ3RoIiwiY29udGV4dCIsImluZGV4T2YiLCJsb2dnZXIiLCJkZWJ1ZyIsInN3aXRjaENvbnRleHQiLCJhcHBDb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGtCQUFpQjtBQUM5QixNQUFJQyxRQUFRLEdBQUcsTUFBTSxLQUFLQyxNQUFMLENBQVlDLFdBQVosRUFBckIsQ0FEOEIsQ0FFOUI7O0FBQ0EsT0FBSyxJQUFJQyxDQUFDLEdBQUMsQ0FBWCxFQUFjQSxDQUFDLEdBQUdILFFBQVEsQ0FBQ0ksTUFBM0IsRUFBbUNELENBQUMsRUFBcEMsRUFBd0M7QUFDcEMsUUFBSUUsT0FBTyxHQUFHTCxRQUFRLENBQUNHLENBQUQsQ0FBdEI7O0FBQ0EsUUFBSUUsT0FBTyxLQUFLQSxPQUFPLENBQUNDLE9BQVIsQ0FBZ0IsU0FBaEIsSUFBNkIsQ0FBQyxDQUE5QixJQUFtQ0QsT0FBTyxDQUFDQyxPQUFSLENBQWdCLFVBQWhCLElBQThCLENBQUMsQ0FBdkUsQ0FBWCxFQUFzRjtBQUNsRixXQUFLQyxNQUFMLENBQVlDLEtBQVosQ0FBa0Isc0JBQXNCSCxPQUF4QztBQUNBLFlBQU0sS0FBS0osTUFBTCxDQUFZUSxhQUFaLENBQTBCSixPQUExQixDQUFOO0FBQ0EsV0FBS0ssVUFBTCxHQUFrQkwsT0FBbEI7QUFDQSxhQUFPQSxPQUFQO0FBQ0g7QUFDSjs7QUFDRCxTQUFPLElBQVA7QUFDSCxDQWJEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgU2V0cyBjb250ZXh0IHRvIHRoZSBmaXJzdCBhdmFpbGFibGUgV0VCVklFVyBvciBDSFJPTUlVTSAoQ3Jvc3N3YWxrIFdlYlZpZXcpIHZpZXcuXHJcbiAqIEBmdW5jdGlvbiBzZXRXZWJWaWV3Q29udGV4dFxyXG4gKiBAcmV0dXJuIHtTdHJpbmd9IENvbnRleHQgbmFtZSwgb3IgbnVsbCBpZiBubyB3ZWIgY29udGV4dCBmb3VuZC5cclxuICogQGZvciBhbmRyb2lkLCBpb3MsIGh5YnJpZCwgd2ViXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdChjYXBzKTsvL1N0YXJ0cyBhIG1vYmlsZSBzZXNzaW9uIGFuZCBvcGVucyBhcHAgZnJvbSBkZXNpcmVkIGNhcGFiaWxpdGllc1xyXG4gKiBtb2Iuc2V0V2ViVmlld0NvbnRleHQoKTsvL1NldHMgY29udGV4dCB0byB0aGUgZmlyc3QgYXZhaWxhYmxlIFdFQlZJRVcgb3IgQ0hST01JVU0gKENyb3Nzd2FsayBXZWJWaWV3KSB2aWV3LlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbigpIHtcclxuICAgIHZhciBjb250ZXh0cyA9IGF3YWl0IHRoaXMuZHJpdmVyLmdldENvbnRleHRzKCk7XHJcbiAgICAvLyBzZWxlY3QgZmlyc3QgYXZhaWxhYmxlIFdFQlZJRVcgY29udGV4dFxyXG4gICAgZm9yICh2YXIgaT0wOyBpIDwgY29udGV4dHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YXIgY29udGV4dCA9IGNvbnRleHRzW2ldO1xyXG4gICAgICAgIGlmIChjb250ZXh0ICYmIChjb250ZXh0LmluZGV4T2YoJ1dFQlZJRVcnKSA+IC0xIHx8IGNvbnRleHQuaW5kZXhPZignQ0hST01JVU0nKSA+IC0xKSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnU2V0dGluZyBjb250ZXh0OiAnICsgY29udGV4dCk7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaENvbnRleHQoY29udGV4dCk7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwQ29udGV4dCA9IGNvbnRleHQ7XHJcbiAgICAgICAgICAgIHJldHVybiBjb250ZXh0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG59O1xyXG4iXX0=
@@ -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
- * @summary Perform shake action on the device
16
- * @description Supported on Android and iOS 9 or earlier versions.
17
- * @function shake
18
- * @for ios
19
- * @example <caption>[javascript] Usage example</caption>
20
- * mob.init(caps);//Starts a mobile session and opens app from desired capabilities
21
- * mob.shake();//Perform shake action on the device.
22
- */
23
- module.exports = async function () {
24
- await this.helpers.assertContext(this.helpers.contextList.ios);
25
- await this.driver.shake();
26
- };
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2hha2UuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImhlbHBlcnMiLCJhc3NlcnRDb250ZXh0IiwiY29udGV4dExpc3QiLCJpb3MiLCJkcml2ZXIiLCJzaGFrZSJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixrQkFBaUI7QUFDOUIsUUFBTSxLQUFLQyxPQUFMLENBQWFDLGFBQWIsQ0FBMkIsS0FBS0QsT0FBTCxDQUFhRSxXQUFiLENBQXlCQyxHQUFwRCxDQUFOO0FBQ0EsUUFBTSxLQUFLQyxNQUFMLENBQVlDLEtBQVosRUFBTjtBQUNILENBSEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBQZXJmb3JtIHNoYWtlIGFjdGlvbiBvbiB0aGUgZGV2aWNlXHJcbiAqIEBkZXNjcmlwdGlvbiBTdXBwb3J0ZWQgb24gQW5kcm9pZCBhbmQgaU9TIDkgb3IgZWFybGllciB2ZXJzaW9ucy4gXHJcbiAqIEBmdW5jdGlvbiBzaGFrZVxyXG4gKiBAZm9yIGlvc1xyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogbW9iLmluaXQoY2Fwcyk7Ly9TdGFydHMgYSBtb2JpbGUgc2Vzc2lvbiBhbmQgb3BlbnMgYXBwIGZyb20gZGVzaXJlZCBjYXBhYmlsaXRpZXNcclxuICogbW9iLnNoYWtlKCk7Ly9QZXJmb3JtIHNoYWtlIGFjdGlvbiBvbiB0aGUgZGV2aWNlLlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbigpIHtcclxuICAgIGF3YWl0IHRoaXMuaGVscGVycy5hc3NlcnRDb250ZXh0KHRoaXMuaGVscGVycy5jb250ZXh0TGlzdC5pb3MpO1xyXG4gICAgYXdhaXQgdGhpcy5kcml2ZXIuc2hha2UoKTtcclxufTtcclxuIl19
@@ -1,32 +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 Clicks SMS message URL.
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 smsClickLink
19
- * @param {Number=} timeout - Time in milliseconds to wait for sms popup. Default is 60 seconds.
20
- * @for android
21
- * @example <caption>[javascript] Usage example</caption>
22
- * mob.init(caps);//Starts a mobile session and opens app from desired capabilities
23
- * mob.click("id=sendSmS");// Clicks an element.
24
- * mob.smsClickLink(60000);//Clicks SMS message URL.
25
- */
26
- module.exports = async function (timeout) {
27
- await this.helpers.assertContext(this.helpers.contextList.android);
28
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
29
- await this.waitForExist('id=android:id/message', timeout);
30
- await this.click('id=android:id/button1');
31
- };
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc21zQ2xpY2tMaW5rLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydENvbnRleHQiLCJjb250ZXh0TGlzdCIsImFuZHJvaWQiLCJhc3NlcnRBcmd1bWVudFRpbWVvdXQiLCJ3YWl0Rm9yRXhpc3QiLCJjbGljayJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsT0FBZixFQUF3QjtBQUNyQyxRQUFNLEtBQUtDLE9BQUwsQ0FBYUMsYUFBYixDQUEyQixLQUFLRCxPQUFMLENBQWFFLFdBQWIsQ0FBeUJDLE9BQXBELENBQU47QUFDQSxPQUFLSCxPQUFMLENBQWFJLHFCQUFiLENBQW1DTCxPQUFuQyxFQUE0QyxTQUE1QztBQUNBLFFBQU0sS0FBS00sWUFBTCxDQUFrQix1QkFBbEIsRUFBMkNOLE9BQTNDLENBQU47QUFDQSxRQUFNLEtBQUtPLEtBQUwsQ0FBVyx1QkFBWCxDQUFOO0FBQ0gsQ0FMRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IENsaWNrcyBTTVMgbWVzc2FnZSBVUkwuXHJcbiAqIEBkZXNjcmlwdGlvbiBgU01TUG9wdXBgIGFwcGxpY2F0aW9uIG11c3QgYmUgaW5zdGFsbGVkIGFuZCBydW5uaW5nIG9uIHRoZSBkZXZpY2UgdG8gdXNlIHRoaXMgY29tbWFuZC5cclxuICogICAgICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9veHlnZW5ocS9hbmRyb2lkLXNtc3BvcHVwL3JlbGVhc2VzXHJcbiAqIEBmdW5jdGlvbiBzbXNDbGlja0xpbmtcclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3Igc21zIHBvcHVwLiBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBmb3IgYW5kcm9pZFxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogbW9iLmluaXQoY2Fwcyk7Ly9TdGFydHMgYSBtb2JpbGUgc2Vzc2lvbiBhbmQgb3BlbnMgYXBwIGZyb20gZGVzaXJlZCBjYXBhYmlsaXRpZXNcclxuICogbW9iLmNsaWNrKFwiaWQ9c2VuZFNtU1wiKTsvLyBDbGlja3MgYW4gZWxlbWVudC5cclxuICogbW9iLnNtc0NsaWNrTGluayg2MDAwMCk7Ly9DbGlja3MgU01TIG1lc3NhZ2UgVVJMLlxyXG4qL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKHRpbWVvdXQpIHtcclxuICAgIGF3YWl0IHRoaXMuaGVscGVycy5hc3NlcnRDb250ZXh0KHRoaXMuaGVscGVycy5jb250ZXh0TGlzdC5hbmRyb2lkKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuICAgIGF3YWl0IHRoaXMud2FpdEZvckV4aXN0KCdpZD1hbmRyb2lkOmlkL21lc3NhZ2UnLCB0aW1lb3V0KTtcclxuICAgIGF3YWl0IHRoaXMuY2xpY2soJ2lkPWFuZHJvaWQ6aWQvYnV0dG9uMScpO1xyXG59O1xyXG4iXX0=