@auxcode/auxta 1.3.52-beta.0 → 1.3.52-beta.1

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 (79) hide show
  1. package/build/esm/AuxTA.d.ts +62 -0
  2. package/build/esm/AuxTA.js +125 -0
  3. package/build/esm/auxta/configs/config.d.ts +57 -0
  4. package/build/esm/auxta/configs/config.js +64 -0
  5. package/build/esm/auxta/enums/status-of.step.d.ts +7 -0
  6. package/build/esm/auxta/enums/status-of.step.js +8 -0
  7. package/build/esm/auxta/helpers/response.helper.d.ts +10 -0
  8. package/build/esm/auxta/helpers/response.helper.js +11 -0
  9. package/build/esm/auxta/helpers/start.helper.d.ts +1 -0
  10. package/build/esm/auxta/helpers/start.helper.js +24 -0
  11. package/build/esm/auxta/hooks/report.hook.d.ts +14 -0
  12. package/build/esm/auxta/hooks/report.hook.js +59 -0
  13. package/build/esm/auxta/models/upload.model.d.ts +35 -0
  14. package/build/esm/auxta/models/upload.model.js +78 -0
  15. package/build/esm/auxta/services/log.service.d.ts +31 -0
  16. package/build/esm/auxta/services/log.service.js +57 -0
  17. package/build/esm/auxta/services/report.service.d.ts +31 -0
  18. package/build/esm/auxta/services/report.service.js +168 -0
  19. package/build/esm/auxta/services/runtime.service.d.ts +16 -0
  20. package/build/esm/auxta/services/runtime.service.js +37 -0
  21. package/build/esm/auxta/utilities/runtime.helper.d.ts +15 -0
  22. package/build/esm/auxta/utilities/runtime.helper.js +15 -0
  23. package/build/esm/auxta/utilities/screenshot.helper.d.ts +4 -0
  24. package/build/esm/auxta/utilities/screenshot.helper.js +51 -0
  25. package/build/esm/auxta/utilities/start-suite.helper.d.ts +17 -0
  26. package/build/esm/auxta/utilities/start-suite.helper.js +26 -0
  27. package/build/esm/macros/helpers/Aux2faAuth.d.ts +7 -0
  28. package/build/esm/macros/helpers/Aux2faAuth.js +25 -0
  29. package/build/esm/macros/helpers/AuxGoogleAuth.d.ts +22 -0
  30. package/build/esm/macros/helpers/AuxGoogleAuth.js +190 -0
  31. package/build/esm/macros/helpers/code.helper.d.ts +23 -0
  32. package/build/esm/macros/helpers/code.helper.js +218 -0
  33. package/build/esm/macros/helpers/emailHelper.d.ts +19 -0
  34. package/build/esm/macros/helpers/emailHelper.js +170 -0
  35. package/build/esm/macros/helpers/extend-default-page.d.ts +6 -0
  36. package/build/esm/macros/helpers/extend-default-page.js +82 -0
  37. package/build/esm/puppeteer/puppeteer.d.ts +25 -0
  38. package/build/esm/puppeteer/puppeteer.js +203 -0
  39. package/build/tsconfig-cjs.tsbuildinfo +1 -0
  40. package/build/tsconfig.tsbuildinfo +1 -0
  41. package/package.json +5 -5
  42. /package/build/{AuxTA.d.ts → cjs/AuxTA.d.ts} +0 -0
  43. /package/build/{AuxTA.js → cjs/AuxTA.js} +0 -0
  44. /package/build/{auxta → cjs/auxta}/configs/config.d.ts +0 -0
  45. /package/build/{auxta → cjs/auxta}/configs/config.js +0 -0
  46. /package/build/{auxta → cjs/auxta}/enums/status-of.step.d.ts +0 -0
  47. /package/build/{auxta → cjs/auxta}/enums/status-of.step.js +0 -0
  48. /package/build/{auxta → cjs/auxta}/helpers/response.helper.d.ts +0 -0
  49. /package/build/{auxta → cjs/auxta}/helpers/response.helper.js +0 -0
  50. /package/build/{auxta → cjs/auxta}/helpers/start.helper.d.ts +0 -0
  51. /package/build/{auxta → cjs/auxta}/helpers/start.helper.js +0 -0
  52. /package/build/{auxta → cjs/auxta}/hooks/report.hook.d.ts +0 -0
  53. /package/build/{auxta → cjs/auxta}/hooks/report.hook.js +0 -0
  54. /package/build/{auxta → cjs/auxta}/models/upload.model.d.ts +0 -0
  55. /package/build/{auxta → cjs/auxta}/models/upload.model.js +0 -0
  56. /package/build/{auxta → cjs/auxta}/services/log.service.d.ts +0 -0
  57. /package/build/{auxta → cjs/auxta}/services/log.service.js +0 -0
  58. /package/build/{auxta → cjs/auxta}/services/report.service.d.ts +0 -0
  59. /package/build/{auxta → cjs/auxta}/services/report.service.js +0 -0
  60. /package/build/{auxta → cjs/auxta}/services/runtime.service.d.ts +0 -0
  61. /package/build/{auxta → cjs/auxta}/services/runtime.service.js +0 -0
  62. /package/build/{auxta → cjs/auxta}/utilities/runtime.helper.d.ts +0 -0
  63. /package/build/{auxta → cjs/auxta}/utilities/runtime.helper.js +0 -0
  64. /package/build/{auxta → cjs/auxta}/utilities/screenshot.helper.d.ts +0 -0
  65. /package/build/{auxta → cjs/auxta}/utilities/screenshot.helper.js +0 -0
  66. /package/build/{auxta → cjs/auxta}/utilities/start-suite.helper.d.ts +0 -0
  67. /package/build/{auxta → cjs/auxta}/utilities/start-suite.helper.js +0 -0
  68. /package/build/{macros → cjs/macros}/helpers/Aux2faAuth.d.ts +0 -0
  69. /package/build/{macros → cjs/macros}/helpers/Aux2faAuth.js +0 -0
  70. /package/build/{macros → cjs/macros}/helpers/AuxGoogleAuth.d.ts +0 -0
  71. /package/build/{macros → cjs/macros}/helpers/AuxGoogleAuth.js +0 -0
  72. /package/build/{macros → cjs/macros}/helpers/code.helper.d.ts +0 -0
  73. /package/build/{macros → cjs/macros}/helpers/code.helper.js +0 -0
  74. /package/build/{macros → cjs/macros}/helpers/emailHelper.d.ts +0 -0
  75. /package/build/{macros → cjs/macros}/helpers/emailHelper.js +0 -0
  76. /package/build/{macros → cjs/macros}/helpers/extend-default-page.d.ts +0 -0
  77. /package/build/{macros → cjs/macros}/helpers/extend-default-page.js +0 -0
  78. /package/build/{puppeteer → cjs/puppeteer}/puppeteer.d.ts +0 -0
  79. /package/build/{puppeteer → cjs/puppeteer}/puppeteer.js +0 -0
