@auxcode/auxta 1.3.130 → 1.3.132

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 (37) hide show
  1. package/package.json +1 -1
  2. package/build/AuxTA.d.ts +0 -60
  3. package/build/AuxTA.js +0 -168
  4. package/build/auxta/configs/config.d.ts +0 -63
  5. package/build/auxta/configs/config.js +0 -78
  6. package/build/auxta/enums/status-of.step.d.ts +0 -9
  7. package/build/auxta/enums/status-of.step.js +0 -13
  8. package/build/auxta/helpers/response.helper.d.ts +0 -9
  9. package/build/auxta/helpers/response.helper.js +0 -14
  10. package/build/auxta/helpers/start.helper.d.ts +0 -1
  11. package/build/auxta/helpers/start.helper.js +0 -26
  12. package/build/auxta/hooks/report.hook.d.ts +0 -13
  13. package/build/auxta/hooks/report.hook.js +0 -68
  14. package/build/auxta/models/upload.model.d.ts +0 -41
  15. package/build/auxta/models/upload.model.js +0 -96
  16. package/build/auxta/services/log.service.d.ts +0 -39
  17. package/build/auxta/services/log.service.js +0 -109
  18. package/build/auxta/services/report.service.d.ts +0 -41
  19. package/build/auxta/services/report.service.js +0 -269
  20. package/build/auxta/services/runtime.service.d.ts +0 -16
  21. package/build/auxta/services/runtime.service.js +0 -40
  22. package/build/auxta/utilities/runtime.helper.d.ts +0 -15
  23. package/build/auxta/utilities/runtime.helper.js +0 -19
  24. package/build/auxta/utilities/screenshot.helper.d.ts +0 -3
  25. package/build/auxta/utilities/screenshot.helper.js +0 -100
  26. package/build/auxta/utilities/start-suite.helper.d.ts +0 -17
  27. package/build/auxta/utilities/start-suite.helper.js +0 -30
  28. package/build/macros/helpers/Aux2faAuth.d.ts +0 -7
  29. package/build/macros/helpers/Aux2faAuth.js +0 -29
  30. package/build/macros/helpers/code.helper.d.ts +0 -34
  31. package/build/macros/helpers/code.helper.js +0 -352
  32. package/build/macros/helpers/emailHelper.d.ts +0 -7
  33. package/build/macros/helpers/emailHelper.js +0 -54
  34. package/build/macros/helpers/extend-default-page.d.ts +0 -6
  35. package/build/macros/helpers/extend-default-page.js +0 -92
  36. package/build/puppeteer/puppeteer.d.ts +0 -35
  37. package/build/puppeteer/puppeteer.js +0 -339
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.startSuite = startSuite;
13
- exports.retrySuite = retrySuite;
14
- function startSuite(suites, reportId) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- if (suites.length === 0)
17
- return {};
18
- const next = suites.shift();
19
- return { nextSuites: suites, reportId: reportId, currentSuite: next, retries: "0" };
20
- });
21
- }
22
- function retrySuite(suites, reportId, currentSuite, retries) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- console.log('I repeat again the current suite: ' + currentSuite);
25
- if (retries >= 2) {
26
- return false;
27
- }
28
- return { nextSuites: suites, reportId: reportId, currentSuite: currentSuite, retries: retries };
29
- });
30
- }
@@ -1,7 +0,0 @@
1
- export declare class Aux2faAuth {
2
- authenticator(): any;
3
- verifyToken(token: string): boolean;
4
- private getSecret;
5
- }
6
- declare const _default: Aux2faAuth;
7
- export default _default;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Aux2faAuth = void 0;
4
- const twofactor = require("node-2fa");
5
- class Aux2faAuth {
6
- authenticator() {
7
- const aux2fe_secret = this.getSecret();
8
- return twofactor.generateToken(aux2fe_secret).token;
9
- }
10
- verifyToken(token) {
11
- const aux2fe_secret = this.getSecret();
12
- const result = twofactor.verifyToken(aux2fe_secret, token);
13
- if (result != null) {
14
- if (result.delta == 0) {
15
- return true;
16
- }
17
- }
18
- return false;
19
- }
20
- getSecret() {
21
- const aux2fe_secret = process.env.aux2fe_secret;
22
- if (!aux2fe_secret) {
23
- throw new Error('No 2fe secret set');
24
- }
25
- return aux2fe_secret;
26
- }
27
- }
28
- exports.Aux2faAuth = Aux2faAuth;
29
- exports.default = new Aux2faAuth();
@@ -1,34 +0,0 @@
1
- import { StatusOfStep } from "../../auxta/enums/status-of.step";
2
- import { ExtendDefaultPage } from "./extend-default-page";
3
- import { CDPSession } from "puppeteer";
4
- export declare class FunctionHelper extends ExtendDefaultPage {
5
- cdp: CDPSession | undefined;
6
- log(keyword: string, name: string, status: StatusOfStep, screenshot?: Uint8Array | Buffer): void;
7
- setTag(tag: string): void;
8
- clearTag(): void;
9
- callREST(method: string, url: string, headers?: object, body?: object): Promise<import("axios").AxiosResponse<any, object, {}, any>>;
10
- screenshot(page?: import("puppeteer-core").Page): Promise<Buffer<ArrayBufferLike> | undefined>;
11
- screenshotCompare(key: string, threshold?: number, page?: import("puppeteer-core").Page): Promise<void>;
12
- suggest(name: string): void;
13
- performanceFail(name: string, screenshot?: boolean, page?: import("puppeteer-core").Page): Promise<void>;
14
- clickByText(selector: string, text: string, dotOrText?: string, options?: {}, page?: import("puppeteer-core").Page, time?: number, log_message?: boolean): Promise<void>;
15
- clickByTextWithClass(class_selector: string, class_name: string, selector: string, text: string, dotOrText?: string, page?: import("puppeteer-core").Page): Promise<void>;
16
- waitForSelectorWithText(selector: string, text: string, dotOrText?: string, page?: import("puppeteer-core").Page): Promise<boolean>;
17
- timeout(timeout?: number): Promise<void>;
18
- waitForSelector(option: string, selector: string, time?: number, page?: import("puppeteer-core").Page, log_message?: boolean): Promise<void>;
19
- urlContains(selector: string, page?: import("puppeteer-core").Page): Promise<void>;
20
- forceState(selector: string, state: string, index?: number, page?: import("puppeteer-core").Page): Promise<void>;
21
- endForceState(): Promise<void>;
22
- pressEnter(page?: import("puppeteer-core").Page): Promise<void>;
23
- emulate(phone_name: string, page?: import("puppeteer-core").Page): Promise<void>;
24
- restartBrowser(): Promise<void>;
25
- clickAndWaitForPageToBeCreated(selector: string, page: import("puppeteer-core").Page | undefined, newPage: boolean): Promise<void>;
26
- waitForResponse(name: string, wait?: boolean, page?: import("puppeteer-core").Page): Promise<void>;
27
- closeLastPage(page?: import("puppeteer-core").Page): Promise<void>;
28
- microsoftLogin(button: string, email: string, password: string, page?: import("puppeteer-core").Page, newPage?: boolean, staySignIn?: boolean): Promise<void>;
29
- private failOnMicrosoftLoginError;
30
- private getEscapedText;
31
- callAPI(url: string, body: {}, token: string): Promise<import("axios").AxiosResponse<any, {}, {}, any>>;
32
- }
33
- declare const _default: FunctionHelper;
34
- export default _default;
@@ -1,352 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.FunctionHelper = void 0;
16
- const log_service_1 = __importDefault(require("../../auxta/services/log.service"));
17
- const puppeteer_1 = __importDefault(require("../../puppeteer/puppeteer"));
18
- const status_of_step_1 = require("../../auxta/enums/status-of.step");
19
- const AuxTA_1 = require("../../AuxTA");
20
- const extend_default_page_1 = require("./extend-default-page");
21
- const puppeteer_2 = require("puppeteer");
22
- const screenshot_helper_1 = require("../../auxta/utilities/screenshot.helper");
23
- const report_service_1 = require("../../auxta/services/report.service");
24
- const axios_1 = __importDefault(require("axios"));
25
- class FunctionHelper extends extend_default_page_1.ExtendDefaultPage {
26
- log(keyword, name, status, screenshot = new Uint8Array()) {
27
- log_service_1.default.push(keyword, log_service_1.default.tag, name, status, screenshot);
28
- }
29
- setTag(tag) {
30
- log_service_1.default.tag = tag;
31
- }
32
- clearTag() {
33
- log_service_1.default.clearTag();
34
- }
35
- callREST(method, url, headers, body) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- const response = yield (0, axios_1.default)({
38
- method: method,
39
- url: url,
40
- headers: headers,
41
- data: body
42
- });
43
- return response;
44
- });
45
- }
46
- screenshot() {
47
- return __awaiter(this, arguments, void 0, function* (page = puppeteer_1.default.defaultPage) {
48
- const screenshotBuffer = yield (0, screenshot_helper_1.captureScreenshotPage)(page);
49
- if (screenshotBuffer) {
50
- return screenshotBuffer;
51
- }
52
- });
53
- }
54
- screenshotCompare(key_1) {
55
- return __awaiter(this, arguments, void 0, function* (key, threshold = 0.1, page = puppeteer_1.default.defaultPage) {
56
- if (process.env.ENVIRONMENT !== 'LOCAL') {
57
- const screenshotBuffer = yield (0, screenshot_helper_1.captureScreenshotPage)(page);
58
- if (screenshotBuffer) {
59
- const screenshot = screenshotBuffer;
60
- const result = yield (0, report_service_1.compareScreenshots)(key, screenshot);
61
- if (result.presentDifference && Number(result.presentDifference) > threshold) {
62
- log_service_1.default.push('Then', log_service_1.default.tag, `I compare screenshots with key ${key}, and difference is: ${result.presentDifference}%`, status_of_step_1.StatusOfStep.FAILED, screenshot, key);
63
- }
64
- else {
65
- log_service_1.default.push('Then', log_service_1.default.tag, `I compare screenshots with key ${key}`, status_of_step_1.StatusOfStep.PASSED, screenshot, key);
66
- }
67
- }
68
- }
69
- else {
70
- log_service_1.default.push('Then', log_service_1.default.tag, `I compare screenshots with key ${key}`, status_of_step_1.StatusOfStep.PASSED, undefined, key);
71
- }
72
- });
73
- }
74
- suggest(name) {
75
- log_service_1.default.addSuggestion(name);
76
- }
77
- performanceFail(name_1) {
78
- return __awaiter(this, arguments, void 0, function* (name, screenshot = true, page = puppeteer_1.default.defaultPage) {
79
- if (screenshot) {
80
- const screenshotBuffer = yield (0, screenshot_helper_1.captureScreenshotPage)(page);
81
- log_service_1.default.addPerformanceFail(name, screenshotBuffer);
82
- }
83
- else {
84
- log_service_1.default.addPerformanceFail(name);
85
- }
86
- });
87
- }
88
- clickByText(selector_1, text_1) {
89
- return __awaiter(this, arguments, void 0, function* (selector, text, dotOrText = '.', options = {}, page = puppeteer_1.default.defaultPage, time = this.defaultTimeout, log_message = true) {
90
- const message = `I clicked on the '${text}' '${selector}'`;
91
- try {
92
- const [linkHandlers] = yield page.$$(`xpath/.//${selector}[contains(${dotOrText},"${text}")]`);
93
- if (linkHandlers) {
94
- yield linkHandlers.click(options);
95
- log_service_1.default.push('Then', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.PASSED);
96
- }
97
- }
98
- catch (e) {
99
- if (log_message) {
100
- log_service_1.default.push('And', log_service_1.default.tag, `${message}, but it didn't appear in ${time / 1000} seconds.`, status_of_step_1.StatusOfStep.FAILED);
101
- }
102
- throw new Error(message);
103
- }
104
- if (log_message) {
105
- log_service_1.default.push('And', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.PASSED);
106
- }
107
- });
108
- }
109
- clickByTextWithClass(class_selector_1, class_name_1, selector_1, text_1) {
110
- return __awaiter(this, arguments, void 0, function* (class_selector, class_name, selector, text, dotOrText = '.', page = puppeteer_1.default.defaultPage) {
111
- const message = `I click on the '${text}' '${selector}'`;
112
- try {
113
- const [linkHandlers] = yield page.$$(`xpath/.//${class_selector}[contains(@class,${this.getEscapedText(class_name)})]//${selector}[contains(${dotOrText},"${text}")]`);
114
- if (linkHandlers) {
115
- yield linkHandlers.click();
116
- log_service_1.default.push('Then', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.PASSED);
117
- return;
118
- }
119
- }
120
- catch (e) {
121
- }
122
- log_service_1.default.push('Then', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.FAILED);
123
- throw new Error(message);
124
- });
125
- }
126
- waitForSelectorWithText(selector_1, text_1) {
127
- return __awaiter(this, arguments, void 0, function* (selector, text, dotOrText = '.', page = puppeteer_1.default.defaultPage) {
128
- const message = `I check for '${text}' on the current page`;
129
- try {
130
- yield page.waitForSelector(selector, {
131
- timeout: this.defaultTimeout
132
- });
133
- const linkHandlers = yield page.$$(`xpath/.//${selector}[contains(${dotOrText},"${text}")]`);
134
- if (linkHandlers.length > 0) {
135
- log_service_1.default.push('And', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.PASSED);
136
- return true;
137
- }
138
- }
139
- catch (e) {
140
- }
141
- log_service_1.default.push('And', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.FAILED);
142
- throw new Error(message);
143
- });
144
- }
145
- timeout() {
146
- return __awaiter(this, arguments, void 0, function* (timeout = this.defaultTimeout) {
147
- yield new Promise(r => setTimeout(r, timeout));
148
- });
149
- }
150
- waitForSelector(option_1, selector_1) {
151
- return __awaiter(this, arguments, void 0, function* (option, selector, time = this.defaultTimeout, page = puppeteer_1.default.defaultPage, log_message = true) {
152
- const message = `I checked for the '${selector}' element to be ${option}`;
153
- try {
154
- yield page.waitForSelector(selector, {
155
- [option]: true,
156
- timeout: time
157
- });
158
- }
159
- catch (e) {
160
- if (log_message) {
161
- log_service_1.default.push('And', log_service_1.default.tag, `${message}, but it didn't appear in ${time / 1000} seconds.`, status_of_step_1.StatusOfStep.FAILED);
162
- }
163
- throw new Error(message);
164
- }
165
- if (log_message) {
166
- log_service_1.default.push('And', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.PASSED);
167
- }
168
- });
169
- }
170
- urlContains(selector_1) {
171
- return __awaiter(this, arguments, void 0, function* (selector, page = puppeteer_1.default.defaultPage) {
172
- const url = page.url();
173
- let message = `I am on the ${selector} page`;
174
- if (!url.includes(selector)) {
175
- log_service_1.default.push('And', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.FAILED);
176
- throw new Error(message);
177
- }
178
- log_service_1.default.push('And', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.PASSED);
179
- });
180
- }
181
- forceState(selector_1, state_1) {
182
- return __awaiter(this, arguments, void 0, function* (selector, state, index = 0, page = puppeteer_1.default.defaultPage) {
183
- this.cdp = yield page.target().createCDPSession();
184
- const docNodeId = (yield this.cdp.send('DOM.getDocument')).root.nodeId;
185
- const nodeIds = (yield this.cdp.send('DOM.querySelectorAll', {
186
- nodeId: docNodeId,
187
- selector: selector,
188
- })).nodeIds;
189
- yield this.cdp.send('CSS.enable');
190
- yield this.cdp.send('CSS.forcePseudoState', {
191
- nodeId: nodeIds[index],
192
- forcedPseudoClasses: [state],
193
- });
194
- });
195
- }
196
- endForceState() {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- var _a;
199
- (_a = this.cdp) === null || _a === void 0 ? void 0 : _a.detach();
200
- });
201
- }
202
- pressEnter() {
203
- return __awaiter(this, arguments, void 0, function* (page = puppeteer_1.default.defaultPage) {
204
- yield page.keyboard.press('Enter');
205
- });
206
- }
207
- emulate(phone_name_1) {
208
- return __awaiter(this, arguments, void 0, function* (phone_name, page = puppeteer_1.default.defaultPage) {
209
- const phone = puppeteer_2.KnownDevices[phone_name];
210
- yield page.emulate(phone);
211
- });
212
- }
213
- restartBrowser() {
214
- return __awaiter(this, void 0, void 0, function* () {
215
- yield puppeteer_1.default.close();
216
- yield puppeteer_1.default.startBrowser();
217
- });
218
- }
219
- clickAndWaitForPageToBeCreated(selector_1) {
220
- return __awaiter(this, arguments, void 0, function* (selector, page = puppeteer_1.default.defaultPage, newPage) {
221
- if (newPage) {
222
- const nav = new Promise(res => page.browser().on('targetcreated', res));
223
- yield page.click(selector);
224
- yield nav;
225
- }
226
- else {
227
- yield page.click(selector);
228
- }
229
- });
230
- }
231
- waitForResponse(name_1) {
232
- return __awaiter(this, arguments, void 0, function* (name, wait = true, page = puppeteer_1.default.defaultPage) {
233
- if (wait) {
234
- yield page.waitForResponse(response => response.url().includes(name));
235
- this.log('Then', `I wait for response with name: ${name}`, status_of_step_1.StatusOfStep.PASSED);
236
- }
237
- });
238
- }
239
- closeLastPage() {
240
- return __awaiter(this, arguments, void 0, function* (page = puppeteer_1.default.defaultPage) {
241
- const pages = yield page.browser().pages();
242
- yield pages[pages.length - 1].close();
243
- });
244
- }
245
- microsoftLogin(button_1, email_1, password_1) {
246
- return __awaiter(this, arguments, void 0, function* (button, email, password, page = puppeteer_1.default.defaultPage, newPage = true, staySignIn = true) {
247
- const email_input = 'input[type="email"]';
248
- const password_input = 'input[type="password"]:not([aria-hidden="true"])';
249
- const account_type_tile = 'div.table';
250
- const stay_signed_in_checkbox = 'input[name="DontShowAgain"]';
251
- const login_error = '#usernameError, #passwordError';
252
- yield this.clickAndWaitForPageToBeCreated(button, page, newPage);
253
- const pages = yield page.browser().pages();
254
- const loginPage = pages[pages.length - 1];
255
- yield this.extend_page_functions(loginPage);
256
- yield this.waitForSelector('visible', email_input, this.defaultTimeout, loginPage);
257
- yield loginPage.type(email_input, email, { delay: 0 });
258
- yield loginPage.keyboard.press('Enter');
259
- try {
260
- yield loginPage.waitForSelector(`${password_input}, ${account_type_tile}, ${login_error}`, {
261
- visible: true,
262
- timeout: this.defaultTimeout
263
- });
264
- }
265
- catch (e) {
266
- this.log('Then', `I wait for the password step of the microsoft login`, AuxTA_1.StepStatus.FAILED);
267
- throw new Error(`I wait for the password step of the microsoft login`);
268
- }
269
- yield this.failOnMicrosoftLoginError(loginPage, login_error);
270
- const accountTypeTile = yield loginPage.$(account_type_tile);
271
- if (accountTypeTile && (yield accountTypeTile.isVisible())) {
272
- yield accountTypeTile.click();
273
- this.log('Then', 'I click on the Work or school account', AuxTA_1.StepStatus.PASSED);
274
- }
275
- try {
276
- const passwordField = yield loginPage.waitForSelector(password_input, {
277
- visible: true,
278
- timeout: this.defaultTimeout
279
- });
280
- yield passwordField.type(password, { delay: 0 });
281
- const typedLength = yield passwordField.evaluate((e) => e.value.length);
282
- if (typedLength !== password.length) {
283
- throw new Error(`Typed ${typedLength} of ${password.length} password characters`);
284
- }
285
- this.log('Then', `I type password into the ${password_input}`, AuxTA_1.StepStatus.PASSED);
286
- }
287
- catch (e) {
288
- this.log('Then', `I type password into the ${password_input}`, AuxTA_1.StepStatus.FAILED);
289
- throw new Error(`I type password into the ${password_input}`);
290
- }
291
- yield loginPage.keyboard.press('Enter');
292
- if (staySignIn) {
293
- let outcome;
294
- try {
295
- const handle = yield loginPage.waitForFunction((checkbox, error) => {
296
- const errorElement = document.querySelector(error);
297
- if (errorElement && errorElement.offsetParent !== null)
298
- return 'error';
299
- if (document.querySelector(checkbox))
300
- return 'prompt';
301
- if (!/(^|\.)(login\.microsoftonline\.com|login\.live\.com)$/.test(location.hostname))
302
- return 'redirected';
303
- return false;
304
- }, { timeout: this.defaultTimeout, polling: 500 }, stay_signed_in_checkbox, login_error);
305
- outcome = (yield handle.jsonValue());
306
- }
307
- catch (e) {
308
- this.log('Then', `I wait for the Stay signed in prompt of the microsoft login`, AuxTA_1.StepStatus.FAILED);
309
- throw new Error(`I wait for the Stay signed in prompt of the microsoft login`);
310
- }
311
- if (outcome === 'error') {
312
- yield this.failOnMicrosoftLoginError(loginPage, login_error);
313
- }
314
- else if (outcome === 'prompt') {
315
- yield this.waitForSelector('visible', stay_signed_in_checkbox, this.defaultTimeout, loginPage, false);
316
- yield loginPage.keyboard.press('Enter');
317
- this.log('Then', `I confirm the Stay signed in prompt`, AuxTA_1.StepStatus.PASSED);
318
- }
319
- else {
320
- this.log('Then', `The Stay signed in prompt was not shown`, AuxTA_1.StepStatus.PASSED);
321
- }
322
- }
323
- });
324
- }
325
- failOnMicrosoftLoginError(loginPage, login_error) {
326
- return __awaiter(this, void 0, void 0, function* () {
327
- const errorElement = yield loginPage.$(login_error);
328
- if (errorElement && (yield errorElement.isVisible())) {
329
- const errorText = yield errorElement.evaluate((e) => { var _a; return (_a = e.textContent) === null || _a === void 0 ? void 0 : _a.trim(); });
330
- const message = `The microsoft login shows an error: ${errorText}`;
331
- this.log('Then', message, AuxTA_1.StepStatus.FAILED);
332
- throw new Error(message);
333
- }
334
- });
335
- }
336
- getEscapedText(text) {
337
- const splitedQuotes = text.replace(/'/g, `', "'", '`);
338
- return `concat('${splitedQuotes}', '')`;
339
- }
340
- callAPI(url, body, token) {
341
- return __awaiter(this, void 0, void 0, function* () {
342
- return yield axios_1.default.post(url, body, {
343
- headers: {
344
- 'Content-Type': 'application/json',
345
- 'Authorization': `Bearer ${token}`
346
- }
347
- });
348
- });
349
- }
350
- }
351
- exports.FunctionHelper = FunctionHelper;
352
- exports.default = new FunctionHelper();
@@ -1,7 +0,0 @@
1
- export declare class EmailHelper {
2
- verifyEmail(from_name: string, from_email: string, subject: string, body: string, link?: boolean): Promise<{
3
- link: any;
4
- } | undefined>;
5
- }
6
- declare const _default: EmailHelper;
7
- export default _default;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.EmailHelper = void 0;
16
- const log_service_1 = __importDefault(require("../../auxta/services/log.service"));
17
- const AuxTA_1 = require("../../AuxTA");
18
- const report_service_1 = require("../../auxta/services/report.service");
19
- class EmailHelper {
20
- verifyEmail(from_name_1, from_email_1, subject_1, body_1) {
21
- return __awaiter(this, arguments, void 0, function* (from_name, from_email, subject, body, link = false) {
22
- try {
23
- log_service_1.default.push('Then', log_service_1.default.tag, `waiting 35 seconds`, AuxTA_1.StepStatus.PASSED);
24
- yield new Promise(r => setTimeout(r, 35000));
25
- let timeoutCount = 12000;
26
- while (timeoutCount <= 60000) {
27
- try {
28
- const links = yield (0, report_service_1.getVerifyReceivedEmail)(from_name, from_email, subject, body, link);
29
- log_service_1.default.push('Then', log_service_1.default.tag, `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, AuxTA_1.StepStatus.PASSED);
30
- if (links) {
31
- return {
32
- link: links.data.link
33
- };
34
- }
35
- else {
36
- return;
37
- }
38
- }
39
- catch (e) {
40
- }
41
- log_service_1.default.push('Then', log_service_1.default.tag, `Failed two get the email with the given criteria and waiting 12 seconds`, AuxTA_1.StepStatus.PASSED);
42
- yield new Promise(r => setTimeout(r, timeoutCount));
43
- timeoutCount += 12000;
44
- }
45
- yield log_service_1.default.push('Then', log_service_1.default.tag, `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, AuxTA_1.StepStatus.FAILED);
46
- }
47
- catch (e) {
48
- throw new Error(e);
49
- }
50
- });
51
- }
52
- }
53
- exports.EmailHelper = EmailHelper;
54
- exports.default = new EmailHelper();
@@ -1,6 +0,0 @@
1
- export declare class ExtendDefaultPage {
2
- defaultTimeout: number;
3
- extend_page_functions(page: any, time?: number): Promise<any>;
4
- }
5
- declare const _default: ExtendDefaultPage;
6
- export default _default;
@@ -1,92 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ExtendDefaultPage = void 0;
16
- const log_service_1 = __importDefault(require("../../auxta/services/log.service"));
17
- const status_of_step_1 = require("../../auxta/enums/status-of.step");
18
- const config_1 = require("../../auxta/configs/config");
19
- class ExtendDefaultPage {
20
- constructor() {
21
- this.defaultTimeout = config_1.config.timeout;
22
- }
23
- extend_page_functions(page_1) {
24
- return __awaiter(this, arguments, void 0, function* (page, time = this.defaultTimeout) {
25
- this.defaultTimeout = config_1.config.timeout;
26
- const { goto: original_goto, click: original_click, type: original_type, waitForNetworkIdle: original_waitForNetworkIdle } = page;
27
- page.goto = function goto(url, options) {
28
- log_service_1.default.push('Then', log_service_1.default.tag, `I go to the '${url}' page`, status_of_step_1.StatusOfStep.PASSED);
29
- return original_goto.apply(page, arguments);
30
- };
31
- page.click = function click(selector, options) {
32
- var arguments_1 = arguments;
33
- return __awaiter(this, void 0, void 0, function* () {
34
- try {
35
- yield page.waitForSelector(selector, {
36
- timeout: time
37
- });
38
- let elementName = yield page.$eval(selector, (e) => e.textContent);
39
- if (!elementName || elementName === ' ')
40
- elementName = selector;
41
- yield original_click.apply(page, arguments_1);
42
- log_service_1.default.push('Then', log_service_1.default.tag, `I click on the '${elementName}'`, status_of_step_1.StatusOfStep.PASSED);
43
- }
44
- catch (e) {
45
- const msg = `I click on the '${selector}'`;
46
- log_service_1.default.push('Then', log_service_1.default.tag, msg, status_of_step_1.StatusOfStep.FAILED);
47
- throw new Error(msg);
48
- }
49
- });
50
- };
51
- page.waitForNetworkIdle = function waitForNetworkIdle(selector, option) {
52
- var arguments_2 = arguments;
53
- return __awaiter(this, void 0, void 0, function* () {
54
- let message = 'I wait for the page to load';
55
- let result;
56
- try {
57
- result = yield original_waitForNetworkIdle.apply(page, arguments_2);
58
- log_service_1.default.push('Then', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.PASSED);
59
- }
60
- catch (e) {
61
- log_service_1.default.push('Then', log_service_1.default.tag, message, status_of_step_1.StatusOfStep.FAILED);
62
- throw new Error(message);
63
- }
64
- return result;
65
- });
66
- };
67
- page.type = function type(field, value) {
68
- var arguments_3 = arguments;
69
- return __awaiter(this, void 0, void 0, function* () {
70
- try {
71
- yield page.waitForSelector(field, {
72
- timeout: time
73
- });
74
- yield original_type.apply(page, arguments_3);
75
- let elementName = yield page.$eval(field, (e) => e.textContent);
76
- if (!elementName || elementName === ' ')
77
- elementName = field;
78
- log_service_1.default.push('Then', log_service_1.default.tag, `I type '${value}' into the '${elementName}' field`, status_of_step_1.StatusOfStep.PASSED);
79
- }
80
- catch (e) {
81
- const msg = `I type '${value}' into the '${field}' field`;
82
- log_service_1.default.push('Then', log_service_1.default.tag, msg, status_of_step_1.StatusOfStep.FAILED);
83
- throw new Error(msg);
84
- }
85
- });
86
- };
87
- return page;
88
- });
89
- }
90
- }
91
- exports.ExtendDefaultPage = ExtendDefaultPage;
92
- exports.default = new ExtendDefaultPage();
@@ -1,35 +0,0 @@
1
- import { UploadModel } from "../auxta/models/upload.model";
2
- import puppeteer = require("puppeteer");
3
- export declare class Puppeteer {
4
- private attachListenersToAllTabs;
5
- getTabLogs(): {
6
- [k: number]: {
7
- console: string[];
8
- https: string[];
9
- debug: any[];
10
- url?: string;
11
- };
12
- };
13
- defaultPage: puppeteer.Page;
14
- private browser;
15
- private _tabLogs;
16
- private static setupHeader;
17
- startBrowser(): Promise<void>;
18
- close(): Promise<void>;
19
- private initiateBrowser;
20
- private logFail;
21
- run(event: any, callback: any, featureName?: string, scenarioName?: string, uploadModel?: UploadModel): Promise<{
22
- nextSuites?: undefined;
23
- reportId?: undefined;
24
- currentSuite?: undefined;
25
- retries?: undefined;
26
- } | {
27
- nextSuites: string[];
28
- reportId: string | undefined;
29
- currentSuite: string | undefined;
30
- retries: string;
31
- } | undefined>;
32
- runRPA(event: any, callback: any, uploadModel?: UploadModel, close?: boolean): Promise<any>;
33
- }
34
- declare const _default: Puppeteer;
35
- export default _default;