@mablhq/mabl-cli 1.16.32 → 1.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/api/basicApiClient.js +9 -4
  2. package/api/featureSet.js +1 -4
  3. package/api/mablApiClient.js +16 -9
  4. package/browserLauncher/browserLauncherFactory.js +4 -4
  5. package/browserLauncher/elementHandle.js +2 -1
  6. package/browserLauncher/playwrightBrowserLauncher/playwrightBrowser.js +8 -1
  7. package/browserLauncher/playwrightBrowserLauncher/playwrightBrowserLauncher.js +11 -9
  8. package/browserLauncher/playwrightBrowserLauncher/playwrightDom.js +23 -29
  9. package/browserLauncher/playwrightBrowserLauncher/playwrightFrame.js +28 -6
  10. package/browserLauncher/playwrightBrowserLauncher/playwrightHttpRequest.js +5 -1
  11. package/browserLauncher/playwrightBrowserLauncher/playwrightPage.js +13 -9
  12. package/browserLauncher/runnerType.js +0 -1
  13. package/cli.js +12 -8
  14. package/commands/applications/applications_cmds/describe.js +4 -4
  15. package/commands/applications/applications_cmds/list.js +4 -4
  16. package/commands/auth/auth_cmds/activate-key.js +1 -1
  17. package/commands/branches/branches_cmds/create.js +4 -4
  18. package/commands/branches/branches_cmds/describe.js +3 -3
  19. package/commands/branches/branches_cmds/list.js +3 -3
  20. package/commands/branches/branches_cmds/merge.js +4 -4
  21. package/commands/commandUtil/codeInsights.js +4 -2
  22. package/commands/commandUtil/describe.js +1 -1
  23. package/commands/commandUtil/fileUtil.js +5 -1
  24. package/commands/commandUtil/util.js +2 -2
  25. package/commands/config/config_cmds/delete.js +1 -1
  26. package/commands/config/config_cmds/set.js +1 -1
  27. package/commands/constants.js +3 -1
  28. package/commands/credentials/credentials_cmds/list.js +4 -4
  29. package/commands/deploy/deploy_cmds/create.js +18 -13
  30. package/commands/deploy/deploy_cmds/describe.js +5 -5
  31. package/commands/deploy/deploy_cmds/executionResultPresenter.js +1 -1
  32. package/commands/deploy/deploy_cmds/list.js +4 -4
  33. package/commands/deploy/deploy_cmds/watch.js +2 -2
  34. package/commands/environments/environments_cmds/create.js +7 -7
  35. package/commands/environments/environments_cmds/delete.js +1 -1
  36. package/commands/environments/environments_cmds/describe.js +4 -4
  37. package/commands/environments/environments_cmds/list.js +4 -4
  38. package/commands/environments/environments_cmds/update.js +2 -2
  39. package/commands/environments/environments_cmds/urls_cmds/add.js +3 -3
  40. package/commands/environments/environments_cmds/urls_cmds/list.js +2 -2
  41. package/commands/flows/flows_cmds/export.js +5 -5
  42. package/commands/flows/flows_cmds/list.js +2 -2
  43. package/commands/link-agents/link-agents_cmds/delete.js +1 -1
  44. package/commands/plans/plans_cmds/describe.js +4 -4
  45. package/commands/plans/plans_cmds/list.js +2 -2
  46. package/commands/test-runs/test-runs_cmds/export.js +2 -2
  47. package/commands/tests/executionUtil.js +5 -5
  48. package/commands/tests/testsUtil.js +30 -18
  49. package/commands/tests/tests_cmds/create.js +3 -3
  50. package/commands/tests/tests_cmds/edit.js +3 -3
  51. package/commands/tests/tests_cmds/export.js +7 -7
  52. package/commands/tests/tests_cmds/import.js +35 -14
  53. package/commands/tests/tests_cmds/list.js +3 -3
  54. package/commands/tests/tests_cmds/run-alpha.js +3 -3
  55. package/commands/tests/tests_cmds/run-cloud.js +4 -4
  56. package/commands/tests/tests_cmds/run-legacy.js +8 -8
  57. package/commands/tests/tests_cmds/run.js +13 -8
  58. package/commands/tests/tests_cmds/trainer_cmds/trainerUtil.js +2 -2
  59. package/commands/tests/tests_cmds/trainer_cmds/update.js +1 -1
  60. package/commands/tests/tests_cmds/trainer_cmds/version.js +2 -2
  61. package/commands/workspaces/workspace_cmds/copy.js +2 -2
  62. package/commands/workspaces/workspace_cmds/describe.js +4 -4
  63. package/commands/workspaces/workspace_cmds/list.js +2 -2
  64. package/configGenerators/flowConfigGenerator.js +1 -1
  65. package/configGenerators/selIdeGenerator.js +6 -6
  66. package/core/messaging/actions/runnerActions.js +2 -2
  67. package/core/trainer/openUtils.js +2 -2
  68. package/core/trainer/trainingSessions.js +26 -26
  69. package/domUtil/index.js +1 -1
  70. package/domUtil/index.js.LICENSE.txt +5 -5
  71. package/env/env.js +5 -1
  72. package/execution/index.js +1 -1
  73. package/execution/index.js.LICENSE.txt +7 -5
  74. package/index.d.ts +0 -1
  75. package/mablApi/index.js +1 -1
  76. package/mablscript/AttributesConstants.js +2 -1
  77. package/mablscript/MablAction.js +1 -1
  78. package/mablscript/MablStep.js +26 -14
  79. package/mablscript/actions/AwaitPDFDownloadAction.js +2 -1
  80. package/mablscript/actions/ConditionAction.js +12 -4
  81. package/mablscript/actions/ExtractAction.js +16 -7
  82. package/mablscript/actions/FindAction.js +105 -80
  83. package/mablscript/actions/GenerateRandomStringAction.js +2 -1
  84. package/mablscript/actions/GetUrlAction.js +2 -2
  85. package/mablscript/actions/GetVariableValue.js +3 -3
  86. package/mablscript/actions/JavaScriptAction.js +16 -16
  87. package/mablscript/diffing/diffingUtil.js +146 -0
  88. package/mablscript/importer.js +26 -8
  89. package/mablscript/steps/AccessibilityCheck.js +9 -7
  90. package/mablscript/steps/AssertStep.js +60 -46
  91. package/mablscript/steps/AssertStepOld.js +41 -23
  92. package/mablscript/steps/AwaitTabStep.js +7 -6
  93. package/mablscript/steps/ClickAndHoldStep.js +6 -6
  94. package/mablscript/steps/ClickStep.js +6 -6
  95. package/mablscript/steps/CreateVariableStep.js +8 -8
  96. package/mablscript/steps/DoubleClickStep.js +7 -7
  97. package/mablscript/steps/DownloadStep.js +3 -2
  98. package/mablscript/steps/EchoStep.js +5 -3
  99. package/mablscript/steps/ElseIfConditionStep.js +5 -2
  100. package/mablscript/steps/EnterTextStep.js +13 -10
  101. package/mablscript/steps/EvaluateFlowStep.js +40 -0
  102. package/mablscript/steps/HoverStep.js +6 -6
  103. package/mablscript/steps/IfConditionStep.js +8 -7
  104. package/mablscript/steps/NavigateStep.js +1 -1
  105. package/mablscript/steps/ReleaseStep.js +7 -6
  106. package/mablscript/steps/RemoveCookieStep.js +2 -3
  107. package/mablscript/steps/SelectStep.js +5 -5
  108. package/mablscript/steps/SendHttpRequestStep.js +3 -3
  109. package/mablscript/steps/SendKeyStep.js +9 -9
  110. package/mablscript/steps/SetCookieStep.js +2 -4
  111. package/mablscript/steps/SetFilesStep.js +5 -5
  112. package/mablscript/steps/SetViewportStep.js +2 -2
  113. package/mablscript/steps/SwitchContextStep.js +12 -12
  114. package/mablscript/steps/VisitUrlStep.js +3 -2
  115. package/mablscript/steps/WaitStep.js +2 -5
  116. package/mablscript/steps/WaitUntilStep.js +3 -3
  117. package/{browserLauncher/puppeteerBrowserLauncher/internals.js → mablscript/types/EvaluateFlowStepDescriptor.js} +0 -0
  118. package/mablscript/types/GetCurrentLocationDescriptor.js +4 -3
  119. package/mablscript/types/OperatingSystemDescriptor.js +5 -1
  120. package/mablscript/types/VariableNamespace.js +1 -1
  121. package/mablscriptFind/index.js +1 -1
  122. package/mablscriptFind/index.js.LICENSE.txt +5 -5
  123. package/observers/mockObserver.js +4 -2
  124. package/package.json +55 -56
  125. package/popupDismissal/index.js +3 -3
  126. package/providers/authenticationProvider.js +3 -3
  127. package/providers/logging/loggingProvider.js +5 -1
  128. package/proxy/index.js +2 -1
  129. package/proxy/index.js.LICENSE.txt +5 -0
  130. package/reporters/mochAwesome/mochAwesomeReporter.js +11 -7
  131. package/reporters/reporter.js +1 -1
  132. package/resources/mablFind.js +1 -1
  133. package/resources/pdf-viewer/index.js +1 -1
  134. package/resources/pdf-viewer/libEmbeddedPdfHandler.js +11 -2
  135. package/resources/popupDismissal.js +1 -1
  136. package/util/RichPromise.js +1 -0
  137. package/util/actionabilityUtil.js +16 -35
  138. package/util/analytics.js +7 -3
  139. package/util/downloadUtil.js +6 -2
  140. package/util/httpUtil.js +6 -2
  141. package/util/markdownUtil.js +1 -1
  142. package/util/pureUtil.js +5 -1
  143. package/util/resourceUtil.js +5 -1
  144. package/browserLauncher/puppeteerBrowserLauncher/puppeteerBrowser.js +0 -134
  145. package/browserLauncher/puppeteerBrowserLauncher/puppeteerBrowserLauncher.js +0 -45
  146. package/browserLauncher/puppeteerBrowserLauncher/puppeteerElementHandle.js +0 -139
  147. package/browserLauncher/puppeteerBrowserLauncher/puppeteerFrame.js +0 -115
  148. package/browserLauncher/puppeteerBrowserLauncher/puppeteerHttpRequest.js +0 -38
  149. package/browserLauncher/puppeteerBrowserLauncher/puppeteerHttpResponse.js +0 -27
  150. package/browserLauncher/puppeteerBrowserLauncher/puppeteerJsHandle.js +0 -36
  151. package/browserLauncher/puppeteerBrowserLauncher/puppeteerPage.js +0 -331
  152. package/browserLauncher/puppeteerBrowserLauncher/wrappers.js +0 -25
