automation_model 1.0.503-dev → 1.0.503

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 (76) hide show
  1. package/README.md +133 -0
  2. package/lib/analyze_helper.js.map +1 -1
  3. package/lib/api.d.ts +2 -2
  4. package/lib/api.js +163 -121
  5. package/lib/api.js.map +1 -1
  6. package/lib/auto_page.d.ts +7 -2
  7. package/lib/auto_page.js +300 -17
  8. package/lib/auto_page.js.map +1 -1
  9. package/lib/browser_manager.d.ts +6 -3
  10. package/lib/browser_manager.js +237 -53
  11. package/lib/browser_manager.js.map +1 -1
  12. package/lib/bruno.d.ts +2 -0
  13. package/lib/bruno.js +381 -0
  14. package/lib/bruno.js.map +1 -0
  15. package/lib/check_performance.d.ts +1 -0
  16. package/lib/check_performance.js +57 -0
  17. package/lib/check_performance.js.map +1 -0
  18. package/lib/command_common.d.ts +5 -4
  19. package/lib/command_common.js +115 -23
  20. package/lib/command_common.js.map +1 -1
  21. package/lib/date_time.js.map +1 -1
  22. package/lib/drawRect.js.map +1 -1
  23. package/lib/environment.d.ts +1 -0
  24. package/lib/environment.js +1 -0
  25. package/lib/environment.js.map +1 -1
  26. package/lib/error-messages.js +33 -3
  27. package/lib/error-messages.js.map +1 -1
  28. package/lib/file_checker.d.ts +1 -0
  29. package/lib/file_checker.js +172 -0
  30. package/lib/file_checker.js.map +1 -0
  31. package/lib/find_function.js.map +1 -1
  32. package/lib/generation_scripts.d.ts +4 -0
  33. package/lib/generation_scripts.js +2 -0
  34. package/lib/generation_scripts.js.map +1 -0
  35. package/lib/index.d.ts +3 -0
  36. package/lib/index.js +4 -0
  37. package/lib/index.js.map +1 -1
  38. package/lib/init_browser.d.ts +4 -3
  39. package/lib/init_browser.js +173 -96
  40. package/lib/init_browser.js.map +1 -1
  41. package/lib/locate_element.js +16 -14
  42. package/lib/locate_element.js.map +1 -1
  43. package/lib/locator.d.ts +37 -0
  44. package/lib/locator.js +172 -0
  45. package/lib/locator.js.map +1 -1
  46. package/lib/locator_log.d.ts +26 -0
  47. package/lib/locator_log.js +69 -0
  48. package/lib/locator_log.js.map +1 -0
  49. package/lib/network.d.ts +3 -1
  50. package/lib/network.js +418 -68
  51. package/lib/network.js.map +1 -1
  52. package/lib/route.d.ts +83 -0
  53. package/lib/route.js +691 -0
  54. package/lib/route.js.map +1 -0
  55. package/lib/scripts/axe.mini.js +23989 -0
  56. package/lib/snapshot_validation.d.ts +37 -0
  57. package/lib/snapshot_validation.js +360 -0
  58. package/lib/snapshot_validation.js.map +1 -0
  59. package/lib/stable_browser.d.ts +144 -43
  60. package/lib/stable_browser.js +2575 -821
  61. package/lib/stable_browser.js.map +1 -1
  62. package/lib/table.d.ts +15 -0
  63. package/lib/table.js +257 -0
  64. package/lib/table.js.map +1 -0
  65. package/lib/table_analyze.js.map +1 -1
  66. package/lib/table_helper.d.ts +19 -0
  67. package/lib/table_helper.js +130 -0
  68. package/lib/table_helper.js.map +1 -0
  69. package/lib/test_context.d.ts +6 -0
  70. package/lib/test_context.js +5 -0
  71. package/lib/test_context.js.map +1 -1
  72. package/lib/utils.d.ts +38 -3
  73. package/lib/utils.js +759 -35
  74. package/lib/utils.js.map +1 -1
  75. package/package.json +30 -13
  76. package/lib/axe/axe.mini.js +0 -12