@@ -0,0 +1,203 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import log from "../auxta/services/log.service";
11
+ import { captureScreenshot } from "../auxta/utilities/screenshot.helper";
12
+ import { onTestEnd } from "../auxta/hooks/report.hook";
13
+ import auxta from "../AuxTA";
14
+ import { StatusOfStep } from "../auxta/enums/status-of.step";
15
+ import { config } from "../auxta/configs/config";
16
+ import { retrySuite } from "../auxta/utilities/start-suite.helper";
17
+ import { postNotificationsOnFail } from "../auxta/services/report.service";
18
+ export class Puppeteer {
19
+ startBrowser() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ let args = [];
22
+ let env = {};
23
+ if (process.env.ENVIRONMENT === 'LOCAL') {
24
+ args.push('--start-maximized');
25
+ }
26
+ if (process.env.ENVIRONMENT != 'LOCAL') {
27
+ args.push(`--window-size=${config.screenWidth ? config.screenWidth : 1920},${config.screenHeight ? config.screenHeight : 1080}`);
28
+ args.push("--no-sandbox", "--disable-setuid-sandbox", "--disable-gpu");
29
+ env = {
30
+ DISPLAY: ":10.0"
31
+ };
32
+ }
33
+ this.browser = yield puppeteer.default.launch({
34
+ slowMo: process.env.slowMo ? Number(process.env.slowMo) : 0,
35
+ executablePath: puppeteer.default.executablePath(),
36
+ args,
37
+ env,
38
+ ignoreDefaultArgs: ["--enable-automation"],
39
+ defaultViewport: process.env.ENVIRONMENT === 'LOCAL' ? null : {
40
+ width: config.screenWidth,
41
+ height: config.screenHeight
42
+ },
43
+ headless: process.env.ENVIRONMENT === 'LOCAL' ? (process.env.headless === 'true' ? 'new' : false) : 'new'
44
+ });
45
+ this.defaultPage = (yield this.browser.pages())[0];
46
+ yield auxta.extend_page_functions(this.defaultPage);
47
+ yield this.defaultPage.goto(config.baseURL, { waitUntil: 'networkidle0' });
48
+ yield this.defaultPage.waitForNetworkIdle();
49
+ });
50
+ }
51
+ close() {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ if (this.browser) {
54
+ let pages = yield this.browser.pages();
55
+ yield Promise.all(pages.map((page) => page.close()));
56
+ yield this.browser.close();
57
+ }
58
+ });
59
+ }
60
+ run(event, callback, featureName = 'Test feature', scenarioName = 'Test scenario', uploadModel) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ let close;
63
+ try {
64
+ if (uploadModel === undefined) {
65
+ uploadModel = auxta.getUploadModel();
66
+ uploadModel.featureName = featureName;
67
+ uploadModel.scenarioName = scenarioName;
68
+ }
69
+ if (event.close === undefined)
70
+ close = Puppeteer.setupHeader(event, uploadModel);
71
+ let screenshotBuffer;
72
+ let errMessage;
73
+ let statusCode = 200;
74
+ let consoleMessage = [];
75
+ let httpsMessage = [];
76
+ try {
77
+ log.push('When', `Starting puppeteer process`, StatusOfStep.PASSED);
78
+ yield this.startBrowser();
79
+ this.defaultPage.on('console', (message) => consoleMessage.push(`${message.type().substr(0, 3).toUpperCase()} ${message.text()}`))
80
+ .on('pageerror', ({ message }) => consoleMessage.push(message))
81
+ .on('response', (response) => httpsMessage.push(`${response.status()} ${response.url()}`))
82
+ .on('requestfailed', (request) => { var _a; return httpsMessage.push(`${request.failure() !== null ? (_a = request.failure()) === null || _a === void 0 ? void 0 : _a.errorText : ""} ${request.url()}`); });
83
+ yield callback(event);
84
+ log.push('When', `Finished puppeteer process`, StatusOfStep.PASSED);
85
+ }
86
+ catch (err) {
87
+ console.log("Error message: \n", err);
88
+ let browser_start_retry = err.toString().includes("Failed to launch the browser process!");
89
+ const pages = yield this.defaultPage.browser().pages();
90
+ consoleMessage.push('pages');
91
+ consoleMessage.push(pages.length);
92
+ if (browser_start_retry) {
93
+ const result = yield retrySuite(uploadModel.nextSuites, uploadModel.reportId, uploadModel.currentSuite, uploadModel.retries);
94
+ if (!result) {
95
+ return yield onTestEnd(uploadModel, featureName, scenarioName, statusCode, screenshotBuffer, !errMessage ? undefined : {
96
+ currentPageUrl: 'undefined',
97
+ console: consoleMessage,
98
+ https: httpsMessage,
99
+ error: 'Browser did not open'
100
+ });
101
+ }
102
+ return { statusCode: 204 };
103
+ }
104
+ errMessage = err;
105
+ statusCode = 500;
106
+ screenshotBuffer = yield captureScreenshot();
107
+ log.push('When', `Finished puppeteer process`, StatusOfStep.FAILED);
108
+ yield postNotificationsOnFail(uploadModel);
109
+ }
110
+ let url = this.defaultPage.url();
111
+ if (close)
112
+ yield this.close();
113
+ return yield onTestEnd(uploadModel, featureName, scenarioName, statusCode, screenshotBuffer, !errMessage ? undefined : {
114
+ currentPageUrl: url,
115
+ console: consoleMessage,
116
+ https: httpsMessage,
117
+ error: errMessage
118
+ });
119
+ }
120
+ catch (e) {
121
+ console.log("Lib error:", e);
122
+ }
123
+ finally {
124
+ log.clear();
125
+ }
126
+ });
127
+ }
128
+ runRPA(event, callback, uploadModel, close) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ let errMessage;
131
+ try {
132
+ if (uploadModel === undefined)
133
+ uploadModel = auxta.getUploadModel();
134
+ if (close === undefined) {
135
+ try {
136
+ if (event.close) {
137
+ close = event.close === "true";
138
+ }
139
+ else {
140
+ close = true;
141
+ }
142
+ if (event.retries) {
143
+ uploadModel.retries = Number(event.retries);
144
+ }
145
+ }
146
+ catch (e) {
147
+ close = true;
148
+ }
149
+ }
150
+ let consoleStack = [];
151
+ try {
152
+ yield log.push('When', `Starting puppeteer process`, StatusOfStep.PASSED);
153
+ yield this.startBrowser();
154
+ this.defaultPage.on('console', (message) => consoleStack.push(`${message.type().substr(0, 3).toUpperCase()} ${message.text()}`))
155
+ .on('pageerror', ({ message }) => consoleStack.push(message))
156
+ .on('response', (response) => consoleStack.push(`${response.status()} ${response.url()}`))
157
+ .on('requestfailed', (request) => { var _a; return consoleStack.push(`${request.failure() !== null ? (_a = request.failure()) === null || _a === void 0 ? void 0 : _a.errorText : ""} ${request.url()}`); });
158
+ yield callback(event);
159
+ log.push('When', `Finished puppeteer process`, StatusOfStep.PASSED);
160
+ }
161
+ catch (err) {
162
+ console.log("Error message: \n", err);
163
+ let browser_start_retry = err.toString().includes("Failed to launch the browser process!");
164
+ if (browser_start_retry) {
165
+ yield retrySuite([], '', uploadModel.currentSuite, uploadModel.retries);
166
+ return { statusCode: 204 };
167
+ }
168
+ errMessage = err;
169
+ log.push('When', `Finished puppeteer process`, StatusOfStep.FAILED);
170
+ return errMessage;
171
+ }
172
+ if (close)
173
+ yield this.close();
174
+ }
175
+ catch (e) {
176
+ console.log("Lib error:", e);
177
+ }
178
+ finally {
179
+ log.clear();
180
+ }
181
+ return { statusCode: 200 };
182
+ });
183
+ }
184
+ static setupHeader(event, uploadModel) {
185
+ let close = true;
186
+ if (process.env.ENVIRONMENT !== 'LOCAL' && event) {
187
+ uploadModel.reportId = event.reportId;
188
+ uploadModel.nextSuites = event.nextSuites;
189
+ uploadModel.currentSuite = event.currentSuite;
190
+ uploadModel.retries = Number(event.retries);
191
+ }
192
+ try {
193
+ if (event.close) {
194
+ close = event.close === "true";
195
+ }
196
+ return close;
197
+ }
198
+ catch (e) {
199
+ return true;
200
+ }
201
+ }
202
+ }
203
+ export default new Puppeteer();