@auxcode/auxta 1.3.40-beta.0 → 1.3.41

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.
@@ -5,6 +5,10 @@ export interface Step {
5
5
  result: {
6
6
  status: StatusOfStep;
7
7
  duration: number;
8
+ embedding?: {
9
+ data: string;
10
+ mime_type: string;
11
+ };
8
12
  };
9
13
  }
10
14
  export declare class LogSteps {
@@ -18,7 +22,7 @@ export declare class LogSteps {
18
22
  };
19
23
  addSuggestion(text: string): void;
20
24
  clear(): void;
21
- push(keyword: string, name: string, status: StatusOfStep): void;
25
+ push(keyword: string, name: string, status: StatusOfStep, screenshot?: string): void;
22
26
  returnScenarioReport(): Step[];
23
27
  getStatusCount(status: StatusOfStep): number;
24
28
  }
@@ -28,11 +28,24 @@ class LogSteps {
28
28
  [status_of_step_1.StatusOfStep.SUGGESTION]: 0,
29
29
  };
30
30
  }
31
- push(keyword, name, status) {
31
+ push(keyword, name, status, screenshot = '') {
32
32
  console.log(`System log -- status: ${status} -- : ${name} `);
33
33
  this.statusCounter[status]++;
34
34
  const currentStep = new Date().getTime();
35
- this.stepLog.push({ keyword, name, result: { status, duration: currentStep - this.lastStepTime } });
35
+ if (screenshot != '') {
36
+ const embedding = {
37
+ data: screenshot,
38
+ mime_type: "image/png"
39
+ };
40
+ this.stepLog.push({
41
+ keyword,
42
+ name,
43
+ result: { status, duration: currentStep - this.lastStepTime, embedding: embedding }
44
+ });
45
+ }
46
+ else {
47
+ this.stepLog.push({ keyword, name, result: { status, duration: currentStep - this.lastStepTime } });
48
+ }
36
49
  this.lastStepTime = currentStep;
37
50
  }
38
51
  returnScenarioReport() {
@@ -1,7 +1,8 @@
1
1
  import { StatusOfStep } from "../../auxta/enums/status-of.step";
2
2
  import { ExtendDefaultPage } from "./extend-default-page";
3
3
  export declare class FunctionHelper extends ExtendDefaultPage {
4
- log(keyword: string, name: string, status: StatusOfStep): void;
4
+ log(keyword: string, name: string, status: StatusOfStep, screenshot?: string): void;
5
+ screenshot(): Promise<string | undefined>;
5
6
  suggest(name: string): void;
6
7
  private getEscapedText;
7
8
  clickByText(selector: string, text: string, dotOrText?: string, options?: {}, page?: import("puppeteer").Page, time?: number, log_message?: boolean): Promise<void>;
@@ -19,9 +19,18 @@ const status_of_step_1 = require("../../auxta/enums/status-of.step");
19
19
  const AuxTA_1 = require("../../AuxTA");
20
20
  const extend_default_page_1 = require("./extend-default-page");
21
21
  const puppeteer_2 = require("puppeteer");
22
+ const screenshot_helper_1 = require("../../auxta/utilities/screenshot.helper");
22
23
  class FunctionHelper extends extend_default_page_1.ExtendDefaultPage {
23
- log(keyword, name, status) {
24
- log_service_1.default.push(keyword, name, status);
24
+ log(keyword, name, status, screenshot) {
25
+ log_service_1.default.push(keyword, name, status, screenshot);
26
+ }
27
+ screenshot() {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ const screenshotBuffer = yield (0, screenshot_helper_1.captureScreenshot)();
30
+ if (screenshotBuffer) {
31
+ return screenshotBuffer.toString('base64');
32
+ }
33
+ });
25
34
  }
26
35
  suggest(name) {
27
36
  log_service_1.default.addSuggestion(name);
@@ -77,26 +77,31 @@ class Puppeteer {
77
77
  let screenshotBuffer;
78
78
  let errMessage;
79
79
  let statusCode = 200;
80
- let consoleStack = [];
80
+ let consoleMessage = [];
81
+ let httpsMessage = [];
81
82
  try {
82
- yield log_service_1.default.push('When', `Starting puppeteer process`, status_of_step_1.StatusOfStep.PASSED);
83
+ log_service_1.default.push('When', `Starting puppeteer process`, status_of_step_1.StatusOfStep.PASSED);
83
84
  yield this.startBrowser();
84
- this.defaultPage.on('console', (message) => consoleStack.push(`${message.type().substr(0, 3).toUpperCase()} ${message.text()}`))
85
- .on('pageerror', ({ message }) => consoleStack.push(message))
86
- .on('response', (response) => consoleStack.push(`${response.status()} ${response.url()}`))
87
- .on('requestfailed', (request) => { var _a; return consoleStack.push(`${request.failure() !== null ? (_a = request.failure()) === null || _a === void 0 ? void 0 : _a.errorText : ""} ${request.url()}`); });
85
+ this.defaultPage.on('console', (message) => consoleMessage.push(`${message.type().substr(0, 3).toUpperCase()} ${message.text()}`))
86
+ .on('pageerror', ({ message }) => consoleMessage.push(message))
87
+ .on('response', (response) => httpsMessage.push(`${response.status()} ${response.url()}`))
88
+ .on('requestfailed', (request) => { var _a; return httpsMessage.push(`${request.failure() !== null ? (_a = request.failure()) === null || _a === void 0 ? void 0 : _a.errorText : ""} ${request.url()}`); });
88
89
  yield callback(event);
89
90
  log_service_1.default.push('When', `Finished puppeteer process`, status_of_step_1.StatusOfStep.PASSED);
90
91
  }
91
92
  catch (err) {
92
93
  console.log("Error message: \n", err);
93
94
  let browser_start_retry = err.toString().includes("Failed to launch the browser process!");
95
+ const pages = yield this.defaultPage.browser().pages();
96
+ consoleMessage.push('pages');
97
+ consoleMessage.push(pages.length);
94
98
  if (browser_start_retry) {
95
99
  const result = yield (0, start_suite_helper_1.retrySuite)(uploadModel.nextSuites, uploadModel.reportId, uploadModel.currentSuite, uploadModel.retries);
96
100
  if (!result) {
97
101
  return yield (0, report_hook_1.onTestEnd)(uploadModel, featureName, scenarioName, statusCode, screenshotBuffer, !errMessage ? undefined : {
98
102
  currentPageUrl: 'undefined',
99
- console: consoleStack,
103
+ console: consoleMessage,
104
+ https: httpsMessage,
100
105
  error: 'Browser did not open'
101
106
  });
102
107
  }
@@ -105,11 +110,6 @@ class Puppeteer {
105
110
  errMessage = err;
106
111
  statusCode = 500;
107
112
  screenshotBuffer = yield (0, screenshot_helper_1.captureScreenshot)();
108
- const pages = yield this.defaultPage.browser().pages();
109
- consoleStack.push('pages');
110
- consoleStack.push(pages.length);
111
- consoleStack.push('screenshotBuffer');
112
- consoleStack.push(screenshotBuffer);
113
113
  log_service_1.default.push('When', `Finished puppeteer process`, status_of_step_1.StatusOfStep.FAILED);
114
114
  yield (0, report_service_1.postNotificationsOnFail)(uploadModel);
115
115
  }
@@ -118,7 +118,8 @@ class Puppeteer {
118
118
  yield this.close();
119
119
  return yield (0, report_hook_1.onTestEnd)(uploadModel, featureName, scenarioName, statusCode, screenshotBuffer, !errMessage ? undefined : {
120
120
  currentPageUrl: url,
121
- console: consoleStack,
121
+ console: consoleMessage,
122
+ https: httpsMessage,
122
123
  error: errMessage
123
124
  });
124
125
  }
@@ -5,6 +5,10 @@ export interface Step {
5
5
  result: {
6
6
  status: StatusOfStep;
7
7
  duration: number;
8
+ embedding?: {
9
+ data: string;
10
+ mime_type: string;
11
+ };
8
12
  };
9
13
  }
10
14
  export declare class LogSteps {
@@ -18,7 +22,7 @@ export declare class LogSteps {
18
22
  };
19
23
  addSuggestion(text: string): void;
20
24
  clear(): void;
21
- push(keyword: string, name: string, status: StatusOfStep): void;
25
+ push(keyword: string, name: string, status: StatusOfStep, screenshot?: string): void;
22
26
  returnScenarioReport(): Step[];
23
27
  getStatusCount(status: StatusOfStep): number;
24
28
  }
@@ -25,11 +25,24 @@ export class LogSteps {
25
25
  [StatusOfStep.SUGGESTION]: 0,
26
26
  };
27
27
  }
28
- push(keyword, name, status) {
28
+ push(keyword, name, status, screenshot = '') {
29
29
  console.log(`System log -- status: ${status} -- : ${name} `);
30
30
  this.statusCounter[status]++;
31
31
  const currentStep = new Date().getTime();
32
- this.stepLog.push({ keyword, name, result: { status, duration: currentStep - this.lastStepTime } });
32
+ if (screenshot != '') {
33
+ const embedding = {
34
+ data: screenshot,
35
+ mime_type: "image/png"
36
+ };
37
+ this.stepLog.push({
38
+ keyword,
39
+ name,
40
+ result: { status, duration: currentStep - this.lastStepTime, embedding: embedding }
41
+ });
42
+ }
43
+ else {
44
+ this.stepLog.push({ keyword, name, result: { status, duration: currentStep - this.lastStepTime } });
45
+ }
33
46
  this.lastStepTime = currentStep;
34
47
  }
35
48
  returnScenarioReport() {
@@ -1,7 +1,8 @@
1
1
  import { StatusOfStep } from "../../auxta/enums/status-of.step";
2
2
  import { ExtendDefaultPage } from "./extend-default-page";
3
3
  export declare class FunctionHelper extends ExtendDefaultPage {
4
- log(keyword: string, name: string, status: StatusOfStep): void;
4
+ log(keyword: string, name: string, status: StatusOfStep, screenshot?: string): void;
5
+ screenshot(): Promise<string | undefined>;
5
6
  suggest(name: string): void;
6
7
  private getEscapedText;
7
8
  clickByText(selector: string, text: string, dotOrText?: string, options?: {}, page?: import("puppeteer").Page, time?: number, log_message?: boolean): Promise<void>;
@@ -13,9 +13,18 @@ import { StatusOfStep } from "../../auxta/enums/status-of.step";
13
13
  import { StepStatus } from "../../AuxTA";
14
14
  import { ExtendDefaultPage } from "./extend-default-page";
15
15
  import { KnownDevices } from "puppeteer";
16
+ import { captureScreenshot } from "../../auxta/utilities/screenshot.helper";
16
17
  export class FunctionHelper extends ExtendDefaultPage {
17
- log(keyword, name, status) {
18
- log.push(keyword, name, status);
18
+ log(keyword, name, status, screenshot) {
19
+ log.push(keyword, name, status, screenshot);
20
+ }
21
+ screenshot() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const screenshotBuffer = yield captureScreenshot();
24
+ if (screenshotBuffer) {
25
+ return screenshotBuffer.toString('base64');
26
+ }
27
+ });
19
28
  }
20
29
  suggest(name) {
21
30
  log.addSuggestion(name);
@@ -70,26 +70,31 @@ export class Puppeteer {
70
70
  let screenshotBuffer;
71
71
  let errMessage;
72
72
  let statusCode = 200;
73
- let consoleStack = [];
73
+ let consoleMessage = [];
74
+ let httpsMessage = [];
74
75
  try {
75
- yield log.push('When', `Starting puppeteer process`, StatusOfStep.PASSED);
76
+ log.push('When', `Starting puppeteer process`, StatusOfStep.PASSED);
76
77
  yield this.startBrowser();
77
- this.defaultPage.on('console', (message) => consoleStack.push(`${message.type().substr(0, 3).toUpperCase()} ${message.text()}`))
78
- .on('pageerror', ({ message }) => consoleStack.push(message))
79
- .on('response', (response) => consoleStack.push(`${response.status()} ${response.url()}`))
80
- .on('requestfailed', (request) => { var _a; return consoleStack.push(`${request.failure() !== null ? (_a = request.failure()) === null || _a === void 0 ? void 0 : _a.errorText : ""} ${request.url()}`); });
78
+ this.defaultPage.on('console', (message) => consoleMessage.push(`${message.type().substr(0, 3).toUpperCase()} ${message.text()}`))
79
+ .on('pageerror', ({ message }) => consoleMessage.push(message))
80
+ .on('response', (response) => httpsMessage.push(`${response.status()} ${response.url()}`))
81
+ .on('requestfailed', (request) => { var _a; return httpsMessage.push(`${request.failure() !== null ? (_a = request.failure()) === null || _a === void 0 ? void 0 : _a.errorText : ""} ${request.url()}`); });
81
82
  yield callback(event);
82
83
  log.push('When', `Finished puppeteer process`, StatusOfStep.PASSED);
83
84
  }
84
85
  catch (err) {
85
86
  console.log("Error message: \n", err);
86
87
  let browser_start_retry = err.toString().includes("Failed to launch the browser process!");
88
+ const pages = yield this.defaultPage.browser().pages();
89
+ consoleMessage.push('pages');
90
+ consoleMessage.push(pages.length);
87
91
  if (browser_start_retry) {
88
92
  const result = yield retrySuite(uploadModel.nextSuites, uploadModel.reportId, uploadModel.currentSuite, uploadModel.retries);
89
93
  if (!result) {
90
94
  return yield onTestEnd(uploadModel, featureName, scenarioName, statusCode, screenshotBuffer, !errMessage ? undefined : {
91
95
  currentPageUrl: 'undefined',
92
- console: consoleStack,
96
+ console: consoleMessage,
97
+ https: httpsMessage,
93
98
  error: 'Browser did not open'
94
99
  });
95
100
  }
@@ -98,11 +103,6 @@ export class Puppeteer {
98
103
  errMessage = err;
99
104
  statusCode = 500;
100
105
  screenshotBuffer = yield captureScreenshot();
101
- const pages = yield this.defaultPage.browser().pages();
102
- consoleStack.push('pages');
103
- consoleStack.push(pages.length);
104
- consoleStack.push('screenshotBuffer');
105
- consoleStack.push(screenshotBuffer);
106
106
  log.push('When', `Finished puppeteer process`, StatusOfStep.FAILED);
107
107
  yield postNotificationsOnFail(uploadModel);
108
108
  }
@@ -111,7 +111,8 @@ export class Puppeteer {
111
111
  yield this.close();
112
112
  return yield onTestEnd(uploadModel, featureName, scenarioName, statusCode, screenshotBuffer, !errMessage ? undefined : {
113
113
  currentPageUrl: url,
114
- console: consoleStack,
114
+ console: consoleMessage,
115
+ https: httpsMessage,
115
116
  error: errMessage
116
117
  });
117
118
  }