package/README.md ADDED
@@ -0,0 +1,133 @@
1
+ # Stable API Description
2
+
3
+ This API is built on top of Playwright to control browsers. The most common commands are:
4
+
5
+ - `click`
6
+ - `clickType`
7
+ - `verifyTextExistInPage`
8
+
9
+ ## Parameters
10
+
11
+ - **selectors** - An object that can contain the name of the element as well as multiple selectors (CSS, ARIA, etc.) used to locate the element.
12
+ - **world** - Used as part of `cucumber-js`.
13
+ - **\_params** - An object that includes the original function parameters (used in dynamic selectors).
14
+ - **options** - All actions playwright options are supported: "button", "clickCount", "delay", "modifiers", "force", "position", "trial", "timeout".
15
+ - **climb** - After finding the element using the selectors, will climb the DOM.
16
+
17
+ Unless stated otherwise, the APIs will return an information object and will throw an error in case of failure.
18
+
19
+ ## Function List
20
+
21
+ ```javascript
22
+ async goto(url: string, world);
23
+ /* Use AI to identify an element and click on it */
24
+ async simpleClick(elementDescription, _params, options = {}, world);
25
+ async simpleClickType(elementDescription, value, _params, options = {}, world);
26
+ async click(selectors, _params, options = {}, world);
27
+ /* Return true/false */
28
+ async waitForElement(selectors, _params, options = {}, world);
29
+ async setCheck(selectors, checked = true, _params, options = {}, world);
30
+ async hover(selectors, _params, options = {}, world);
31
+ async selectOption(selectors, values, _params, options = {}, world);
32
+ async type(_value, _params, options = {}, world);
33
+ async setDateTime(selectors, value, format, enter = false, _params, options = {}, world);
34
+ /* Use to populate text fields */
35
+ async clickType(selectors, _value, enter = false, _params, options = {}, world);
36
+ /* Return the text */
37
+ async _getText(selectors, climb, _params, options = {}, info, world);
38
+ async containsText(selectors, text, climb, _params, options = {}, world);
39
+ setTestData(testData, world);
40
+ getTestData(world);
41
+ async verifyElementExistInPage(selectors, _params, options = {}, world);
42
+ async extractAttribute(selectors, attribute, variable, _params, options = {}, world);
43
+ async verifyAttribute(selectors, attribute, value, _params, options = {}, world);
44
+ async verifyPagePath(pathPart, options = {}, world);
45
+ async verifyTextExistInPage(text, options = {}, world);
46
+ async waitForTextToDisappear(text, options = {}, world);
47
+ async verifyTextRelatedToText(textAnchor, climb, textToVerify, options = {}, world);
48
+ async visualVerification(text, options = {}, world);
49
+ async waitForPageLoad(options = {}, world);
50
+ async closePage(options = {}, world);
51
+ saveTestDataAsGlobal(options, world);
52
+ async setViewportSize(width, height, options = {}, world);
53
+ async reloadPage(options = {}, world);
54
+ async conditionalWait(selectors, condition, timeout = 1000, _params = null, options = {}, world = null);
55
+ /* Return the ARIA snapshot as string */
56
+ async getAriaSnapshot();
57
+ ```
58
+
59
+ ## Code Use Cases
60
+
61
+ ### Original Function
62
+
63
+ ```javascript
64
+ async function login_with_user_and_password(_username, _password) {
65
+ const _params = { _username, _password };
66
+ // Fill Username textbox with "_username"
67
+ await context.web.clickType(elements["textbox_username"], _username, false, _params, null, this);
68
+ // Fill Password textbox with "_password"
69
+ await context.web.clickType(elements["textbox_password"], _password, false, _params, null, this);
70
+ // Click on Login button
71
+ await context.web.click(elements["button_login"], _params, null, this);
72
+ }
73
+ ```
74
+
75
+ ### Example 1: Continue execution if step fails
76
+
77
+ ```javascript
78
+ async function login_with_user_and_password(_username, _password) {
79
+ const _params = { _username, _password };
80
+ try {
81
+ await context.web.clickType(elements["textbox_username"], _username, false, _params, null, this);
82
+ await context.web.clickType(elements["textbox_password"], _password, false, _params, null, this);
83
+ await context.web.click(elements["button_login"], _params, null, this);
84
+ } catch (error) {}
85
+ }
86
+ ```
87
+
88
+ ### Example 2: Perform action only if "textbox_username" is found
89
+
90
+ ```javascript
91
+ async function login_with_user_and_password(_username, _password) {
92
+ const _params = { _username, _password };
93
+ if (await context.web.waitForElement(elements["textbox_username"], _params, { timeout: 4000 }, this)) {
94
+ await context.web.clickType(elements["textbox_username"], _username, false, _params, null, this);
95
+ await context.web.clickType(elements["textbox_password"], _password, false, _params, null, this);
96
+ await context.web.click(elements["button_login"], _params, null, this);
97
+ }
98
+ }
99
+ ```
100
+
101
+ ### Example 3: Retry step if it fails
102
+
103
+ ```javascript
104
+ async function login_with_user_and_password(_username, _password) {
105
+ const _params = { _username, _password };
106
+ const maxRetry = 2;
107
+ for (let i = 0; i < maxRetry; i++) {
108
+ try {
109
+ await context.web.clickType(elements["textbox_username"], _username, false, _params, null, this);
110
+ await context.web.clickType(elements["textbox_password"], _password, false, _params, null, this);
111
+ await context.web.click(elements["button_login"], _params, null, this);
112
+ break;
113
+ } catch (error) {
114
+ if (i === maxRetry - 1) {
115
+ throw error;
116
+ }
117
+ }
118
+ }
119
+ }
120
+ ```
121
+
122
+ ### Example 4: Set click timeout to 2 minutes
123
+
124
+ ```javascript
125
+ async function login_with_user_and_password(_username, _password) {
126
+ const _params = { _username, _password };
127
+ await context.web.clickType(elements["textbox_username"], _username, false, _params, { timeout: 120000 }, this);
128
+ await context.web.clickType(elements["textbox_password"], _password, false, _params, { timeout: 120000 }, this);
129
+ await context.web.click(elements["button_login"], _params, { timeout: 120000 }, this);
130
+ }
131
+ ```
132
+
133
+ To use the playwright page object directly, use: context.web.page
@@ -1 +1 @@
1
- {"version":3,"file":"analyze_helper.js","sourceRoot":"","sources":["../../src/analyze_helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze_helper.js","sourceRoot":"","sources":["../../src/analyze_helper.ts"],"names":[],"mappings":"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"}
package/lib/api.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { AxiosRequestConfig, AxiosResponse } from "axios";
3
2
  interface Config {
4
3
  url: string;
@@ -28,13 +27,14 @@ interface Config {
28
27
  operator: "eq" | "ne" | "gt" | "lt" | "gte" | "lte" | "mat";
29
28
  pass: boolean;
30
29
  fail?: boolean;
30
+ receivedValue?: any;
31
31
  }[] | null | undefined;
32
32
  tokens: {
33
33
  token: string;
34
34
  username: string;
35
35
  password: string;
36
36
  };
37
- authType: "bearer" | "basic" | "none";
37
+ authType: "Bearer" | "Basic" | "None";
38
38
  isStaticToken: boolean;
39
39
  status: number;
40
40
  }
package/lib/api.js CHANGED
@@ -3,6 +3,9 @@ import { existsSync, readFileSync } from "fs";
3
3
  import path from "path";
4
4
  import tunnel from "tunnel";
5
5
  import objectPath from "object-path";
6
+ import { _commandFinally, _preCommand } from "./command_common.js";
7
+ import { getHumanReadableErrorMessage } from "./error-messages.js";
8
+ import { tryParseJson, replaceWithLocalTestData, getObjectDataPathFromKey } from "./utils.js";
6
9
  class Api {
7
10
  logger;
8
11
  axiosClient;
@@ -81,38 +84,77 @@ class Api {
81
84
  // return await this.axiosClientRequest<T>(config);
82
85
  const startTime = Date.now();
83
86
  let result = null;
87
+ const state = {
88
+ startTime,
89
+ params,
90
+ testData,
91
+ world,
92
+ element_name: "API",
93
+ type: "api_test",
94
+ text: `Api test`,
95
+ info: {},
96
+ locate: false,
97
+ scroll: false,
98
+ screenshot: false,
99
+ highlight: false,
100
+ };
101
+ await _preCommand(state, this);
102
+ const info = {
103
+ tests: config.tests,
104
+ testsPassed: 0,
105
+ failCause: {},
106
+ };
107
+ info.tests?.forEach((test) => {
108
+ test.fail = true;
109
+ });
110
+ state.info = info;
84
111
  let error = null;
85
- const fixedUrl = repStrWParamTData(config.url, params, testData);
86
- const fixedQueryParams = config.queryParams.map((param) => {
112
+ const fixedUrl = await repStrWParamTData(config.url, params, testData, world);
113
+ const fixedQueryParams = config.queryParams.map(async (param) => {
87
114
  return {
88
- key: repStrWParamTData(param.key, params, testData),
89
- value: repStrWParamTData(param.value, params, testData),
115
+ key: await repStrWParamTData(param.key, params, testData, world),
116
+ value: await repStrWParamTData(param.value, params, testData, world),
90
117
  };
91
118
  });
92
- const fixedReqHeaders = config.headers.map((header) => {
119
+ const fixedReqHeaders = config.headers.map(async (header) => {
93
120
  return {
94
- key: repStrWParamTData(header.key, params, testData),
95
- value: repStrWParamTData(header.value, params, testData),
121
+ key: await repStrWParamTData(header.key, params, testData, world),
122
+ value: await repStrWParamTData(header.value, params, testData, world),
96
123
  enabled: header.enabled,
97
124
  };
98
125
  });
99
- if (config.authType === "bearer") {
126
+ if (config.authType === "Bearer") {
100
127
  //@ts-ignore
101
- config.tokens.token = repStrWParamTData(config.tokens.token, params, testData);
128
+ config.tokens.token = await repStrWParamTData(config.tokens.token, params, testData, world);
102
129
  }
103
- else if (config.authType === "basic") {
130
+ else if (config.authType === "Basic") {
104
131
  //@ts-ignore
105
- config.tokens.username = repStrWParamTData(config.tokens.username, params, testData);
132
+ config.tokens.username = await repStrWParamTData(config.tokens.username, params, testData, world);
106
133
  //@ts-ignore
107
- config.tokens.password = repStrWParamTData(config.tokens.password, params, testData);
134
+ config.tokens.password = await repStrWParamTData(config.tokens.password, params, testData, world);
135
+ }
136
+ if (config.bodyType === "raw") {
137
+ config.body = tryParseJson(await repStrWParamTData(config.body, params, testData, world));
138
+ }
139
+ let formattedUrl;
140
+ const urlObj = new URL(fixedUrl);
141
+ const existingParams = new URLSearchParams(urlObj.search);
142
+ if (existingParams.size > 0) {
143
+ formattedUrl =
144
+ (await Promise.all(fixedQueryParams)).filter(async (data) => !!data.key).length > 0
145
+ ? `${fixedUrl}&${(await Promise.all(fixedQueryParams)).map((param) => `${encodeURIComponent(param.key)}=${encodeURIComponent(param.value)}`).join("&")}`
146
+ : fixedUrl;
147
+ }
148
+ else {
149
+ formattedUrl =
150
+ (await Promise.all(fixedQueryParams)).filter(async (data) => !!data.key).length > 0
151
+ ? `${fixedUrl}?${(await Promise.all(fixedQueryParams)).map((param) => `${encodeURIComponent(param.key)}=${encodeURIComponent(param.value)}`).join("&")}`
152
+ : fixedUrl;
108
153
  }
109
- const formattedUrl = fixedQueryParams.filter((data) => !!data.key).length > 0
110
- ? `${fixedUrl}?${fixedQueryParams.map((data) => `${data.key}=${data.value}`).join("&")}`
111
- : fixedUrl;
112
154
  const axiosConfig = {
113
155
  method: config.method,
114
156
  url: formattedUrl,
115
- headers: fixedReqHeaders.reduce((acc, header) => {
157
+ headers: (await Promise.all(fixedReqHeaders)).reduce((acc, header) => {
116
158
  if (header.enabled && header.key.length > 0)
117
159
  acc[header.key] = header.value;
118
160
  return acc;
@@ -121,34 +163,37 @@ class Api {
121
163
  maxRedirects: config.settings.maxRedirects,
122
164
  validateStatus: config.settings.strictHttpParser ? (status) => status >= 200 && status < 300 : null,
123
165
  };
124
- if (config.authType === "bearer") {
166
+ if (config.authType === "Bearer") {
125
167
  //@ts-ignore
126
168
  axiosConfig.headers["Authorization"] = `Bearer ${config.tokens.token}`;
127
169
  }
128
- else if (config.authType === "basic" && config.tokens.username && config.tokens.password) {
170
+ else if (config.authType === "Basic" && config.tokens.username && config.tokens.password) {
129
171
  //@ts-ignore
130
172
  axiosConfig.headers["Authorization"] = `Basic ${btoa(`${config.tokens.username}:${config.tokens.password}`)}`;
131
173
  }
132
- const res = await this.axiosClientRequest(axiosConfig);
133
- const tests = config.tests;
134
- let testsPassed = 0;
174
+ // const tests = config.tests;
175
+ // let testsPassed = 0;
176
+ let res = {};
135
177
  try {
178
+ res = await this.axiosClientRequest(axiosConfig);
179
+ state.info.headers = res.headers;
180
+ state.info.status = res.status;
181
+ state.info.data = res.data;
136
182
  if (res.status != config.status) {
137
183
  throw new Error(`The returned status code ${res.status} doesn't match the saved status code ${config.status}`);
138
184
  }
139
- if (tests) {
140
- tests?.forEach((test) => {
185
+ if (info.tests && Array.isArray(info.tests) && info.tests.length > 0) {
186
+ await Promise.all(info.tests.map(async (test) => {
141
187
  test.fail = true;
142
188
  const receivedValue = getValue(res.data, test.pattern);
143
- if (!hasValue(receivedValue)) {
144
- throw new Error(`The path ${test.pattern} does not exist in the response`);
145
- }
189
+ test.receivedValue = receivedValue;
190
+ test.value = await repStrWParamTData(test.value, params, testData, world);
146
191
  switch (test.operator) {
147
192
  case "eq":
148
- test.fail = receivedValue != test.value;
193
+ test.fail = receivedValue !== test.value;
149
194
  break;
150
195
  case "ne":
151
- test.fail = receivedValue == test.value;
196
+ test.fail = receivedValue === test.value;
152
197
  break;
153
198
  case "gt":
154
199
  test.fail = receivedValue <= test.value;
@@ -163,72 +208,83 @@ class Api {
163
208
  test.fail = receivedValue > test.value;
164
209
  break;
165
210
  case "mat":
166
- test.fail = !new RegExp(test.value).test(receivedValue);
211
+ try {
212
+ const pattern = String(test.value);
213
+ const regex = new RegExp(pattern);
214
+ test.fail = !regex.test(String(receivedValue));
215
+ }
216
+ catch (err) {
217
+ console.error("Invalid regex:", test.value, err);
218
+ test.fail = true;
219
+ }
167
220
  break;
168
221
  default:
169
222
  test.fail = true;
170
223
  break;
171
224
  }
172
- });
173
- const testsFailed = tests.filter((test) => test.fail);
174
- testsPassed = tests.length - testsFailed.length;
225
+ }));
226
+ const testsFailed = info.tests.filter((test) => test.fail);
227
+ info.testsPassed = info.tests.length - testsFailed.length;
175
228
  if (testsFailed.length > 0) {
176
229
  throw new Error("Tests failed");
177
230
  }
178
231
  }
232
+ else {
233
+ info.testsPassed = 0;
234
+ }
235
+ return res;
179
236
  }
180
237
  catch (e) {
181
238
  error = e;
239
+ process.env.NO_RETRAIN = "false";
240
+ this.logger.error("Error while sending request " + error.message ? error.message : error.code);
241
+ error.stack = "";
242
+ state.info.failCause.fail = true;
243
+ const errorClassification = getHumanReadableErrorMessage(error, state.info);
244
+ state.info.errorType = errorClassification.errorType;
245
+ state.info.errorMessage = errorClassification.errorMessage;
246
+ Object.assign(error, { info: state.info });
247
+ state.error = error;
248
+ state.commandError = true;
182
249
  throw error;
183
250
  }
184
251
  finally {
185
- const endTime = Date.now();
186
- const properties = {
187
- element_name: "API",
188
- type: "api_test",
189
- text: `Api test `,
190
- result: error
191
- ? {
192
- status: "FAILED",
193
- startTime,
194
- endTime,
195
- }
196
- : {
197
- status: "PASSED",
198
- startTime,
199
- endTime,
200
- },
201
- info: {
202
- tests,
203
- testsPassed,
204
- headers: res.headers,
205
- status: res.status,
206
- data: res.data,
207
- statusText: res.statusText,
208
- },
209
- };
210
- if (world && world.attach) {
211
- world.attach(JSON.stringify(properties), {
212
- mediaType: "application/json",
213
- });
214
- }
215
- if (error) {
216
- //@ts-ignore
217
- const err = new Error(error.message);
218
- err.stack = "";
219
- throw err;
220
- }
221
- return res;
252
+ const statusText = res.statusText ? res.statusText : error ? error.code : null;
253
+ state.info.statusText = statusText;
254
+ await _commandFinally(state, this);
222
255
  }
223
256
  }
224
257
  async requestWithAuth(methodName, world, token, params) {
225
258
  const startTime = Date.now();
226
- let error = null, tests = {}, res = null, testsPassed = 0;
259
+ let error = null,
260
+ // tests: any = {},
261
+ res = null;
262
+ // testsPassed = 0;
263
+ const state = {
264
+ startTime,
265
+ params,
266
+ world,
267
+ element_name: "API",
268
+ type: "api_test",
269
+ text: `Api test for ${methodName}`,
270
+ info: {},
271
+ locate: false,
272
+ scroll: false,
273
+ screenshot: false,
274
+ highlight: false,
275
+ };
276
+ await _preCommand(state, this);
227
277
  const apiFilePath = path.join("./features", "apis", methodName + ".json");
228
278
  let result = null;
229
279
  if (existsSync(apiFilePath)) {
230
280
  try {
231
281
  const apiRequests = JSON.parse(readFileSync(apiFilePath, "utf8"));
282
+ const info = {
283
+ tests: apiRequests.tests,
284
+ testsPassed: 0,
285
+ failCause: {},
286
+ };
287
+ state.info = info;
232
288
  const useAuthHeaders = apiRequests.useAuthHeaders;
233
289
  const config = JSON.parse(apiRequests.config);
234
290
  if (useAuthHeaders) {
@@ -238,11 +294,13 @@ class Api {
238
294
  };
239
295
  }
240
296
  res = await this.axiosClientRequest(JSON.parse(apiRequests.config));
241
- tests = apiRequests.tests;
242
- tests?.forEach((test) => {
297
+ info.tests = apiRequests.tests;
298
+ info.tests?.forEach((test) => {
243
299
  test.fail = true;
244
- const path = test === null || test === void 0 ? void 0 : test.pattern.split(".");
300
+ const path = test === null || test === void 0 ? void 0 : getObjectDataPathFromKey(test.pattern);
245
301
  let lengthExists = false;
302
+ if (path == undefined)
303
+ return;
246
304
  if (path[path.length - 1] === "length") {
247
305
  path.pop();
248
306
  lengthExists = true;
@@ -263,71 +321,55 @@ class Api {
263
321
  if (res.status != statusCode) {
264
322
  throw new Error(`The returned status code ${res.status} doesn't match the saved status code ${statusCode}`);
265
323
  }
266
- const testsFailed = tests.filter((test) => test.fail);
267
- testsPassed = tests.length - testsFailed.length;
324
+ const testsFailed = info.tests.filter((test) => test.fail);
325
+ info.testsPassed = info.tests.length - testsFailed.length;
326
+ state.info.headers = res.headers;
327
+ state.info.status = res.status;
328
+ state.info.data = res.data;
268
329
  if (testsFailed.length > 0) {
269
330
  throw new Error("Tests failed");
270
331
  }
271
- result = res.data;
332
+ return res;
272
333
  }
273
334
  catch (e) {
274
335
  error = e;
336
+ process.env.NO_RETRAIN = "false";
337
+ this.logger.error("Error while sending request " + error.message ? error.message : error.code);
338
+ error.stack = "";
339
+ state.info.failCause.fail = true;
340
+ const errorClassification = getHumanReadableErrorMessage(error, state.info);
341
+ state.info.errorType = errorClassification.errorType;
342
+ state.info.errorMessage = errorClassification.errorMessage;
343
+ Object.assign(error, { info: state.info });
344
+ state.error = error;
345
+ state.commandError = true;
346
+ if (error?.stack) {
347
+ error.stack = "";
348
+ }
275
349
  throw error;
276
350
  }
277
351
  finally {
278
- const endTime = Date.now();
279
- const properties = {
280
- element_name: "API",
281
- type: "api_test",
282
- text: `Api test for ${methodName}`,
283
- result: error
284
- ? {
285
- status: "FAILED",
286
- startTime,
287
- endTime,
288
- }
289
- : {
290
- status: "PASSED",
291
- startTime,
292
- endTime,
293
- },
294
- info: {
295
- tests,
296
- testsPassed,
297
- headers: res.headers,
298
- status: res.status,
299
- data: res.data,
300
- statusText: res.statusText,
301
- },
302
- };
303
- if (world && world.attach) {
304
- world.attach(JSON.stringify(properties), {
305
- mediaType: "application/json",
306
- });
307
- }
308
- if (error) {
309
- //@ts-ignore
310
- const err = new Error(error.message);
311
- err.stack = "";
312
- throw err;
313
- }
314
- return result;
352
+ const statusText = res.statusText ? res.statusText : error ? error.code : null;
353
+ state.info.statusText = statusText;
354
+ await _commandFinally(state, this);
315
355
  }
316
356
  }
317
357
  }
318
358
  }
319
- const repStrWParamTData = (str, params, testData) => {
359
+ const repStrWParamTData = async (str, params, testData, world) => {
360
+ if (typeof str !== 'string') {
361
+ return str;
362
+ }
320
363
  let newStr = str;
321
364
  Object.keys(params).forEach((key) => {
322
- newStr = newStr.replaceAll(`"<${key.slice(1)}>"`, params[key]);
323
- });
324
- Object.keys(testData).forEach((key) => {
325
- newStr = newStr.replaceAll(`{{${key}}}`, testData[key]);
365
+ newStr = newStr.replaceAll(`<${key.slice(1)}>`, params[key]);
326
366
  });
367
+ newStr = await replaceWithLocalTestData(newStr, world, true, true, world.context, world.context.web, false);
327
368
  return newStr;
328
369
  };
329
370
  const getValue = (data, pattern) => {
330
- const path = pattern.split(".");
371
+ // const path = pattern.split(".");
372
+ const path = getObjectDataPathFromKey(pattern);
331
373
  let lengthExists = false;
332
374
  if (path[path.length - 1] === "length") {
333
375
  path.pop();
@@ -340,10 +382,10 @@ const getValue = (data, pattern) => {
340
382
  else if (hasValue(value)) {
341
383
  return value;
342
384
  }
343
- return null;
385
+ return undefined;
344
386
  };
345
387
  const hasValue = (value) => {
346
- return value !== null && value !== undefined;
388
+ return value !== undefined;
347
389
  };
348
390
  export { Api };
349
391
  //# sourceMappingURL=api.js.map
package/lib/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}