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,28 +0,0 @@
1
- "use strict";
2
-
3
- require("source-map-support/register");
4
-
5
- /*
6
- * Copyright (C) 2015-present CloudBeat Limited
7
- *
8
- * This program is free software: you can redistribute it and/or modify
9
- * it under the terms of the GNU General Public License as published by
10
- * the Free Software Foundation, either version 3 of the License, or
11
- * (at your option) any later version.
12
- */
13
-
14
- /**
15
- * @summary Asserts whether element exists in the DOM.
16
- * @function assertExist
17
- * @param {String|Element} locator - An element locator.
18
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
19
- * @example <caption>[javascript] Usage example</caption>
20
- * web.init();//Opens browser session
21
- * web.open("www.yourwebsite.com");// Opens a website.
22
- * web.assertExist ("id=Username");// Asserts if an element exists in the DOM.
23
- */
24
- module.exports = async function (locator, timeout) {
25
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
26
- await this.helpers.getElement(locator, false, timeout);
27
- };
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0RXhpc3QuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImxvY2F0b3IiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImdldEVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsT0FBZixFQUF3QkMsT0FBeEIsRUFBaUM7QUFDOUMsT0FBS0MsT0FBTCxDQUFhQyxxQkFBYixDQUFtQ0YsT0FBbkMsRUFBNEMsU0FBNUM7QUFFQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUUsVUFBYixDQUF3QkosT0FBeEIsRUFBaUMsS0FBakMsRUFBd0NDLE9BQXhDLENBQU47QUFDSCxDQUpEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgQXNzZXJ0cyB3aGV0aGVyIGVsZW1lbnQgZXhpc3RzIGluIHRoZSBET00uXHJcbiAqIEBmdW5jdGlvbiBhc3NlcnRFeGlzdFxyXG4gKiBAcGFyYW0ge1N0cmluZ3xFbGVtZW50fSBsb2NhdG9yIC0gQW4gZWxlbWVudCBsb2NhdG9yLlxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvblxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuYXNzZXJ0RXhpc3QgKFwiaWQ9VXNlcm5hbWVcIik7Ly8gQXNzZXJ0cyBpZiBhbiBlbGVtZW50IGV4aXN0cyBpbiB0aGUgRE9NLlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbihsb2NhdG9yLCB0aW1lb3V0KSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnRUaW1lb3V0KHRpbWVvdXQsICd0aW1lb3V0Jyk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5oZWxwZXJzLmdldEVsZW1lbnQobG9jYXRvciwgZmFsc2UsIHRpbWVvdXQpO1xyXG59O1xyXG4iXX0=
@@ -1,51 +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 Asserts text of the currently selected option in a drop-down list.
16
- * @description Assertion pattern can be any of the supported
17
- * string matching patterns(on the top of page).
18
- * @function assertSelectedLabel
19
- * @param {String|Element} locator - An element locator.
20
- * @param {String} pattern - The assertion pattern.
21
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
22
- * @param {Boolean=} waitForVisible - Wait for visible.
23
- * @example <caption>[javascript] Usage example</caption>
24
- * web.init();//Opens browser session
25
- * web.open("www.yourwebsite.com");// Opens a website.
26
- * web.assertSelectedLabel("id=Selection", "United States");// Asserts if an element's label is selected in the drop down list.
27
- */
28
- module.exports = async function (locator, pattern, timeout, waitForVisible = true) {
29
- this.helpers.assertArgument(pattern, 'pattern');
30
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
31
- const el = await this.helpers.getElement(locator, waitForVisible, timeout);
32
- let text;
33
-
34
- try {
35
- await this.driver.waitUntil(async () => {
36
- var opts = el.$$('//option');
37
-
38
- for (var opt of opts) {
39
- if (await opt.isSelected()) {
40
- text = await opt.getText();
41
- return this.helpers.matchPattern(text, pattern);
42
- }
43
- }
44
- }, {
45
- timeout: timeout ? timeout : this.waitForTimeout
46
- });
47
- } catch (e) {
48
- throw this.errHelper.getAssertError(pattern, text);
49
- }
50
- };
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0U2VsZWN0ZWRMYWJlbC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibG9jYXRvciIsInBhdHRlcm4iLCJ0aW1lb3V0Iiwid2FpdEZvclZpc2libGUiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnQiLCJhc3NlcnRBcmd1bWVudFRpbWVvdXQiLCJlbCIsImdldEVsZW1lbnQiLCJ0ZXh0IiwiZHJpdmVyIiwid2FpdFVudGlsIiwib3B0cyIsIiQkIiwib3B0IiwiaXNTZWxlY3RlZCIsImdldFRleHQiLCJtYXRjaFBhdHRlcm4iLCJ3YWl0Rm9yVGltZW91dCIsImUiLCJlcnJIZWxwZXIiLCJnZXRBc3NlcnRFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsZ0JBQWVDLE9BQWYsRUFBd0JDLE9BQXhCLEVBQWlDQyxPQUFqQyxFQUEwQ0MsY0FBYyxHQUFHLElBQTNELEVBQWlFO0FBQzlFLE9BQUtDLE9BQUwsQ0FBYUMsY0FBYixDQUE0QkosT0FBNUIsRUFBcUMsU0FBckM7QUFDQSxPQUFLRyxPQUFMLENBQWFFLHFCQUFiLENBQW1DSixPQUFuQyxFQUE0QyxTQUE1QztBQUVBLFFBQU1LLEVBQUUsR0FBRyxNQUFNLEtBQUtILE9BQUwsQ0FBYUksVUFBYixDQUF3QlIsT0FBeEIsRUFBaUNHLGNBQWpDLEVBQWlERCxPQUFqRCxDQUFqQjtBQUVBLE1BQUlPLElBQUo7O0FBQ0EsTUFBSTtBQUNBLFVBQU0sS0FBS0MsTUFBTCxDQUFZQyxTQUFaLENBQXNCLFlBQVc7QUFDbkMsVUFBSUMsSUFBSSxHQUFHTCxFQUFFLENBQUNNLEVBQUgsQ0FBTSxVQUFOLENBQVg7O0FBQ0EsV0FBSyxJQUFJQyxHQUFULElBQWdCRixJQUFoQixFQUFzQjtBQUNsQixZQUFJLE1BQU1FLEdBQUcsQ0FBQ0MsVUFBSixFQUFWLEVBQTRCO0FBQ3hCTixVQUFBQSxJQUFJLEdBQUcsTUFBTUssR0FBRyxDQUFDRSxPQUFKLEVBQWI7QUFDQSxpQkFBTyxLQUFLWixPQUFMLENBQWFhLFlBQWIsQ0FBMEJSLElBQTFCLEVBQWdDUixPQUFoQyxDQUFQO0FBQ0g7QUFDSjtBQUNKLEtBUkssRUFTTjtBQUFFQyxNQUFBQSxPQUFPLEVBQUdBLE9BQU8sR0FBR0EsT0FBSCxHQUFhLEtBQUtnQjtBQUFyQyxLQVRNLENBQU47QUFVSCxHQVhELENBV0UsT0FBT0MsQ0FBUCxFQUFVO0FBQ1IsVUFBTSxLQUFLQyxTQUFMLENBQWVDLGNBQWYsQ0FBOEJwQixPQUE5QixFQUF1Q1EsSUFBdkMsQ0FBTjtBQUNIO0FBQ0osQ0FyQkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBBc3NlcnRzIHRleHQgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBvcHRpb24gaW4gYSBkcm9wLWRvd24gbGlzdC5cclxuICogQGRlc2NyaXB0aW9uIEFzc2VydGlvbiBwYXR0ZXJuIGNhbiBiZSBhbnkgb2YgdGhlIHN1cHBvcnRlZCBcclxuICogIHN0cmluZyBtYXRjaGluZyBwYXR0ZXJucyhvbiB0aGUgdG9wIG9mIHBhZ2UpLlxyXG4gKiBAZnVuY3Rpb24gYXNzZXJ0U2VsZWN0ZWRMYWJlbFxyXG4gKiBAcGFyYW0ge1N0cmluZ3xFbGVtZW50fSBsb2NhdG9yIC0gQW4gZWxlbWVudCBsb2NhdG9yLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gcGF0dGVybiAtIFRoZSBhc3NlcnRpb24gcGF0dGVybi5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQgaXMgNjAgc2Vjb25kcy5cclxuICogQHBhcmFtIHtCb29sZWFuPX0gd2FpdEZvclZpc2libGUgLSBXYWl0IGZvciB2aXNpYmxlLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvblxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuYXNzZXJ0U2VsZWN0ZWRMYWJlbChcImlkPVNlbGVjdGlvblwiLCBcIlVuaXRlZCBTdGF0ZXNcIik7Ly8gQXNzZXJ0cyBpZiBhbiBlbGVtZW50J3MgbGFiZWwgaXMgc2VsZWN0ZWQgaW4gdGhlIGRyb3AgZG93biBsaXN0LlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbihsb2NhdG9yLCBwYXR0ZXJuLCB0aW1lb3V0LCB3YWl0Rm9yVmlzaWJsZSA9IHRydWUpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudChwYXR0ZXJuLCAncGF0dGVybicpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50VGltZW91dCh0aW1lb3V0LCAndGltZW91dCcpO1xyXG5cclxuICAgIGNvbnN0IGVsID0gYXdhaXQgdGhpcy5oZWxwZXJzLmdldEVsZW1lbnQobG9jYXRvciwgd2FpdEZvclZpc2libGUsIHRpbWVvdXQpO1xyXG5cclxuICAgIGxldCB0ZXh0O1xyXG4gICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci53YWl0VW50aWwoYXN5bmMoKSA9PiB7XHJcbiAgICAgICAgICAgIHZhciBvcHRzID0gZWwuJCQoJy8vb3B0aW9uJyk7XHJcbiAgICAgICAgICAgIGZvciAodmFyIG9wdCBvZiBvcHRzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYXdhaXQgb3B0LmlzU2VsZWN0ZWQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQgPSBhd2FpdCBvcHQuZ2V0VGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhlbHBlcnMubWF0Y2hQYXR0ZXJuKHRleHQsIHBhdHRlcm4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IHRpbWVvdXQ6ICh0aW1lb3V0ID8gdGltZW91dCA6IHRoaXMud2FpdEZvclRpbWVvdXQpIH0pO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIHRocm93IHRoaXMuZXJySGVscGVyLmdldEFzc2VydEVycm9yKHBhdHRlcm4sIHRleHQpO1xyXG4gICAgfVxyXG59O1xyXG4iXX0=
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- require("source-map-support/register");
4
-
5
- /*
6
- * Copyright (C) 2015-present CloudBeat Limited
7
- *
8
- * This program is free software: you can redistribute it and/or modify
9
- * it under the terms of the GNU General Public License as published by
10
- * the Free Software Foundation, either version 3 of the License, or
11
- * (at your option) any later version.
12
- */
13
-
14
- /**
15
- * @summary Asserts value of the currently selected option in a drop-down list.
16
- * @description Assertion pattern can be any of the supported
17
- * string matching patterns(on the top of page).
18
- * @function assertSelectedValue
19
- * @param {String|Element} locator - An element locator.
20
- * @param {String} pattern - The assertion pattern.
21
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
22
- * @param {Boolean=} waitForVisible - Wait for visible.
23
- * @example <caption>[javascript] Usage example</caption>
24
- * web.init();//Opens browser session
25
- * web.open("www.yourwebsite.com");// Opens a website.
26
- * web.assertSelectedValue("id=Selection", "3");// Asserts if an element's value is selected in the drop down list.
27
- */
28
- module.exports = async function (locator, pattern, timeout, waitForVisible = true) {
29
- this.helpers.assertArgument(pattern, 'pattern');
30
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
31
- const el = await this.helpers.getElement(locator, waitForVisible, timeout);
32
- let text;
33
-
34
- try {
35
- await this.driver.waitUntil(async () => {
36
- text = await el.getValue();
37
- return this.helpers.matchPattern(text, pattern);
38
- }, {
39
- timeout: timeout ? timeout : this.waitForTimeout
40
- });
41
- } catch (e) {
42
- throw this.errHelper.getAssertError(pattern, text);
43
- }
44
- };
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0U2VsZWN0ZWRWYWx1ZS5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibG9jYXRvciIsInBhdHRlcm4iLCJ0aW1lb3V0Iiwid2FpdEZvclZpc2libGUiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnQiLCJhc3NlcnRBcmd1bWVudFRpbWVvdXQiLCJlbCIsImdldEVsZW1lbnQiLCJ0ZXh0IiwiZHJpdmVyIiwid2FpdFVudGlsIiwiZ2V0VmFsdWUiLCJtYXRjaFBhdHRlcm4iLCJ3YWl0Rm9yVGltZW91dCIsImUiLCJlcnJIZWxwZXIiLCJnZXRBc3NlcnRFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsZ0JBQWVDLE9BQWYsRUFBd0JDLE9BQXhCLEVBQWlDQyxPQUFqQyxFQUEwQ0MsY0FBYyxHQUFHLElBQTNELEVBQWlFO0FBQzlFLE9BQUtDLE9BQUwsQ0FBYUMsY0FBYixDQUE0QkosT0FBNUIsRUFBcUMsU0FBckM7QUFDQSxPQUFLRyxPQUFMLENBQWFFLHFCQUFiLENBQW1DSixPQUFuQyxFQUE0QyxTQUE1QztBQUVBLFFBQU1LLEVBQUUsR0FBRyxNQUFNLEtBQUtILE9BQUwsQ0FBYUksVUFBYixDQUF3QlIsT0FBeEIsRUFBaUNHLGNBQWpDLEVBQWlERCxPQUFqRCxDQUFqQjtBQUVBLE1BQUlPLElBQUo7O0FBQ0EsTUFBSTtBQUNBLFVBQU0sS0FBS0MsTUFBTCxDQUFZQyxTQUFaLENBQXNCLFlBQVc7QUFDbkNGLE1BQUFBLElBQUksR0FBRyxNQUFNRixFQUFFLENBQUNLLFFBQUgsRUFBYjtBQUNBLGFBQU8sS0FBS1IsT0FBTCxDQUFhUyxZQUFiLENBQTBCSixJQUExQixFQUFnQ1IsT0FBaEMsQ0FBUDtBQUNILEtBSEssRUFJTjtBQUFFQyxNQUFBQSxPQUFPLEVBQUdBLE9BQU8sR0FBR0EsT0FBSCxHQUFhLEtBQUtZO0FBQXJDLEtBSk0sQ0FBTjtBQUtILEdBTkQsQ0FNRSxPQUFPQyxDQUFQLEVBQVU7QUFDUixVQUFNLEtBQUtDLFNBQUwsQ0FBZUMsY0FBZixDQUE4QmhCLE9BQTlCLEVBQXVDUSxJQUF2QyxDQUFOO0FBQ0g7QUFDSixDQWhCRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IEFzc2VydHMgdmFsdWUgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBvcHRpb24gaW4gYSBkcm9wLWRvd24gbGlzdC5cclxuICogQGRlc2NyaXB0aW9uIEFzc2VydGlvbiBwYXR0ZXJuIGNhbiBiZSBhbnkgb2YgdGhlIHN1cHBvcnRlZCBcclxuICogIHN0cmluZyBtYXRjaGluZyBwYXR0ZXJucyhvbiB0aGUgdG9wIG9mIHBhZ2UpLlxyXG4gKiBAZnVuY3Rpb24gYXNzZXJ0U2VsZWN0ZWRWYWx1ZVxyXG4gKiBAcGFyYW0ge1N0cmluZ3xFbGVtZW50fSBsb2NhdG9yIC0gQW4gZWxlbWVudCBsb2NhdG9yLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gcGF0dGVybiAtIFRoZSBhc3NlcnRpb24gcGF0dGVybi5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQgaXMgNjAgc2Vjb25kcy5cclxuICogQHBhcmFtIHtCb29sZWFuPX0gd2FpdEZvclZpc2libGUgLSBXYWl0IGZvciB2aXNpYmxlLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvblxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuYXNzZXJ0U2VsZWN0ZWRWYWx1ZShcImlkPVNlbGVjdGlvblwiLCBcIjNcIik7Ly8gQXNzZXJ0cyBpZiBhbiBlbGVtZW50J3MgdmFsdWUgaXMgc2VsZWN0ZWQgaW4gdGhlIGRyb3AgZG93biBsaXN0LlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbihsb2NhdG9yLCBwYXR0ZXJuLCB0aW1lb3V0LCB3YWl0Rm9yVmlzaWJsZSA9IHRydWUpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudChwYXR0ZXJuLCAncGF0dGVybicpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50VGltZW91dCh0aW1lb3V0LCAndGltZW91dCcpO1xyXG5cclxuICAgIGNvbnN0IGVsID0gYXdhaXQgdGhpcy5oZWxwZXJzLmdldEVsZW1lbnQobG9jYXRvciwgd2FpdEZvclZpc2libGUsIHRpbWVvdXQpO1xyXG5cclxuICAgIGxldCB0ZXh0O1xyXG4gICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci53YWl0VW50aWwoYXN5bmMoKSA9PiB7XHJcbiAgICAgICAgICAgIHRleHQgPSBhd2FpdCBlbC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oZWxwZXJzLm1hdGNoUGF0dGVybih0ZXh0LCBwYXR0ZXJuKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgdGltZW91dDogKHRpbWVvdXQgPyB0aW1lb3V0IDogdGhpcy53YWl0Rm9yVGltZW91dCkgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgdGhyb3cgdGhpcy5lcnJIZWxwZXIuZ2V0QXNzZXJ0RXJyb3IocGF0dGVybiwgdGV4dCk7XHJcbiAgICB9XHJcbn07XHJcbiJdfQ==
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- require("source-map-support/register");
4
-
5
- /*
6
- * Copyright (C) 2015-present CloudBeat Limited
7
- *
8
- * This program is free software: you can redistribute it and/or modify
9
- * it under the terms of the GNU General Public License as published by
10
- * the Free Software Foundation, either version 3 of the License, or
11
- * (at your option) any later version.
12
- */
13
-
14
- /**
15
- * @summary Asserts element's inner text.
16
- * @description Text pattern can be any of the supported
17
- * string matching patterns(on the top of page).
18
- * If the element is not interactable, then it will allways return empty string as its text.
19
- * @function assertText
20
- * @param {String|Element} locator - An element locator.
21
- * @param {String} pattern - Text pattern.
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.assertText ("id=UserName","John Doe");// Asserts if an element's text is as expected.
27
- */
28
- module.exports = async function (locator, pattern, timeout) {
29
- this.helpers.assertArgument(pattern, 'pattern');
30
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
31
- const el = await this.helpers.getElement(locator, false, timeout);
32
- let text;
33
-
34
- try {
35
- await this.driver.waitUntil(async () => {
36
- text = await el.getText();
37
- return this.helpers.matchPattern(text, pattern);
38
- }, {
39
- timeout: timeout ? timeout : this.waitForTimeout
40
- });
41
- } catch (e) {
42
- throw this.errHelper.getAssertError(pattern, text);
43
- }
44
- };
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0VGV4dC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwibG9jYXRvciIsInBhdHRlcm4iLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50IiwiYXNzZXJ0QXJndW1lbnRUaW1lb3V0IiwiZWwiLCJnZXRFbGVtZW50IiwidGV4dCIsImRyaXZlciIsIndhaXRVbnRpbCIsImdldFRleHQiLCJtYXRjaFBhdHRlcm4iLCJ3YWl0Rm9yVGltZW91dCIsImUiLCJlcnJIZWxwZXIiLCJnZXRBc3NlcnRFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsZ0JBQWVDLE9BQWYsRUFBd0JDLE9BQXhCLEVBQWlDQyxPQUFqQyxFQUEwQztBQUN2RCxPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJILE9BQTVCLEVBQXFDLFNBQXJDO0FBQ0EsT0FBS0UsT0FBTCxDQUFhRSxxQkFBYixDQUFtQ0gsT0FBbkMsRUFBNEMsU0FBNUM7QUFFQSxRQUFNSSxFQUFFLEdBQUcsTUFBTSxLQUFLSCxPQUFMLENBQWFJLFVBQWIsQ0FBd0JQLE9BQXhCLEVBQWlDLEtBQWpDLEVBQXdDRSxPQUF4QyxDQUFqQjtBQUVBLE1BQUlNLElBQUo7O0FBQ0EsTUFBSTtBQUNBLFVBQU0sS0FBS0MsTUFBTCxDQUFZQyxTQUFaLENBQXNCLFlBQVc7QUFDbkNGLE1BQUFBLElBQUksR0FBRyxNQUFNRixFQUFFLENBQUNLLE9BQUgsRUFBYjtBQUNBLGFBQU8sS0FBS1IsT0FBTCxDQUFhUyxZQUFiLENBQTBCSixJQUExQixFQUFnQ1AsT0FBaEMsQ0FBUDtBQUNILEtBSEssRUFJTjtBQUFFQyxNQUFBQSxPQUFPLEVBQUdBLE9BQU8sR0FBR0EsT0FBSCxHQUFhLEtBQUtXO0FBQXJDLEtBSk0sQ0FBTjtBQUtILEdBTkQsQ0FNRSxPQUFPQyxDQUFQLEVBQVU7QUFDUixVQUFNLEtBQUtDLFNBQUwsQ0FBZUMsY0FBZixDQUE4QmYsT0FBOUIsRUFBdUNPLElBQXZDLENBQU47QUFDSDtBQUNKLENBaEJEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgQXNzZXJ0cyBlbGVtZW50J3MgaW5uZXIgdGV4dC5cclxuICogQGRlc2NyaXB0aW9uIFRleHQgcGF0dGVybiBjYW4gYmUgYW55IG9mIHRoZSBzdXBwb3J0ZWRcclxuICogIHN0cmluZyBtYXRjaGluZyBwYXR0ZXJucyhvbiB0aGUgdG9wIG9mIHBhZ2UpLlxyXG4gKiAgSWYgdGhlIGVsZW1lbnQgaXMgbm90IGludGVyYWN0YWJsZSwgdGhlbiBpdCB3aWxsIGFsbHdheXMgcmV0dXJuIGVtcHR5IHN0cmluZyBhcyBpdHMgdGV4dC5cclxuICogQGZ1bmN0aW9uIGFzc2VydFRleHRcclxuICogQHBhcmFtIHtTdHJpbmd8RWxlbWVudH0gbG9jYXRvciAtIEFuIGVsZW1lbnQgbG9jYXRvci5cclxuICogQHBhcmFtIHtTdHJpbmd9IHBhdHRlcm4gLSBUZXh0IHBhdHRlcm4uXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiB3ZWIuaW5pdCgpOy8vT3BlbnMgYnJvd3NlciBzZXNzaW9uXHJcbiAqIHdlYi5vcGVuKFwid3d3LnlvdXJ3ZWJzaXRlLmNvbVwiKTsvLyBPcGVucyBhIHdlYnNpdGUuXHJcbiAqIHdlYi5hc3NlcnRUZXh0IChcImlkPVVzZXJOYW1lXCIsXCJKb2huIERvZVwiKTsvLyBBc3NlcnRzIGlmIGFuIGVsZW1lbnQncyB0ZXh0IGlzIGFzIGV4cGVjdGVkLlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbihsb2NhdG9yLCBwYXR0ZXJuLCB0aW1lb3V0KSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnQocGF0dGVybiwgJ3BhdHRlcm4nKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuXHJcbiAgICBjb25zdCBlbCA9IGF3YWl0IHRoaXMuaGVscGVycy5nZXRFbGVtZW50KGxvY2F0b3IsIGZhbHNlLCB0aW1lb3V0KTtcclxuXHJcbiAgICBsZXQgdGV4dDtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIud2FpdFVudGlsKGFzeW5jKCkgPT4ge1xyXG4gICAgICAgICAgICB0ZXh0ID0gYXdhaXQgZWwuZ2V0VGV4dCgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oZWxwZXJzLm1hdGNoUGF0dGVybih0ZXh0LCBwYXR0ZXJuKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgdGltZW91dDogKHRpbWVvdXQgPyB0aW1lb3V0IDogdGhpcy53YWl0Rm9yVGltZW91dCkgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgdGhyb3cgdGhpcy5lcnJIZWxwZXIuZ2V0QXNzZXJ0RXJyb3IocGF0dGVybiwgdGV4dCk7XHJcbiAgICB9XHJcbn07XHJcbiJdfQ==
@@ -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 Asserts whether the given text is *not* present on the page. That is, whether there are
16
- * no elements containing this text on the page.
17
- * @function assertTextNotPresent
18
- * @param {String|Element} text - Text.
19
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
20
- * @example <caption>[javascript] Usage example</caption>
21
- * web.init();//Opens browser session
22
- * web.open("www.yourwebsite.com");// Opens a website.
23
- * web.assertTextNotPresent("John Doe");// Asserts if a text is not presented somewhere on the page.
24
- */
25
- module.exports = async function (text, timeout) {
26
- this.helpers.assertArgumentNonEmptyString(text, 'text');
27
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
28
-
29
- if (timeout) {
30
- this.helpers.setTimeoutImplicit(timeout);
31
- }
32
-
33
- try {
34
- await this.driver.waitUntil(async () => {
35
- try {
36
- const els = await this.driver.$$('//*[contains(text(),"' + text + '")]');
37
- return els.length === 0;
38
- } catch (e) {
39
- return false;
40
- }
41
- }, {
42
- timeout: timeout ? timeout : this.waitForTimeout
43
- });
44
- } catch (e) {
45
- if (timeout) {
46
- this.helpers.restoreTimeoutImplicit();
47
- }
48
-
49
- throw new this.OxError(this.errHelper.errorCode.ASSERT_ERROR, `Text: "${text}" found on the page`);
50
- }
51
-
52
- if (timeout) {
53
- this.helpers.restoreTimeoutImplicit();
54
- }
55
- };
56
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0VGV4dE5vdFByZXNlbnQuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInRleHQiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50Tm9uRW1wdHlTdHJpbmciLCJhc3NlcnRBcmd1bWVudFRpbWVvdXQiLCJzZXRUaW1lb3V0SW1wbGljaXQiLCJkcml2ZXIiLCJ3YWl0VW50aWwiLCJlbHMiLCIkJCIsImxlbmd0aCIsImUiLCJ3YWl0Rm9yVGltZW91dCIsInJlc3RvcmVUaW1lb3V0SW1wbGljaXQiLCJPeEVycm9yIiwiZXJySGVscGVyIiwiZXJyb3JDb2RlIiwiQVNTRVJUX0VSUk9SIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsSUFBZixFQUFxQkMsT0FBckIsRUFBOEI7QUFDM0MsT0FBS0MsT0FBTCxDQUFhQyw0QkFBYixDQUEwQ0gsSUFBMUMsRUFBZ0QsTUFBaEQ7QUFDQSxPQUFLRSxPQUFMLENBQWFFLHFCQUFiLENBQW1DSCxPQUFuQyxFQUE0QyxTQUE1Qzs7QUFFQSxNQUFJQSxPQUFKLEVBQWE7QUFDVCxTQUFLQyxPQUFMLENBQWFHLGtCQUFiLENBQWdDSixPQUFoQztBQUNIOztBQUVELE1BQUk7QUFDQSxVQUFNLEtBQUtLLE1BQUwsQ0FBWUMsU0FBWixDQUFzQixZQUFXO0FBQ25DLFVBQUk7QUFDQSxjQUFNQyxHQUFHLEdBQUcsTUFBTSxLQUFLRixNQUFMLENBQVlHLEVBQVosQ0FBZSwwQkFBMEJULElBQTFCLEdBQWlDLEtBQWhELENBQWxCO0FBQ0EsZUFBT1EsR0FBRyxDQUFDRSxNQUFKLEtBQWUsQ0FBdEI7QUFDSCxPQUhELENBR0UsT0FBT0MsQ0FBUCxFQUFVO0FBQ1IsZUFBTyxLQUFQO0FBQ0g7QUFDSixLQVBLLEVBUU47QUFBRVYsTUFBQUEsT0FBTyxFQUFHQSxPQUFPLEdBQUdBLE9BQUgsR0FBYSxLQUFLVztBQUFyQyxLQVJNLENBQU47QUFTSCxHQVZELENBVUUsT0FBT0QsQ0FBUCxFQUFVO0FBQ1IsUUFBSVYsT0FBSixFQUFhO0FBQ1QsV0FBS0MsT0FBTCxDQUFhVyxzQkFBYjtBQUNIOztBQUNELFVBQU0sSUFBSSxLQUFLQyxPQUFULENBQWlCLEtBQUtDLFNBQUwsQ0FBZUMsU0FBZixDQUF5QkMsWUFBMUMsRUFBeUQsVUFBU2pCLElBQUsscUJBQXZFLENBQU47QUFDSDs7QUFFRCxNQUFJQyxPQUFKLEVBQWE7QUFDVCxTQUFLQyxPQUFMLENBQWFXLHNCQUFiO0FBQ0g7QUFDSixDQTVCRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IEFzc2VydHMgd2hldGhlciB0aGUgZ2l2ZW4gdGV4dCBpcyAqbm90KiBwcmVzZW50IG9uIHRoZSBwYWdlLiBUaGF0IGlzLCB3aGV0aGVyIHRoZXJlIGFyZVxyXG4gKiAgICAgICAgICBubyBlbGVtZW50cyBjb250YWluaW5nIHRoaXMgdGV4dCBvbiB0aGUgcGFnZS5cclxuICogQGZ1bmN0aW9uIGFzc2VydFRleHROb3RQcmVzZW50XHJcbiAqIEBwYXJhbSB7U3RyaW5nfEVsZW1lbnR9IHRleHQgLSBUZXh0LlxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvblxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuYXNzZXJ0VGV4dE5vdFByZXNlbnQoXCJKb2huIERvZVwiKTsvLyBBc3NlcnRzIGlmIGEgdGV4dCBpcyBub3QgcHJlc2VudGVkIHNvbWV3aGVyZSBvbiB0aGUgcGFnZS5cclxuICovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24odGV4dCwgdGltZW91dCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50Tm9uRW1wdHlTdHJpbmcodGV4dCwgJ3RleHQnKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuXHJcbiAgICBpZiAodGltZW91dCkge1xyXG4gICAgICAgIHRoaXMuaGVscGVycy5zZXRUaW1lb3V0SW1wbGljaXQodGltZW91dCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci53YWl0VW50aWwoYXN5bmMoKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbHMgPSBhd2FpdCB0aGlzLmRyaXZlci4kJCgnLy8qW2NvbnRhaW5zKHRleHQoKSxcIicgKyB0ZXh0ICsgJ1wiKV0nKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBlbHMubGVuZ3RoID09PSAwO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgdGltZW91dDogKHRpbWVvdXQgPyB0aW1lb3V0IDogdGhpcy53YWl0Rm9yVGltZW91dCkgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgaWYgKHRpbWVvdXQpIHtcclxuICAgICAgICAgICAgdGhpcy5oZWxwZXJzLnJlc3RvcmVUaW1lb3V0SW1wbGljaXQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuQVNTRVJUX0VSUk9SLCBgVGV4dDogXCIke3RleHR9XCIgZm91bmQgb24gdGhlIHBhZ2VgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGltZW91dCkge1xyXG4gICAgICAgIHRoaXMuaGVscGVycy5yZXN0b3JlVGltZW91dEltcGxpY2l0KCk7XHJcbiAgICB9XHJcbn07XHJcbiJdfQ==
@@ -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 Asserts whether the given text is present somewhere on the page. That is whether an
16
- * element containing this text exists on the page.
17
- * @function assertTextPresent
18
- * @param {String} text - Text.
19
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
20
- * @example <caption>[javascript] Usage example</caption>
21
- * web.init();//Opens browser session
22
- * web.open("www.yourwebsite.com");// Opens a website.
23
- * web.assertTextPresent("John Doe");// Asserts if a text is presented somewhere on the page.
24
- */
25
- module.exports = async function (text, timeout) {
26
- this.helpers.assertArgumentNonEmptyString(text, 'text');
27
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
28
-
29
- if (timeout) {
30
- await this.helpers.setTimeoutImplicit(timeout);
31
- }
32
-
33
- try {
34
- await this.driver.waitUntil(async () => {
35
- var els = await this.driver.$$('//*[contains(text(),"' + text + '")]');
36
- return els.length !== 0;
37
- }, {
38
- timeout: timeout ? timeout : this.waitForTimeout
39
- });
40
- } catch (e) {
41
- if (timeout) {
42
- this.helpers.restoreTimeoutImplicit();
43
- }
44
-
45
- throw new this.OxError(this.errHelper.errorCode.ASSERT_ERROR, `Text: "${text}" not found on the page`);
46
- }
47
-
48
- if (timeout) {
49
- this.helpers.restoreTimeoutImplicit();
50
- }
51
- };
52
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0VGV4dFByZXNlbnQuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInRleHQiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50Tm9uRW1wdHlTdHJpbmciLCJhc3NlcnRBcmd1bWVudFRpbWVvdXQiLCJzZXRUaW1lb3V0SW1wbGljaXQiLCJkcml2ZXIiLCJ3YWl0VW50aWwiLCJlbHMiLCIkJCIsImxlbmd0aCIsIndhaXRGb3JUaW1lb3V0IiwiZSIsInJlc3RvcmVUaW1lb3V0SW1wbGljaXQiLCJPeEVycm9yIiwiZXJySGVscGVyIiwiZXJyb3JDb2RlIiwiQVNTRVJUX0VSUk9SIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixnQkFBZUMsSUFBZixFQUFxQkMsT0FBckIsRUFBOEI7QUFDM0MsT0FBS0MsT0FBTCxDQUFhQyw0QkFBYixDQUEwQ0gsSUFBMUMsRUFBZ0QsTUFBaEQ7QUFDQSxPQUFLRSxPQUFMLENBQWFFLHFCQUFiLENBQW1DSCxPQUFuQyxFQUE0QyxTQUE1Qzs7QUFFQSxNQUFJQSxPQUFKLEVBQWE7QUFDVCxVQUFNLEtBQUtDLE9BQUwsQ0FBYUcsa0JBQWIsQ0FBZ0NKLE9BQWhDLENBQU47QUFDSDs7QUFFRCxNQUFJO0FBQ0EsVUFBTSxLQUFLSyxNQUFMLENBQVlDLFNBQVosQ0FBc0IsWUFBVztBQUNuQyxVQUFJQyxHQUFHLEdBQUcsTUFBTSxLQUFLRixNQUFMLENBQVlHLEVBQVosQ0FBZSwwQkFBMEJULElBQTFCLEdBQWlDLEtBQWhELENBQWhCO0FBQ0EsYUFBT1EsR0FBRyxDQUFDRSxNQUFKLEtBQWUsQ0FBdEI7QUFDSCxLQUhLLEVBSU47QUFBRVQsTUFBQUEsT0FBTyxFQUFHQSxPQUFPLEdBQUdBLE9BQUgsR0FBYSxLQUFLVTtBQUFyQyxLQUpNLENBQU47QUFLSCxHQU5ELENBTUUsT0FBT0MsQ0FBUCxFQUFVO0FBQ1IsUUFBSVgsT0FBSixFQUFhO0FBQ1QsV0FBS0MsT0FBTCxDQUFhVyxzQkFBYjtBQUNIOztBQUNELFVBQU0sSUFBSSxLQUFLQyxPQUFULENBQWlCLEtBQUtDLFNBQUwsQ0FBZUMsU0FBZixDQUF5QkMsWUFBMUMsRUFBeUQsVUFBU2pCLElBQUsseUJBQXZFLENBQU47QUFDSDs7QUFFRCxNQUFJQyxPQUFKLEVBQWE7QUFDVCxTQUFLQyxPQUFMLENBQWFXLHNCQUFiO0FBQ0g7QUFDSixDQXhCRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IEFzc2VydHMgd2hldGhlciB0aGUgZ2l2ZW4gdGV4dCBpcyBwcmVzZW50IHNvbWV3aGVyZSBvbiB0aGUgcGFnZS4gVGhhdCBpcyB3aGV0aGVyIGFuXHJcbiAqICAgICAgICAgIGVsZW1lbnQgY29udGFpbmluZyB0aGlzIHRleHQgZXhpc3RzIG9uIHRoZSBwYWdlLlxyXG4gKiBAZnVuY3Rpb24gYXNzZXJ0VGV4dFByZXNlbnRcclxuICogQHBhcmFtIHtTdHJpbmd9IHRleHQgLSBUZXh0LlxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvblxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuYXNzZXJ0VGV4dFByZXNlbnQoXCJKb2huIERvZVwiKTsvLyBBc3NlcnRzIGlmIGEgdGV4dCBpcyBwcmVzZW50ZWQgc29tZXdoZXJlIG9uIHRoZSBwYWdlLlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbih0ZXh0LCB0aW1lb3V0KSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROb25FbXB0eVN0cmluZyh0ZXh0LCAndGV4dCcpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50VGltZW91dCh0aW1lb3V0LCAndGltZW91dCcpO1xyXG5cclxuICAgIGlmICh0aW1lb3V0KSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5oZWxwZXJzLnNldFRpbWVvdXRJbXBsaWNpdCh0aW1lb3V0KTtcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLndhaXRVbnRpbChhc3luYygpID0+IHtcclxuICAgICAgICAgICAgdmFyIGVscyA9IGF3YWl0IHRoaXMuZHJpdmVyLiQkKCcvLypbY29udGFpbnModGV4dCgpLFwiJyArIHRleHQgKyAnXCIpXScpO1xyXG4gICAgICAgICAgICByZXR1cm4gZWxzLmxlbmd0aCAhPT0gMDtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgdGltZW91dDogKHRpbWVvdXQgPyB0aW1lb3V0IDogdGhpcy53YWl0Rm9yVGltZW91dCkgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgaWYgKHRpbWVvdXQpIHtcclxuICAgICAgICAgICAgdGhpcy5oZWxwZXJzLnJlc3RvcmVUaW1lb3V0SW1wbGljaXQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuQVNTRVJUX0VSUk9SLCBgVGV4dDogXCIke3RleHR9XCIgbm90IGZvdW5kIG9uIHRoZSBwYWdlYCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRpbWVvdXQpIHtcclxuICAgICAgICB0aGlzLmhlbHBlcnMucmVzdG9yZVRpbWVvdXRJbXBsaWNpdCgpO1xyXG4gICAgfVxyXG59O1xyXG4iXX0=
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- require("source-map-support/register");
4
-
5
- /*
6
- * Copyright (C) 2015-present CloudBeat Limited
7
- *
8
- * This program is free software: you can redistribute it and/or modify
9
- * it under the terms of the GNU General Public License as published by
10
- * the Free Software Foundation, either version 3 of the License, or
11
- * (at your option) any later version.
12
- */
13
-
14
- /**
15
- * @summary Asserts the page title.
16
- * @description Assertion pattern can be any of the supported
17
- * string matching patterns(on the top of page).
18
- * @function assertTitle
19
- * @param {String} pattern - The assertion pattern.
20
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
21
- * @example <caption>[javascript] Usage example</caption>
22
- * web.init();//Opens browser session
23
- * web.open("www.yourwebsite.com");// Opens a website.
24
- * web.assertTitle("Your websites title!");// Asserts the title of the page.
25
- */
26
- module.exports = async function (pattern, timeout) {
27
- this.helpers.assertArgument(pattern, 'pattern');
28
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
29
- let title;
30
-
31
- try {
32
- await this.driver.waitUntil(async () => {
33
- title = await this.driver.getTitle();
34
- return this.helpers.matchPattern(title, pattern);
35
- }, {
36
- timeout: timeout ? timeout : this.waitForTimeout
37
- });
38
- } catch (e) {
39
- throw this.errHelper.getAssertError(pattern, title);
40
- }
41
- };
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0VGl0bGUuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInBhdHRlcm4iLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50IiwiYXNzZXJ0QXJndW1lbnRUaW1lb3V0IiwidGl0bGUiLCJkcml2ZXIiLCJ3YWl0VW50aWwiLCJnZXRUaXRsZSIsIm1hdGNoUGF0dGVybiIsIndhaXRGb3JUaW1lb3V0IiwiZSIsImVyckhlbHBlciIsImdldEFzc2VydEVycm9yIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxPQUFmLEVBQXdCQyxPQUF4QixFQUFpQztBQUM5QyxPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJILE9BQTVCLEVBQXFDLFNBQXJDO0FBQ0EsT0FBS0UsT0FBTCxDQUFhRSxxQkFBYixDQUFtQ0gsT0FBbkMsRUFBNEMsU0FBNUM7QUFFQSxNQUFJSSxLQUFKOztBQUNBLE1BQUk7QUFDQSxVQUFNLEtBQUtDLE1BQUwsQ0FBWUMsU0FBWixDQUFzQixZQUFXO0FBQ25DRixNQUFBQSxLQUFLLEdBQUcsTUFBTSxLQUFLQyxNQUFMLENBQVlFLFFBQVosRUFBZDtBQUNBLGFBQU8sS0FBS04sT0FBTCxDQUFhTyxZQUFiLENBQTBCSixLQUExQixFQUFpQ0wsT0FBakMsQ0FBUDtBQUNILEtBSEssRUFJTjtBQUFFQyxNQUFBQSxPQUFPLEVBQUdBLE9BQU8sR0FBR0EsT0FBSCxHQUFhLEtBQUtTO0FBQXJDLEtBSk0sQ0FBTjtBQUtILEdBTkQsQ0FNRSxPQUFPQyxDQUFQLEVBQVU7QUFDUixVQUFNLEtBQUtDLFNBQUwsQ0FBZUMsY0FBZixDQUE4QmIsT0FBOUIsRUFBdUNLLEtBQXZDLENBQU47QUFDSDtBQUNKLENBZEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBBc3NlcnRzIHRoZSBwYWdlIHRpdGxlLlxyXG4gKiBAZGVzY3JpcHRpb24gQXNzZXJ0aW9uIHBhdHRlcm4gY2FuIGJlIGFueSBvZiB0aGUgc3VwcG9ydGVkIFxyXG4gKiAgc3RyaW5nIG1hdGNoaW5nIHBhdHRlcm5zKG9uIHRoZSB0b3Agb2YgcGFnZSkuXHJcbiAqIEBmdW5jdGlvbiBhc3NlcnRUaXRsZVxyXG4gKiBAcGFyYW0ge1N0cmluZ30gcGF0dGVybiAtIFRoZSBhc3NlcnRpb24gcGF0dGVybi5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQgaXMgNjAgc2Vjb25kcy5cclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIHdlYi5pbml0KCk7Ly9PcGVucyBicm93c2VyIHNlc3Npb25cclxuICogd2ViLm9wZW4oXCJ3d3cueW91cndlYnNpdGUuY29tXCIpOy8vIE9wZW5zIGEgd2Vic2l0ZS5cclxuICogd2ViLmFzc2VydFRpdGxlKFwiWW91ciB3ZWJzaXRlcyB0aXRsZSFcIik7Ly8gQXNzZXJ0cyB0aGUgdGl0bGUgb2YgdGhlIHBhZ2UuXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKHBhdHRlcm4sIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudChwYXR0ZXJuLCAncGF0dGVybicpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50VGltZW91dCh0aW1lb3V0LCAndGltZW91dCcpO1xyXG5cclxuICAgIGxldCB0aXRsZTtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIud2FpdFVudGlsKGFzeW5jKCkgPT4ge1xyXG4gICAgICAgICAgICB0aXRsZSA9IGF3YWl0IHRoaXMuZHJpdmVyLmdldFRpdGxlKCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhlbHBlcnMubWF0Y2hQYXR0ZXJuKHRpdGxlLCBwYXR0ZXJuKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgdGltZW91dDogKHRpbWVvdXQgPyB0aW1lb3V0IDogdGhpcy53YWl0Rm9yVGltZW91dCkgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgdGhyb3cgdGhpcy5lcnJIZWxwZXIuZ2V0QXNzZXJ0RXJyb3IocGF0dGVybiwgdGl0bGUpO1xyXG4gICAgfVxyXG59O1xyXG4iXX0=
@@ -1,44 +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 Asserts element's value.
16
- * @description Value pattern can be any of the supported
17
- * string matching patterns(on the top of page).
18
- * @function assertValue
19
- * @param {String|Element} locator - An element locator.
20
- * @param {String} pattern - Value pattern.
21
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
22
- * @example <caption>[javascript] Usage example</caption>
23
- * web.init();//Opens browser session
24
- * web.open("www.yourwebsite.com");// Opens a website.
25
- * web.assertValue("id=UserName", "John Doe");// Asserts the value of an element.
26
- */
27
- module.exports = async function (locator, pattern, timeout) {
28
- this.helpers.assertArgument(pattern, 'pattern');
29
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
30
- const el = await this.helpers.getElement(locator, false, timeout);
31
- let text;
32
-
33
- try {
34
- await this.driver.waitUntil(async () => {
35
- text = await el.getValue();
36
- return this.helpers.matchPattern(text, pattern);
37
- }, {
38
- timeout: timeout ? timeout : this.waitForTimeout
39
- });
40
- } catch (e) {
41
- throw this.errHelper.getAssertError(pattern, text);
42
- }
43
- };
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0VmFsdWUuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImxvY2F0b3IiLCJwYXR0ZXJuIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudCIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImVsIiwiZ2V0RWxlbWVudCIsInRleHQiLCJkcml2ZXIiLCJ3YWl0VW50aWwiLCJnZXRWYWx1ZSIsIm1hdGNoUGF0dGVybiIsIndhaXRGb3JUaW1lb3V0IiwiZSIsImVyckhlbHBlciIsImdldEFzc2VydEVycm9yIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsZ0JBQWVDLE9BQWYsRUFBd0JDLE9BQXhCLEVBQWlDQyxPQUFqQyxFQUEwQztBQUN2RCxPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJILE9BQTVCLEVBQXFDLFNBQXJDO0FBQ0EsT0FBS0UsT0FBTCxDQUFhRSxxQkFBYixDQUFtQ0gsT0FBbkMsRUFBNEMsU0FBNUM7QUFFQSxRQUFNSSxFQUFFLEdBQUcsTUFBTSxLQUFLSCxPQUFMLENBQWFJLFVBQWIsQ0FBd0JQLE9BQXhCLEVBQWlDLEtBQWpDLEVBQXdDRSxPQUF4QyxDQUFqQjtBQUVBLE1BQUlNLElBQUo7O0FBQ0EsTUFBSTtBQUNBLFVBQU0sS0FBS0MsTUFBTCxDQUFZQyxTQUFaLENBQXNCLFlBQVc7QUFDbkNGLE1BQUFBLElBQUksR0FBRyxNQUFNRixFQUFFLENBQUNLLFFBQUgsRUFBYjtBQUNBLGFBQU8sS0FBS1IsT0FBTCxDQUFhUyxZQUFiLENBQTBCSixJQUExQixFQUFnQ1AsT0FBaEMsQ0FBUDtBQUNILEtBSEssRUFJTjtBQUFFQyxNQUFBQSxPQUFPLEVBQUdBLE9BQU8sR0FBR0EsT0FBSCxHQUFhLEtBQUtXO0FBQXJDLEtBSk0sQ0FBTjtBQUtILEdBTkQsQ0FNRSxPQUFPQyxDQUFQLEVBQVU7QUFDUixVQUFNLEtBQUtDLFNBQUwsQ0FBZUMsY0FBZixDQUE4QmYsT0FBOUIsRUFBdUNPLElBQXZDLENBQU47QUFDSDtBQUNKLENBaEJEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgQXNzZXJ0cyBlbGVtZW50J3MgdmFsdWUuXHJcbiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBwYXR0ZXJuIGNhbiBiZSBhbnkgb2YgdGhlIHN1cHBvcnRlZCBcclxuICogIHN0cmluZyBtYXRjaGluZyBwYXR0ZXJucyhvbiB0aGUgdG9wIG9mIHBhZ2UpLlxyXG4gKiBAZnVuY3Rpb24gYXNzZXJ0VmFsdWVcclxuICogQHBhcmFtIHtTdHJpbmd8RWxlbWVudH0gbG9jYXRvciAtIEFuIGVsZW1lbnQgbG9jYXRvci5cclxuICogQHBhcmFtIHtTdHJpbmd9IHBhdHRlcm4gLSBWYWx1ZSBwYXR0ZXJuLlxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvblxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuYXNzZXJ0VmFsdWUoXCJpZD1Vc2VyTmFtZVwiLCBcIkpvaG4gRG9lXCIpOy8vIEFzc2VydHMgdGhlIHZhbHVlIG9mIGFuIGVsZW1lbnQuXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKGxvY2F0b3IsIHBhdHRlcm4sIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudChwYXR0ZXJuLCAncGF0dGVybicpO1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50VGltZW91dCh0aW1lb3V0LCAndGltZW91dCcpO1xyXG5cclxuICAgIGNvbnN0IGVsID0gYXdhaXQgdGhpcy5oZWxwZXJzLmdldEVsZW1lbnQobG9jYXRvciwgZmFsc2UsIHRpbWVvdXQpO1xyXG5cclxuICAgIGxldCB0ZXh0O1xyXG4gICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci53YWl0VW50aWwoYXN5bmMoKSA9PiB7XHJcbiAgICAgICAgICAgIHRleHQgPSBhd2FpdCBlbC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oZWxwZXJzLm1hdGNoUGF0dGVybih0ZXh0LCBwYXR0ZXJuKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgdGltZW91dDogKHRpbWVvdXQgPyB0aW1lb3V0IDogdGhpcy53YWl0Rm9yVGltZW91dCkgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgdGhyb3cgdGhpcy5lcnJIZWxwZXIuZ2V0QXNzZXJ0RXJyb3IocGF0dGVybiwgdGV4dCk7XHJcbiAgICB9XHJcbn07XHJcbiJdfQ==
@@ -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 Navigate backwards in the browser history.
16
- * @function back
17
- * @example <caption>[javascript] Usage example</caption>
18
- * web.init();//Opens browser session.
19
- * web.open("www.yourwebsite.com");// Opens a website.
20
- * web.click("id=NextPage");//Clicks on next page link.
21
- * web.back();//Navigate back to previous page.
22
- */
23
- module.exports = async function () {
24
- await this.driver.back();
25
- await this.checkWaitForAngular();
26
- };
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYmFjay5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiZHJpdmVyIiwiYmFjayIsImNoZWNrV2FpdEZvckFuZ3VsYXIiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsa0JBQWlCO0FBQzlCLFFBQU0sS0FBS0MsTUFBTCxDQUFZQyxJQUFaLEVBQU47QUFDQSxRQUFNLEtBQUtDLG1CQUFMLEVBQU47QUFDSCxDQUhEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgTmF2aWdhdGUgYmFja3dhcmRzIGluIHRoZSBicm93c2VyIGhpc3RvcnkuXHJcbiAqIEBmdW5jdGlvbiBiYWNrXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiB3ZWIuaW5pdCgpOy8vT3BlbnMgYnJvd3NlciBzZXNzaW9uLlxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuY2xpY2soXCJpZD1OZXh0UGFnZVwiKTsvL0NsaWNrcyBvbiBuZXh0IHBhZ2UgbGluay5cclxuICogd2ViLmJhY2soKTsvL05hdmlnYXRlIGJhY2sgdG8gcHJldmlvdXMgcGFnZS5cclxuICovXHJcbm1vZHVsZS5leHBvcnRzID0gYXN5bmMgZnVuY3Rpb24oKSB7XHJcbiAgICBhd2FpdCB0aGlzLmRyaXZlci5iYWNrKCk7XHJcbiAgICBhd2FpdCB0aGlzLmNoZWNrV2FpdEZvckFuZ3VsYXIoKTtcclxufTtcclxuIl19
@@ -1,41 +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 Clear the value of an input field.
16
- * @function clear
17
- * @param {String|Element} locator - An element locator.
18
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
19
- * @example <caption>[javascript] Usage example</caption>
20
- * web.init();//Opens browser session.
21
- * web.open("www.yourwebsite.com");// Opens a website.
22
- * web.type("id=Password", "Password");//Types a password to a field.
23
- * web.clear("id=Password");//Clears the characters from the field of an element.
24
- */
25
- module.exports = async function (locator, timeout) {
26
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
27
- const el = await this.helpers.getElement(locator, true, timeout);
28
-
29
- try {
30
- await el.clearValue();
31
- } catch (e) {
32
- if (e.name === 'invalid element state') {
33
- throw new this.OxError(this.errHelper.errorCode.ELEMENT_STATE_ERROR, e.message);
34
- }
35
-
36
- throw e;
37
- }
38
-
39
- await this.checkWaitForAngular();
40
- };
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvY2xlYXIuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImxvY2F0b3IiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsImVsIiwiZ2V0RWxlbWVudCIsImNsZWFyVmFsdWUiLCJlIiwibmFtZSIsIk94RXJyb3IiLCJlcnJIZWxwZXIiLCJlcnJvckNvZGUiLCJFTEVNRU5UX1NUQVRFX0VSUk9SIiwibWVzc2FnZSIsImNoZWNrV2FpdEZvckFuZ3VsYXIiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxPQUFmLEVBQXdCQyxPQUF4QixFQUFpQztBQUM5QyxPQUFLQyxPQUFMLENBQWFDLHFCQUFiLENBQW1DRixPQUFuQyxFQUE0QyxTQUE1QztBQUVBLFFBQU1HLEVBQUUsR0FBRyxNQUFNLEtBQUtGLE9BQUwsQ0FBYUcsVUFBYixDQUF3QkwsT0FBeEIsRUFBaUMsSUFBakMsRUFBdUNDLE9BQXZDLENBQWpCOztBQUVBLE1BQUk7QUFDQSxVQUFNRyxFQUFFLENBQUNFLFVBQUgsRUFBTjtBQUNILEdBRkQsQ0FFRSxPQUFPQyxDQUFQLEVBQVU7QUFDUixRQUFJQSxDQUFDLENBQUNDLElBQUYsS0FBVyx1QkFBZixFQUF3QztBQUNwQyxZQUFNLElBQUksS0FBS0MsT0FBVCxDQUFpQixLQUFLQyxTQUFMLENBQWVDLFNBQWYsQ0FBeUJDLG1CQUExQyxFQUErREwsQ0FBQyxDQUFDTSxPQUFqRSxDQUFOO0FBQ0g7O0FBQ0QsVUFBTU4sQ0FBTjtBQUNIOztBQUNELFFBQU0sS0FBS08sbUJBQUwsRUFBTjtBQUNILENBZEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBDbGVhciB0aGUgdmFsdWUgb2YgYW4gaW5wdXQgZmllbGQuXHJcbiAqIEBmdW5jdGlvbiBjbGVhclxyXG4gKiBAcGFyYW0ge1N0cmluZ3xFbGVtZW50fSBsb2NhdG9yIC0gQW4gZWxlbWVudCBsb2NhdG9yLlxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvbi5cclxuICogd2ViLm9wZW4oXCJ3d3cueW91cndlYnNpdGUuY29tXCIpOy8vIE9wZW5zIGEgd2Vic2l0ZS5cclxuICogd2ViLnR5cGUoXCJpZD1QYXNzd29yZFwiLCBcIlBhc3N3b3JkXCIpOy8vVHlwZXMgYSBwYXNzd29yZCB0byBhIGZpZWxkLlxyXG4gKiB3ZWIuY2xlYXIoXCJpZD1QYXNzd29yZFwiKTsvL0NsZWFycyB0aGUgY2hhcmFjdGVycyBmcm9tIHRoZSBmaWVsZCBvZiBhbiBlbGVtZW50LlxyXG4gKi9cclxubW9kdWxlLmV4cG9ydHMgPSBhc3luYyBmdW5jdGlvbihsb2NhdG9yLCB0aW1lb3V0KSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnRUaW1lb3V0KHRpbWVvdXQsICd0aW1lb3V0Jyk7XHJcblxyXG4gICAgY29uc3QgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChsb2NhdG9yLCB0cnVlLCB0aW1lb3V0KTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IGVsLmNsZWFyVmFsdWUoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBpZiAoZS5uYW1lID09PSAnaW52YWxpZCBlbGVtZW50IHN0YXRlJykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgdGhpcy5PeEVycm9yKHRoaXMuZXJySGVscGVyLmVycm9yQ29kZS5FTEVNRU5UX1NUQVRFX0VSUk9SLCBlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBlO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5jaGVja1dhaXRGb3JBbmd1bGFyKCk7XHJcbn07XHJcbiJdfQ==
@@ -1,112 +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 on an element.
16
- * @description If the click causes new page to load, the command waits for page to load before
17
- * proceeding.
18
- * @function click
19
- * @param {String|Element} locator - An element locator.
20
- * @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
21
- * @example <caption>[javascript] Usage example</caption>
22
- * web.init();//Opens browser session.
23
- * web.open("www.yourwebsite.com");// Opens a website.
24
- * web.click("id=NextPage");//Clicks on next page link.
25
- */
26
- module.exports = async function (locator, timeout) {
27
- this.helpers.assertArgumentTimeout(timeout, 'timeout');
28
- this.retryCount = 3;
29
-
30
- this.clickJS = async el => {
31
- try {
32
- /*global document*/
33
- const retVal = await this.driver.execute(function (domEl) {
34
- // createEvent won't be available in IE < 9 compatibility mode
35
- if (!document.createEvent) {
36
- if (document.createEventObject) {
37
- var ev = document.createEventObject();
38
- domEl.fireEvent('onclick', ev);
39
- return;
40
- } else {
41
- return; // fail silently
42
- }
43
- }
44
-
45
- var clckEv = document.createEvent('MouseEvent');
46
- clckEv.initEvent('click', true, true);
47
- domEl.dispatchEvent(clckEv);
48
- }, el);
49
- /*
50
- {
51
- error: 'no such element',
52
- message: 'Error executing JavaScript',
53
- stacktrace: ''
54
- }
55
- */
56
-
57
- if (retVal && retVal.error && retVal.message) {
58
- throw new Error(retVal.error + ' ' + retVal.message);
59
- }
60
- } catch (e) {
61
- if (this.retryCount) {
62
- --this.retryCount;
63
- await this.clickJS(el);
64
- } else {
65
- throw e;
66
- }
67
- }
68
- };
69
-
70
- var el = await this.helpers.getElement(locator, false, timeout);
71
-
72
- try {
73
- var clickable = await el.isClickable();
74
- } catch (e) {
75
- let documentMode;
76
-
77
- if (this.driver && this.driver.capabilities && this.driver.capabilities.browserName === 'internet explorer') {
78
- try {
79
- documentMode = await this.driver.execute(function () {
80
- // eslint-disable-next-line no-undef
81
- return window.document.documentMode;
82
- });
83
- } catch (e) {// ignore
84
- }
85
-
86
- if (documentMode && [5, 6, 7, 8, 9, 10].includes(parseInt(documentMode))) {
87
- clickable = true;
88
- } else {
89
- throw e;
90
- }
91
- }
92
- }
93
-
94
- if (clickable) {
95
- try {
96
- await el.click();
97
- } catch (e) {
98
- // chromedriver doesn't seem to support clicking on elements in Shadow DOM
99
- if (e.message.startsWith("javascript error: Cannot read property 'defaultView' of undefined")) {
100
- await this.clickJS(el);
101
- } else {
102
- throw e;
103
- }
104
- }
105
- } else {
106
- // if element is not clickable, try clicking it using JS injection
107
- await this.clickJS(el);
108
- }
109
-
110
- await this.checkWaitForAngular();
111
- };
112
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvY2xpY2suanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImxvY2F0b3IiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50VGltZW91dCIsInJldHJ5Q291bnQiLCJjbGlja0pTIiwiZWwiLCJyZXRWYWwiLCJkcml2ZXIiLCJleGVjdXRlIiwiZG9tRWwiLCJkb2N1bWVudCIsImNyZWF0ZUV2ZW50IiwiY3JlYXRlRXZlbnRPYmplY3QiLCJldiIsImZpcmVFdmVudCIsImNsY2tFdiIsImluaXRFdmVudCIsImRpc3BhdGNoRXZlbnQiLCJlcnJvciIsIm1lc3NhZ2UiLCJFcnJvciIsImUiLCJnZXRFbGVtZW50IiwiY2xpY2thYmxlIiwiaXNDbGlja2FibGUiLCJkb2N1bWVudE1vZGUiLCJjYXBhYmlsaXRpZXMiLCJicm93c2VyTmFtZSIsIndpbmRvdyIsImluY2x1ZGVzIiwicGFyc2VJbnQiLCJjbGljayIsInN0YXJ0c1dpdGgiLCJjaGVja1dhaXRGb3JBbmd1bGFyIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLGdCQUFlQyxPQUFmLEVBQXdCQyxPQUF4QixFQUFpQztBQUM5QyxPQUFLQyxPQUFMLENBQWFDLHFCQUFiLENBQW1DRixPQUFuQyxFQUE0QyxTQUE1QztBQUNBLE9BQUtHLFVBQUwsR0FBa0IsQ0FBbEI7O0FBQ0EsT0FBS0MsT0FBTCxHQUFlLE1BQU9DLEVBQVAsSUFBZTtBQUMxQixRQUFJO0FBQ0E7QUFDQSxZQUFNQyxNQUFNLEdBQUcsTUFBTSxLQUFLQyxNQUFMLENBQVlDLE9BQVosQ0FBb0IsVUFBU0MsS0FBVCxFQUFnQjtBQUNyRDtBQUNBLFlBQUksQ0FBQ0MsUUFBUSxDQUFDQyxXQUFkLEVBQTJCO0FBQ3ZCLGNBQUlELFFBQVEsQ0FBQ0UsaUJBQWIsRUFBZ0M7QUFDNUIsZ0JBQUlDLEVBQUUsR0FBR0gsUUFBUSxDQUFDRSxpQkFBVCxFQUFUO0FBQ0FILFlBQUFBLEtBQUssQ0FBQ0ssU0FBTixDQUFnQixTQUFoQixFQUEyQkQsRUFBM0I7QUFDQTtBQUNILFdBSkQsTUFJTztBQUNILG1CQURHLENBQ0s7QUFDWDtBQUNKOztBQUNELFlBQUlFLE1BQU0sR0FBR0wsUUFBUSxDQUFDQyxXQUFULENBQXFCLFlBQXJCLENBQWI7QUFDQUksUUFBQUEsTUFBTSxDQUFDQyxTQUFQLENBQWlCLE9BQWpCLEVBQTBCLElBQTFCLEVBQWdDLElBQWhDO0FBQ0FQLFFBQUFBLEtBQUssQ0FBQ1EsYUFBTixDQUFvQkYsTUFBcEI7QUFDSCxPQWRvQixFQWNsQlYsRUFka0IsQ0FBckI7QUFnQkE7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ1ksVUFBSUMsTUFBTSxJQUFJQSxNQUFNLENBQUNZLEtBQWpCLElBQTBCWixNQUFNLENBQUNhLE9BQXJDLEVBQThDO0FBQzFDLGNBQU0sSUFBSUMsS0FBSixDQUFVZCxNQUFNLENBQUNZLEtBQVAsR0FBZSxHQUFmLEdBQXFCWixNQUFNLENBQUNhLE9BQXRDLENBQU47QUFDSDtBQUVKLEtBN0JELENBNkJFLE9BQU9FLENBQVAsRUFBVTtBQUNSLFVBQUksS0FBS2xCLFVBQVQsRUFBcUI7QUFDakIsVUFBRSxLQUFLQSxVQUFQO0FBQ0EsY0FBTSxLQUFLQyxPQUFMLENBQWFDLEVBQWIsQ0FBTjtBQUNILE9BSEQsTUFHTztBQUNILGNBQU1nQixDQUFOO0FBQ0g7QUFDSjtBQUNKLEdBdENEOztBQXdDQSxNQUFJaEIsRUFBRSxHQUFHLE1BQU0sS0FBS0osT0FBTCxDQUFhcUIsVUFBYixDQUF3QnZCLE9BQXhCLEVBQWlDLEtBQWpDLEVBQXdDQyxPQUF4QyxDQUFmOztBQUVBLE1BQUk7QUFDQSxRQUFJdUIsU0FBUyxHQUFHLE1BQU1sQixFQUFFLENBQUNtQixXQUFILEVBQXRCO0FBQ0gsR0FGRCxDQUVFLE9BQU9ILENBQVAsRUFBVTtBQUNSLFFBQUlJLFlBQUo7O0FBQ0EsUUFDSSxLQUFLbEIsTUFBTCxJQUNBLEtBQUtBLE1BQUwsQ0FBWW1CLFlBRFosSUFFQSxLQUFLbkIsTUFBTCxDQUFZbUIsWUFBWixDQUF5QkMsV0FBekIsS0FBeUMsbUJBSDdDLEVBSUU7QUFDRSxVQUFJO0FBQ0FGLFFBQUFBLFlBQVksR0FBRyxNQUFNLEtBQUtsQixNQUFMLENBQVlDLE9BQVosQ0FBb0IsWUFBVztBQUNoRDtBQUNBLGlCQUFPb0IsTUFBTSxDQUFDbEIsUUFBUCxDQUFnQmUsWUFBdkI7QUFDSCxTQUhvQixDQUFyQjtBQUlILE9BTEQsQ0FLRSxPQUFPSixDQUFQLEVBQVUsQ0FDUjtBQUNIOztBQUVELFVBQ0lJLFlBQVksSUFDWixDQUFDLENBQUQsRUFBSSxDQUFKLEVBQU8sQ0FBUCxFQUFVLENBQVYsRUFBYSxDQUFiLEVBQWdCLEVBQWhCLEVBQW9CSSxRQUFwQixDQUE2QkMsUUFBUSxDQUFDTCxZQUFELENBQXJDLENBRkosRUFHRTtBQUNFRixRQUFBQSxTQUFTLEdBQUcsSUFBWjtBQUNILE9BTEQsTUFLTztBQUNILGNBQU1GLENBQU47QUFDSDtBQUNKO0FBQ0o7O0FBRUQsTUFBSUUsU0FBSixFQUFlO0FBQ1gsUUFBSTtBQUNBLFlBQU1sQixFQUFFLENBQUMwQixLQUFILEVBQU47QUFDSCxLQUZELENBRUUsT0FBT1YsQ0FBUCxFQUFVO0FBQ1I7QUFDQSxVQUFJQSxDQUFDLENBQUNGLE9BQUYsQ0FBVWEsVUFBVixDQUFxQixtRUFBckIsQ0FBSixFQUErRjtBQUMzRixjQUFNLEtBQUs1QixPQUFMLENBQWFDLEVBQWIsQ0FBTjtBQUNILE9BRkQsTUFFTztBQUNILGNBQU1nQixDQUFOO0FBQ0g7QUFDSjtBQUNKLEdBWEQsTUFXTztBQUNIO0FBQ0EsVUFBTSxLQUFLakIsT0FBTCxDQUFhQyxFQUFiLENBQU47QUFDSDs7QUFFRCxRQUFNLEtBQUs0QixtQkFBTCxFQUFOO0FBQ0gsQ0EzRkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBDbGlja3Mgb24gYW4gZWxlbWVudC5cclxuICogQGRlc2NyaXB0aW9uIElmIHRoZSBjbGljayBjYXVzZXMgbmV3IHBhZ2UgdG8gbG9hZCwgdGhlIGNvbW1hbmQgd2FpdHMgZm9yIHBhZ2UgdG8gbG9hZCBiZWZvcmVcclxuICogICAgICAgICAgICAgIHByb2NlZWRpbmcuXHJcbiAqIEBmdW5jdGlvbiBjbGlja1xyXG4gKiBAcGFyYW0ge1N0cmluZ3xFbGVtZW50fSBsb2NhdG9yIC0gQW4gZWxlbWVudCBsb2NhdG9yLlxyXG4gKiBAcGFyYW0ge051bWJlcj19IHRpbWVvdXQgLSBUaW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvbi5cclxuICogd2ViLm9wZW4oXCJ3d3cueW91cndlYnNpdGUuY29tXCIpOy8vIE9wZW5zIGEgd2Vic2l0ZS5cclxuICogd2ViLmNsaWNrKFwiaWQ9TmV4dFBhZ2VcIik7Ly9DbGlja3Mgb24gbmV4dCBwYWdlIGxpbmsuXHJcbiAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IGFzeW5jIGZ1bmN0aW9uKGxvY2F0b3IsIHRpbWVvdXQpIHtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuICAgIHRoaXMucmV0cnlDb3VudCA9IDM7XHJcbiAgICB0aGlzLmNsaWNrSlMgPSBhc3luYyAoZWwpID0+ICB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgLypnbG9iYWwgZG9jdW1lbnQqL1xyXG4gICAgICAgICAgICBjb25zdCByZXRWYWwgPSBhd2FpdCB0aGlzLmRyaXZlci5leGVjdXRlKGZ1bmN0aW9uKGRvbUVsKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjcmVhdGVFdmVudCB3b24ndCBiZSBhdmFpbGFibGUgaW4gSUUgPCA5IGNvbXBhdGliaWxpdHkgbW9kZVxyXG4gICAgICAgICAgICAgICAgaWYgKCFkb2N1bWVudC5jcmVhdGVFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZXYgPSBkb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb21FbC5maXJlRXZlbnQoJ29uY2xpY2snLCBldik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGZhaWwgc2lsZW50bHlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB2YXIgY2xja0V2ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ01vdXNlRXZlbnQnKTtcclxuICAgICAgICAgICAgICAgIGNsY2tFdi5pbml0RXZlbnQoJ2NsaWNrJywgdHJ1ZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICBkb21FbC5kaXNwYXRjaEV2ZW50KGNsY2tFdik7XHJcbiAgICAgICAgICAgIH0sIGVsKTtcclxuXHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6ICdubyBzdWNoIGVsZW1lbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdFcnJvciBleGVjdXRpbmcgSmF2YVNjcmlwdCcsXHJcbiAgICAgICAgICAgICAgICAgICAgc3RhY2t0cmFjZTogJydcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgaWYgKHJldFZhbCAmJiByZXRWYWwuZXJyb3IgJiYgcmV0VmFsLm1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXRWYWwuZXJyb3IgKyAnICcgKyByZXRWYWwubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5yZXRyeUNvdW50KSB7XHJcbiAgICAgICAgICAgICAgICAtLXRoaXMucmV0cnlDb3VudDtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuY2xpY2tKUyhlbCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICB2YXIgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChsb2NhdG9yLCBmYWxzZSwgdGltZW91dCk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgICB2YXIgY2xpY2thYmxlID0gYXdhaXQgZWwuaXNDbGlja2FibGUoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBsZXQgZG9jdW1lbnRNb2RlO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5kcml2ZXIgJiZcclxuICAgICAgICAgICAgdGhpcy5kcml2ZXIuY2FwYWJpbGl0aWVzICYmXHJcbiAgICAgICAgICAgIHRoaXMuZHJpdmVyLmNhcGFiaWxpdGllcy5icm93c2VyTmFtZSA9PT0gJ2ludGVybmV0IGV4cGxvcmVyJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRNb2RlID0gYXdhaXQgdGhpcy5kcml2ZXIuZXhlY3V0ZShmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LmRvY3VtZW50LmRvY3VtZW50TW9kZTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpZ25vcmVcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRNb2RlICYmXHJcbiAgICAgICAgICAgICAgICBbNSwgNiwgNywgOCwgOSwgMTBdLmluY2x1ZGVzKHBhcnNlSW50KGRvY3VtZW50TW9kZSkpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgY2xpY2thYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNsaWNrYWJsZSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGVsLmNsaWNrKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAvLyBjaHJvbWVkcml2ZXIgZG9lc24ndCBzZWVtIHRvIHN1cHBvcnQgY2xpY2tpbmcgb24gZWxlbWVudHMgaW4gU2hhZG93IERPTVxyXG4gICAgICAgICAgICBpZiAoZS5tZXNzYWdlLnN0YXJ0c1dpdGgoXCJqYXZhc2NyaXB0IGVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0eSAnZGVmYXVsdFZpZXcnIG9mIHVuZGVmaW5lZFwiKSkge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5jbGlja0pTKGVsKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIGlmIGVsZW1lbnQgaXMgbm90IGNsaWNrYWJsZSwgdHJ5IGNsaWNraW5nIGl0IHVzaW5nIEpTIGluamVjdGlvblxyXG4gICAgICAgIGF3YWl0IHRoaXMuY2xpY2tKUyhlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXdhaXQgdGhpcy5jaGVja1dhaXRGb3JBbmd1bGFyKCk7XHJcbn07XHJcbiJdfQ==