@@ -1,115 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PuppeteerFrame = void 0;
7
- const browserLauncher_1 = require("../browserLauncher");
8
- const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
9
- const loggingProvider_1 = require("../../providers/logging/loggingProvider");
10
- const puppeteerBrowserLauncher_1 = require("./puppeteerBrowserLauncher");
11
- const utils_1 = require("../utils");
12
- const puppeteerHttpResponse_1 = require("./puppeteerHttpResponse");
13
- const puppeteerElementHandle_1 = require("./puppeteerElementHandle");
14
- const puppeteerJsHandle_1 = require("./puppeteerJsHandle");
15
- class PuppeteerFrame extends browserLauncher_1.Frame {
16
- constructor(frame, parentPage) {
17
- super();
18
- this.frame = frame;
19
- this.parentPage = parentPage;
20
- }
21
- makeCdpCall(method, paramArgs) {
22
- const client = this.frame.executionContext()._client;
23
- return client.send(method, paramArgs);
24
- }
25
- page() {
26
- return this.parentPage;
27
- }
28
- name() {
29
- return this.frame.name();
30
- }
31
- childFrames() {
32
- return this.frame
33
- .childFrames()
34
- .map((frame) => this.parentPage.getOrCreateFrame(frame));
35
- }
36
- async $eval(selector, pageFunction, arg) {
37
- const result = await this.frame.$eval(selector, pageFunction, puppeteerJsHandle_1.PuppeteerJsHandle.unwrapProperties(arg));
38
- return result;
39
- }
40
- async $$eval(selector, pageFunction, arg) {
41
- const result = await this.frame.$$eval(selector, pageFunction, puppeteerJsHandle_1.PuppeteerJsHandle.unwrapProperties(arg));
42
- return result;
43
- }
44
- async $(selector) {
45
- const handle = await this.frame.$(selector);
46
- return utils_1.mapIfNotNull(handle, (handle) => new puppeteerElementHandle_1.PuppeteerElementHandle(handle, this.parentPage));
47
- }
48
- async $$(selector) {
49
- return (await this.frame.$$(selector)).map((element) => new puppeteerElementHandle_1.PuppeteerElementHandle(element, this.parentPage));
50
- }
51
- async $x(xpathQuery) {
52
- return (await this.frame.$x(xpathQuery)).map((element) => new puppeteerElementHandle_1.PuppeteerElementHandle(element, this.parentPage));
53
- }
54
- id() {
55
- return this.frame._id;
56
- }
57
- url() {
58
- return this.frame.url();
59
- }
60
- title() {
61
- return this.frame.title();
62
- }
63
- async goto(url, options) {
64
- try {
65
- const response = await this.frame.goto(url, puppeteerBrowserLauncher_1.convertWaitForOptions(options));
66
- return utils_1.mapIfNotNull(response, (response) => new puppeteerHttpResponse_1.PuppeteerHttpResponse(response, this.parentPage));
67
- }
68
- catch (e) {
69
- if (e instanceof puppeteer_core_1.default.errors.TimeoutError) {
70
- throw new browserLauncher_1.RUNNER_ERRORS.TimeoutError(e.message);
71
- }
72
- throw new browserLauncher_1.RunnerError(e.message);
73
- }
74
- }
75
- parentFrame() {
76
- return utils_1.mapIfNotNull(this.frame.parentFrame(), (frame) => this.parentPage.getOrCreateFrame(frame));
77
- }
78
- evaluate(pageFunction, arg) {
79
- return this.frame.evaluate(pageFunction, puppeteerJsHandle_1.PuppeteerJsHandle.unwrapProperties(arg));
80
- }
81
- async evaluateCodeInSecondaryWorld(code, arg) {
82
- let result;
83
- if (this.frame._secondaryWorld._hasContext()) {
84
- result = await this.frame._secondaryWorld.evaluate(code, puppeteerJsHandle_1.PuppeteerJsHandle.unwrapProperties(arg));
85
- }
86
- else {
87
- loggingProvider_1.logger.debug('Using primary world to evaluate instead of secondary world');
88
- result = await this.evaluate(code, arg);
89
- }
90
- return result;
91
- }
92
- async evaluateHandleInSecondaryWorld(code, arg) {
93
- if (this.frame._secondaryWorld._hasContext()) {
94
- const result = await this.frame._secondaryWorld.evaluateHandle(code, puppeteerJsHandle_1.PuppeteerJsHandle.unwrapProperties(arg));
95
- return new puppeteerJsHandle_1.PuppeteerJsHandle(result, this.parentPage);
96
- }
97
- loggingProvider_1.logger.debug('Using primary world to evaluate handle instead of secondary world');
98
- return new puppeteerJsHandle_1.PuppeteerJsHandle(await this.frame.evaluateHandle(code, puppeteerJsHandle_1.PuppeteerJsHandle.unwrapProperties(arg)), this.parentPage);
99
- }
100
- async waitForSelector(selector, options) {
101
- const handle = await this.frame.waitForSelector(selector, puppeteerBrowserLauncher_1.convertWaitForOptions(options));
102
- return utils_1.mapIfNotNull(handle, (handle) => new puppeteerElementHandle_1.PuppeteerElementHandle(handle, this.parentPage));
103
- }
104
- async getFrameOwnerElement() {
105
- const parentFrame = this.parentFrame();
106
- if (!parentFrame) {
107
- return undefined;
108
- }
109
- const nodeInfo = await parentFrame.makeCdpCall('DOM.getFrameOwner', {
110
- frameId: this.frame._id,
111
- });
112
- return executionContext._adoptBackendNodeId(nodeInfo.backendNodeId);
113
- }
114
- }
115
- exports.PuppeteerFrame = PuppeteerFrame;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PuppeteerHttpRequest = void 0;
4
- const utils_1 = require("../utils");
5
- class PuppeteerHttpRequest {
6
- constructor(request, parentPage) {
7
- this.request = request;
8
- this.parentPage = parentPage;
9
- }
10
- continue() {
11
- return this.request.continue();
12
- }
13
- abort() {
14
- return this.request.abort();
15
- }
16
- respond(response) {
17
- var _a;
18
- return this.request.respond({
19
- status: response.status,
20
- contentType: response.contentType,
21
- headers: (_a = response.headers) !== null && _a !== void 0 ? _a : {},
22
- body: response.body,
23
- });
24
- }
25
- frame() {
26
- return utils_1.mapIfNotNull(this.request.frame(), (frame) => this.parentPage.getOrCreateFrame(frame));
27
- }
28
- url() {
29
- return this.request.url();
30
- }
31
- requestId() {
32
- return this.request._requestId;
33
- }
34
- headers() {
35
- return Promise.resolve(this.request.headers());
36
- }
37
- }
38
- exports.PuppeteerHttpRequest = PuppeteerHttpRequest;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PuppeteerHttpResponse = void 0;
4
- const utils_1 = require("../utils");
5
- const puppeteerHttpRequest_1 = require("./puppeteerHttpRequest");
6
- class PuppeteerHttpResponse {
7
- constructor(response, parentPage) {
8
- this.response = response;
9
- this.parentPage = parentPage;
10
- }
11
- headers() {
12
- return this.response.headers();
13
- }
14
- url() {
15
- return this.response.url();
16
- }
17
- frame() {
18
- return utils_1.mapIfNotNull(this.response.frame(), (frame) => this.parentPage.getOrCreateFrame(frame));
19
- }
20
- request() {
21
- return new puppeteerHttpRequest_1.PuppeteerHttpRequest(this.response.request(), this.parentPage);
22
- }
23
- json() {
24
- return this.response.json();
25
- }
26
- }
27
- exports.PuppeteerHttpResponse = PuppeteerHttpResponse;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PuppeteerJsHandle = void 0;
4
- const utils_1 = require("../utils");
5
- const puppeteerElementHandle_1 = require("./puppeteerElementHandle");
6
- class PuppeteerJsHandle {
7
- constructor(handle, parentPage) {
8
- this.handle = handle;
9
- this.parentPage = parentPage;
10
- }
11
- async evaluateHandle(code, arg) {
12
- const handle = await this.handle.evaluateHandle(code, PuppeteerJsHandle.unwrapProperties(arg));
13
- return utils_1.mapIfNotNull(handle, (handle) => new PuppeteerJsHandle(handle, this.parentPage));
14
- }
15
- asElement() {
16
- return utils_1.mapIfNotNull(this.handle.asElement(), (handle) => new puppeteerElementHandle_1.PuppeteerElementHandle(handle, this.parentPage));
17
- }
18
- jsonValue() {
19
- return this.handle.jsonValue();
20
- }
21
- async getProperty(propertyName) {
22
- return utils_1.mapIfNotNull(await this.handle.getProperty(propertyName), (handle) => new PuppeteerJsHandle(handle, this.parentPage));
23
- }
24
- evaluate(pageFunction, arg) {
25
- return this.handle.evaluate(pageFunction, PuppeteerJsHandle.unwrapProperties(arg));
26
- }
27
- getPuppeteerHandle() {
28
- return this.handle;
29
- }
30
- static unwrapProperties(arg) {
31
- return arg instanceof PuppeteerJsHandle
32
- ? arg.getPuppeteerHandle()
33
- : arg;
34
- }
35
- }
36
- exports.PuppeteerJsHandle = PuppeteerJsHandle;
@@ -1,331 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PuppeteerPage = exports.highlightColor = exports.MAX_HIGHLIGHT_OPACITY = void 0;
7
- const browserLauncher_1 = require("../browserLauncher");
8
- const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
9
- const events_1 = __importDefault(require("events"));
10
- const puppeteerBrowserLauncher_1 = require("./puppeteerBrowserLauncher");
11
- const puppeteerHttpRequest_1 = require("./puppeteerHttpRequest");
12
- const puppeteerHttpResponse_1 = require("./puppeteerHttpResponse");
13
- const puppeteerElementHandle_1 = require("./puppeteerElementHandle");
14
- const puppeteerJsHandle_1 = require("./puppeteerJsHandle");
15
- const puppeteerFrame_1 = require("./puppeteerFrame");
16
- const utils_1 = require("../utils");
17
- const wrappers_1 = require("./wrappers");
18
- const logUtils_1 = require("../../util/logUtils");
19
- exports.MAX_HIGHLIGHT_OPACITY = 0.9;
20
- exports.highlightColor = (transparency) => ({
21
- r: 196,
22
- g: 68,
23
- b: 183,
24
- a: transparency,
25
- });
26
- class PuppeteerPage extends events_1.default {
27
- constructor(page, browser) {
28
- super();
29
- this.page = page;
30
- this.browser = browser;
31
- this.puppeteerFrames = new Map();
32
- page.off("dialog", PuppeteerPage.acceptDialogs);
33
- page.on("dialog", PuppeteerPage.acceptDialogs);
34
- page.on("close", () => {
35
- this.browser.onPageClose(this);
36
- });
37
- }
38
- async screenshot(clip) {
39
- const { visualViewport } = await this.makeCdpCall('Page.getLayoutMetrics');
40
- await this.makeCdpCall('Target.activateTarget', {
41
- targetId: this.getPageId(),
42
- });
43
- let cdpClip;
44
- if (clip) {
45
- cdpClip = {
46
- ...clip,
47
- scale: visualViewport.scale,
48
- };
49
- }
50
- return this.makeCdpCall('Page.captureScreenshot', {
51
- format: 'png',
52
- clip: cdpClip,
53
- captureBeyondViewport: false,
54
- });
55
- }
56
- async waitForInitialization() {
57
- var _a;
58
- if (this.browser.credentials !== undefined) {
59
- await this.page.authenticate(this.browser.credentials);
60
- }
61
- const opener = await ((_a = this.page.target().opener()) === null || _a === void 0 ? void 0 : _a.page());
62
- this.openerPage = await utils_1.mapIfNotNull(opener, (page) => this.browser.getOrCreatePage(page));
63
- }
64
- makeCdpCall(method, paramArgs) {
65
- return this.getCdpClient().send(method, paramArgs);
66
- }
67
- sendCharacter(key) {
68
- return this.page.keyboard.sendCharacter(key);
69
- }
70
- getPageId() {
71
- return this.page.target()._targetId;
72
- }
73
- viewport() {
74
- const viewport = this.page.viewport();
75
- return utils_1.mapIfNotNull(viewport, (descriptor) => ({
76
- width: descriptor.width,
77
- height: descriptor.height,
78
- }));
79
- }
80
- async setBrowserBounds(width, height) {
81
- const windowInfo = await this.makeCdpCall('Browser.getWindowForTarget');
82
- const setWindowBoundsRequest = {
83
- windowId: windowInfo.windowId,
84
- bounds: {
85
- width,
86
- height,
87
- },
88
- };
89
- await this.makeCdpCall('Browser.setWindowBounds', setWindowBoundsRequest);
90
- }
91
- setCookie(...cookie) {
92
- return this.page.setCookie(...cookie);
93
- }
94
- mouseMove(x, y) {
95
- return this.page.mouse.move(x, y);
96
- }
97
- mouseDown() {
98
- return this.page.mouse.down();
99
- }
100
- mouseUp() {
101
- return this.page.mouse.up();
102
- }
103
- press(key) {
104
- return this.page.keyboard.press(key);
105
- }
106
- keyDown(key) {
107
- return this.page.keyboard.down(key);
108
- }
109
- keyUp(key) {
110
- return this.page.keyboard.up(key);
111
- }
112
- sendChar(key) {
113
- return this.page.keyboard.sendCharacter(key);
114
- }
115
- deleteCookie(...cookies) {
116
- return this.page.deleteCookie(...cookies);
117
- }
118
- async waitForNavigation(options) {
119
- try {
120
- const result = await this.page.waitForNavigation(puppeteerBrowserLauncher_1.convertWaitForOptions(options));
121
- return utils_1.mapIfNotNull(result, (result) => new puppeteerHttpResponse_1.PuppeteerHttpResponse(result, this));
122
- }
123
- catch (e) {
124
- if (e instanceof puppeteer_core_1.default.errors.TimeoutError) {
125
- throw new browserLauncher_1.RUNNER_ERRORS.TimeoutError(e.message);
126
- }
127
- throw new browserLauncher_1.RunnerError(e.message);
128
- }
129
- }
130
- async goto(url, options) {
131
- try {
132
- return new puppeteerHttpResponse_1.PuppeteerHttpResponse(await this.page.goto(url, puppeteerBrowserLauncher_1.convertWaitForOptions(options)), this);
133
- }
134
- catch (e) {
135
- if (e instanceof puppeteer_core_1.default.errors.TimeoutError) {
136
- throw new browserLauncher_1.RUNNER_ERRORS.TimeoutError(e.message);
137
- }
138
- throw new browserLauncher_1.RunnerError(e.message);
139
- }
140
- }
141
- async reload(options) {
142
- try {
143
- return utils_1.mapIfNotNull(await this.page.reload(puppeteerBrowserLauncher_1.convertWaitForOptions(options)), (response) => new puppeteerHttpResponse_1.PuppeteerHttpResponse(response, this));
144
- }
145
- catch (e) {
146
- if (e instanceof puppeteer_core_1.default.errors.TimeoutError) {
147
- throw new browserLauncher_1.RUNNER_ERRORS.TimeoutError(e.message);
148
- }
149
- throw new browserLauncher_1.RunnerError(e.message);
150
- }
151
- }
152
- title() {
153
- return this.page.title();
154
- }
155
- isClosed() {
156
- return this.page.isClosed();
157
- }
158
- cookies() {
159
- return this.page.cookies();
160
- }
161
- async resizeViewport() {
162
- await this.makeCdpCall('Emulation.clearDeviceMetricsOverride');
163
- }
164
- setRequestInterception(value) {
165
- return this.page.setRequestInterception(value);
166
- }
167
- bringToFront() {
168
- return this.page.bringToFront();
169
- }
170
- authenticate(credentials) {
171
- return this.page.authenticate(credentials);
172
- }
173
- async setViewport(viewport) {
174
- return this.emulateDevice(viewport);
175
- }
176
- async emulateDevice(deviceDescriptor) {
177
- await this.page.setViewport(deviceDescriptor);
178
- try {
179
- await this.setBrowserBounds(deviceDescriptor.width, deviceDescriptor.height);
180
- }
181
- catch (error) {
182
- logUtils_1.logInternal(`Set Browser Bounds during setViewport step failed: ${error}`);
183
- }
184
- }
185
- on(event, listener) {
186
- this.wireEvents(event);
187
- super.on(event, listener);
188
- return this;
189
- }
190
- once(event, listener) {
191
- this.wireEvents(event);
192
- super.once(event, listener);
193
- return this;
194
- }
195
- wireEvents(event) {
196
- if (event === browserLauncher_1.PageEvent.RequestWillBeSentExtraInfo &&
197
- !this.listenerCount(event)) {
198
- const client = this.getCdpClient();
199
- client.on('Network.requestWillBeSentExtraInfo', (event) => {
200
- this.emit(browserLauncher_1.PageEvent.RequestWillBeSentExtraInfo, event);
201
- });
202
- }
203
- if (event === browserLauncher_1.PageEvent.Response && !this.listenerCount(event)) {
204
- this.page.on("response", (event) => {
205
- this.emit(browserLauncher_1.PageEvent.Response, new puppeteerHttpResponse_1.PuppeteerHttpResponse(event, this));
206
- });
207
- }
208
- if (event === browserLauncher_1.PageEvent.Request && !this.listenerCount(event)) {
209
- this.page.on("request", (request) => {
210
- this.emit(browserLauncher_1.PageEvent.Request, new puppeteerHttpRequest_1.PuppeteerHttpRequest(request, this));
211
- });
212
- }
213
- if (event === browserLauncher_1.PageEvent.FrameNavigated && !this.listenerCount(event)) {
214
- this.page.on("framenavigated", (frame) => {
215
- this.emit(browserLauncher_1.PageEvent.FrameNavigated, this.getOrCreateFrame(frame));
216
- });
217
- }
218
- if (event === browserLauncher_1.PageEvent.FrameAttached && !this.listenerCount(event)) {
219
- this.page.on("frameattached", (frame) => {
220
- this.emit(browserLauncher_1.PageEvent.FrameAttached, this.getOrCreateFrame(frame));
221
- });
222
- }
223
- if (event === browserLauncher_1.PageEvent.Console && !this.listenerCount(event)) {
224
- this.page.on('console', (console) => {
225
- this.emit(browserLauncher_1.PageEvent.Console, new wrappers_1.PuppeteerWrappedConsoleMessage(console, this));
226
- });
227
- }
228
- if (event === browserLauncher_1.PageEvent.PageError && !this.listenerCount(event)) {
229
- this.page.on("pageerror", (error) => {
230
- this.emit(browserLauncher_1.PageEvent.PageError, error);
231
- });
232
- }
233
- if (event === browserLauncher_1.PageEvent.Error && !this.listenerCount(event)) {
234
- this.page.on("error", (error) => {
235
- this.emit(browserLauncher_1.PageEvent.Error, error);
236
- });
237
- }
238
- if (event === browserLauncher_1.PageEvent.TracingBufferUsage && !this.listenerCount(event)) {
239
- this.getCdpClient().on('Tracing.bufferUsage', (tracing) => {
240
- this.emit(browserLauncher_1.PageEvent.TracingBufferUsage, tracing);
241
- });
242
- }
243
- if (event === browserLauncher_1.PageEvent.TracingComplete && !this.listenerCount(event)) {
244
- this.getCdpClient().on('Tracing.tracingComplete', (tracingComplete) => {
245
- this.emit(browserLauncher_1.PageEvent.TracingComplete, tracingComplete);
246
- });
247
- }
248
- if (event === browserLauncher_1.PageEvent.TracingDataCollected &&
249
- !this.listenerCount(event)) {
250
- this.getCdpClient().on('Tracing.dataCollected', (data) => {
251
- this.emit(browserLauncher_1.PageEvent.TracingComplete, data);
252
- });
253
- }
254
- }
255
- evaluateHandleInSecondaryWorld(code, ...args) {
256
- return this.mainFrame().evaluateHandleInSecondaryWorld(code, ...args);
257
- }
258
- evaluate(pageFunction, ...args) {
259
- return this.page.evaluate(pageFunction, ...args === null || args === void 0 ? void 0 : args.map((argument) => argument instanceof puppeteerJsHandle_1.PuppeteerJsHandle
260
- ? argument.getPuppeteerHandle()
261
- : argument));
262
- }
263
- async $eval(selector, pageFunction, arg) {
264
- const result = await this.page.$eval(selector, pageFunction, puppeteerJsHandle_1.PuppeteerJsHandle.unwrapProperties(arg));
265
- return result;
266
- }
267
- async $$eval(selector, pageFunction, arg) {
268
- const result = await this.page.$$eval(selector, pageFunction, puppeteerJsHandle_1.PuppeteerJsHandle.unwrapProperties(arg));
269
- return result;
270
- }
271
- evaluateCodeInSecondaryWorld(code, args) {
272
- return this.mainFrame().evaluateCodeInSecondaryWorld(code, args);
273
- }
274
- mainFrame() {
275
- return this.getOrCreateFrame(this.page.mainFrame());
276
- }
277
- exposeFunction(name, puppeteerFunction) {
278
- return this.page.exposeFunction(name, puppeteerFunction);
279
- }
280
- close() {
281
- return this.page.close();
282
- }
283
- url() {
284
- return this.page.url();
285
- }
286
- setExtraHTTPHeaders(headers) {
287
- return this.page.setExtraHTTPHeaders(headers);
288
- }
289
- async $(selector) {
290
- const handle = await this.page.$(selector);
291
- return utils_1.mapIfNotNull(handle, (handle) => new puppeteerElementHandle_1.PuppeteerElementHandle(handle, this));
292
- }
293
- async $$(selector) {
294
- return (await this.page.$$(selector)).map((element) => new puppeteerElementHandle_1.PuppeteerElementHandle(element, this));
295
- }
296
- async $x(xpathQuery) {
297
- return (await this.page.$x(xpathQuery)).map((element) => new puppeteerElementHandle_1.PuppeteerElementHandle(element, this));
298
- }
299
- static acceptDialogs(dialog) {
300
- return dialog.accept();
301
- }
302
- async waitForSelector(selector, options) {
303
- const handle = await this.page.waitForSelector(selector, puppeteerBrowserLauncher_1.convertWaitForOptions(options));
304
- return utils_1.mapIfNotNull(handle, (handle) => new puppeteerElementHandle_1.PuppeteerElementHandle(handle, this));
305
- }
306
- frames() {
307
- return this.page.frames().map((frame) => this.getOrCreateFrame(frame));
308
- }
309
- async getBrowserBounds() {
310
- const getWindowForTarget = await this.makeCdpCall('Browser.getWindowForTarget', { targetId: this.page.target()._targetId });
311
- return getWindowForTarget.bounds;
312
- }
313
- getPuppeteerPage() {
314
- return this.page;
315
- }
316
- opener() {
317
- return this.openerPage;
318
- }
319
- getOrCreateFrame(frame) {
320
- const frameId = frame._id;
321
- if (!this.puppeteerFrames.has(frameId)) {
322
- const newFrame = new puppeteerFrame_1.PuppeteerFrame(frame, this);
323
- this.puppeteerFrames.set(frameId, newFrame);
324
- }
325
- return this.puppeteerFrames.get(frameId);
326
- }
327
- getCdpClient() {
328
- return this.page._client;
329
- }
330
- }
331
- exports.PuppeteerPage = PuppeteerPage;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PuppeteerWrappedConsoleMessage = void 0;
4
- const puppeteerJsHandle_1 = require("../puppeteerBrowserLauncher/puppeteerJsHandle");
5
- class PuppeteerWrappedConsoleMessage {
6
- constructor(message, page) {
7
- this.message = message;
8
- this.page = page;
9
- }
10
- text() {
11
- return this.message.text();
12
- }
13
- args() {
14
- return this.message
15
- .args()
16
- .map((handle) => new puppeteerJsHandle_1.PuppeteerJsHandle(handle, this.page));
17
- }
18
- type() {
19
- return this.message.type();
20
- }
21
- stackTrace() {
22
- return this.message.stackTrace();
23
- }
24
- }
25
- exports.PuppeteerWrappedConsoleMessage = PuppeteerWrappedConsoleMessage;