automation_model 1.0.488-dev → 1.0.488

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 (77) 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 +151 -120
  5. package/lib/api.js.map +1 -1
  6. package/lib/auto_page.d.ts +7 -2
  7. package/lib/auto_page.js +309 -29
  8. package/lib/auto_page.js.map +1 -1
  9. package/lib/browser_manager.d.ts +6 -3
  10. package/lib/browser_manager.js +194 -46
  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 +126 -21
  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.d.ts +6 -0
  27. package/lib/error-messages.js +206 -0
  28. package/lib/error-messages.js.map +1 -0
  29. package/lib/file_checker.d.ts +1 -0
  30. package/lib/file_checker.js +172 -0
  31. package/lib/file_checker.js.map +1 -0
  32. package/lib/find_function.js.map +1 -1
  33. package/lib/generation_scripts.d.ts +4 -0
  34. package/lib/generation_scripts.js +2 -0
  35. package/lib/generation_scripts.js.map +1 -0
  36. package/lib/index.d.ts +3 -0
  37. package/lib/index.js +4 -0
  38. package/lib/index.js.map +1 -1
  39. package/lib/init_browser.d.ts +4 -3
  40. package/lib/init_browser.js +160 -83
  41. package/lib/init_browser.js.map +1 -1
  42. package/lib/locate_element.js +16 -14
  43. package/lib/locate_element.js.map +1 -1
  44. package/lib/locator.d.ts +37 -0
  45. package/lib/locator.js +172 -0
  46. package/lib/locator.js.map +1 -1
  47. package/lib/locator_log.d.ts +26 -0
  48. package/lib/locator_log.js +69 -0
  49. package/lib/locator_log.js.map +1 -0
  50. package/lib/network.d.ts +5 -0
  51. package/lib/network.js +494 -0
  52. package/lib/network.js.map +1 -0
  53. package/lib/route.d.ts +83 -0
  54. package/lib/route.js +691 -0
  55. package/lib/route.js.map +1 -0
  56. package/lib/scripts/axe.mini.js +24005 -0
  57. package/lib/snapshot_validation.d.ts +37 -0
  58. package/lib/snapshot_validation.js +360 -0
  59. package/lib/snapshot_validation.js.map +1 -0
  60. package/lib/stable_browser.d.ts +147 -47
  61. package/lib/stable_browser.js +2587 -828
  62. package/lib/stable_browser.js.map +1 -1
  63. package/lib/table.d.ts +15 -0
  64. package/lib/table.js +257 -0
  65. package/lib/table.js.map +1 -0
  66. package/lib/table_analyze.js.map +1 -1
  67. package/lib/table_helper.d.ts +19 -0
  68. package/lib/table_helper.js +130 -0
  69. package/lib/table_helper.js.map +1 -0
  70. package/lib/test_context.d.ts +6 -0
  71. package/lib/test_context.js +5 -0
  72. package/lib/test_context.js.map +1 -1
  73. package/lib/utils.d.ts +38 -3
  74. package/lib/utils.js +748 -36
  75. package/lib/utils.js.map +1 -1
  76. package/package.json +31 -13
  77. package/lib/axe/axe.mini.js +0 -12
@@ -0,0 +1,172 @@
1
+ import * as fs from "fs"; // sync fs
2
+ import * as path from "path";
3
+ import { promises as fsAsync } from "fs"; // async fs
4
+ import { _commandError, _commandFinally, _preCommand } from "./command_common.js";
5
+ import { Types } from "./stable_browser.js";
6
+ import { replaceWithLocalTestData } from "./utils.js";
7
+ const checkFileAccess = (filePath, accessMode) => {
8
+ return new Promise((resolve) => {
9
+ fs.access(filePath, accessMode, (err) => {
10
+ resolve(!err);
11
+ });
12
+ });
13
+ };
14
+ const getFileName = (filePath) => {
15
+ const platform = process.platform;
16
+ return platform === "win32" ? filePath.split("\\").pop() || "" : filePath.split("/").pop() || "";
17
+ };
18
+ // Simplified regex check
19
+ function testForRegex(text) {
20
+ return text.startsWith("regex:");
21
+ }
22
+ export const verifyFileExists = async (filePath, options, context, world) => {
23
+ if (!options)
24
+ options = {};
25
+ const fileName = getFileName(filePath);
26
+ let isSoft = false;
27
+ const match = filePath.match(/(soft:)?(regex:|exact:|contains:)(.*)/);
28
+ if (match) {
29
+ isSoft = !!match[1]; // true if 'soft:' is present
30
+ }
31
+ const state = {
32
+ locate: false,
33
+ scroll: false,
34
+ screenshot: false,
35
+ highlight: false,
36
+ throwError: !isSoft, // don't throw error for soft assertions
37
+ operation: "verifyFileExists",
38
+ value: filePath,
39
+ text: `Verify file ${fileName} exists`,
40
+ options,
41
+ type: Types.VERIFY_FILE_EXISTS,
42
+ world,
43
+ };
44
+ await _preCommand(state, context.web);
45
+ try {
46
+ filePath = (await replaceWithLocalTestData(filePath, world, true, false, context, context.web, false));
47
+ }
48
+ catch (err) {
49
+ // Ignore error
50
+ }
51
+ try {
52
+ let pathToMatch = filePath;
53
+ if (isSoft) {
54
+ pathToMatch = filePath.replace(/^soft:/, ""); // remove soft: prefix for parsing
55
+ }
56
+ let dir;
57
+ let input;
58
+ console.log("pathSeparator", path.sep);
59
+ if (pathToMatch.includes("regex:")) {
60
+ const regexIndex = pathToMatch.indexOf("regex:");
61
+ // Handle both forward slashes and backslashes before regex:
62
+ let dirPart = pathToMatch.substring(0, regexIndex);
63
+ // Remove trailing slash/backslash
64
+ if (dirPart.endsWith("/") || dirPart.endsWith("\\")) {
65
+ dirPart = dirPart.slice(0, -1);
66
+ }
67
+ dir = dirPart;
68
+ input = pathToMatch.substring(regexIndex);
69
+ }
70
+ else {
71
+ // Use path.sep to handle both forward and backward slashes
72
+ const pathSeparator = path.sep;
73
+ const lastSlashIndex = pathToMatch.lastIndexOf(pathSeparator);
74
+ // If no separator found, try the other separator (for mixed paths)
75
+ if (lastSlashIndex === -1) {
76
+ const alternativeSeparator = pathSeparator === "/" ? "\\" : "/";
77
+ const altLastSlashIndex = pathToMatch.lastIndexOf(alternativeSeparator);
78
+ if (altLastSlashIndex !== -1) {
79
+ dir = pathToMatch.substring(0, altLastSlashIndex);
80
+ input = pathToMatch.substring(altLastSlashIndex + 1);
81
+ }
82
+ else {
83
+ // No separator found, assume current directory
84
+ dir = ".";
85
+ input = pathToMatch;
86
+ }
87
+ }
88
+ else {
89
+ dir = pathToMatch.substring(0, lastSlashIndex);
90
+ input = pathToMatch.substring(lastSlashIndex + 1);
91
+ }
92
+ }
93
+ if (isSoft) {
94
+ dir = dir.slice(0, -5);
95
+ }
96
+ console.log(`Directory to check: ${dir}`);
97
+ console.log(`Input pattern: ${input}`);
98
+ const files = await fsAsync.readdir(dir);
99
+ let found = false;
100
+ if (input.startsWith("exact:")) {
101
+ const target = input.replace("exact:", "");
102
+ found = files.includes(target);
103
+ }
104
+ else if (input.startsWith("contains:")) {
105
+ const target = input.replace("contains:", "");
106
+ found = files.some((f) => f.includes(target));
107
+ }
108
+ else if (input.startsWith("format:")) {
109
+ const extension = input.replace("format:", "");
110
+ found = files.some((f) => f.endsWith(`.${extension}`));
111
+ }
112
+ else if (testForRegex(input)) {
113
+ let raw = input.replace("regex:", "").trim(); // e.g. "/file/i" or "file.*::i"
114
+ let pattern = raw;
115
+ let flags = "";
116
+ // Normalize delimiters: convert backslash delimiters to forward slash delimiters
117
+ // This preserves the regex pattern while standardizing the delimiter format
118
+ if (raw.startsWith("\\") && raw.lastIndexOf("\\") > 0) {
119
+ // Convert \pattern\flags to /pattern/flags format
120
+ const lastBackslash = raw.lastIndexOf("\\");
121
+ const patternPart = raw.substring(1, lastBackslash);
122
+ const flagsPart = raw.substring(lastBackslash + 1);
123
+ raw = `/${patternPart}/${flagsPart}`;
124
+ }
125
+ // Now handle the standardized format
126
+ if (raw.startsWith("/") && raw.lastIndexOf("/") > 0) {
127
+ // Standard regex format: /pattern/flags
128
+ const lastSlash = raw.lastIndexOf("/");
129
+ flags = raw.substring(lastSlash + 1);
130
+ pattern = raw.substring(1, lastSlash);
131
+ }
132
+ else if (raw.includes("::")) {
133
+ // Alternative format: pattern::flags
134
+ [pattern, flags] = raw.split("::");
135
+ }
136
+ console.log(`Regex pattern: ${pattern}, flags: ${flags}`);
137
+ try {
138
+ const regex = new RegExp(pattern, flags);
139
+ found = files.some((f) => {
140
+ const matched = regex.test(f);
141
+ return matched;
142
+ });
143
+ }
144
+ catch (regexError) {
145
+ throw new Error(`Invalid regex pattern: ${pattern}`);
146
+ }
147
+ }
148
+ else {
149
+ // Fallback to exact path check
150
+ found = await checkFileAccess(pathToMatch, fs.constants.F_OK);
151
+ }
152
+ if (!found) {
153
+ console.log(`Available files in '${dir}':`, files);
154
+ if (!isSoft) {
155
+ throw new Error(`No file matched the pattern: ${filePath}`);
156
+ }
157
+ else {
158
+ console.warn(`Soft assertion failed for pattern: ${filePath}`);
159
+ }
160
+ }
161
+ else {
162
+ console.log(`File verification successful for pattern: ${input}`);
163
+ }
164
+ }
165
+ catch (err) {
166
+ await _commandError(state, err, context.web);
167
+ }
168
+ finally {
169
+ await _commandFinally(state, context.web);
170
+ }
171
+ };
172
+ //# sourceMappingURL=file_checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file_checker.js","sourceRoot":"","sources":["../../src/file_checker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"find_function.js","sourceRoot":"","sources":["../../src/find_function.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,KAAK,EAAE,KAAiB,EAAE,EAAE;IAChD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,OAAO,IAAI,CAAC;KACb;IACD,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC7B,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM;SACP;KACF;IACD,IAAI,CAAC,QAAQ,EAAE;QACb,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KACrB;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAC9C,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,QAAQ,CAAC;KACjB;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,qCAAqC;IACrC,mBAAmB;IACnB,MAAM;IAEN,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YACrC,SAAS;SACV;QACD,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAC5C,KAAK,EAAE,CAAC;aACT;SACF;QACD,IAAI,KAAK,GAAG,SAAS,EAAE;YACrB,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,GAAG,CAAC,CAAC;SACX;KACF;IACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"find_function.js","sourceRoot":"","sources":["../../src/find_function.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,KAAK,EAAE,KAAiB,EAAE,EAAE;IAChD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,qCAAqC;IACrC,mBAAmB;IACnB,MAAM;IAEN,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QACD,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7C,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface InitScripts {
2
+ recorderCjs: string | null;
3
+ scripts: string[] | null;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generation_scripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation_scripts.js","sourceRoot":"","sources":["../../src/generation_scripts.ts"],"names":[],"mappings":""}
package/lib/index.d.ts CHANGED
@@ -7,3 +7,6 @@ export * from "./browser_manager.js";
7
7
  export * from "./analyze_helper.js";
8
8
  export * from "./find_function.js";
9
9
  export * from "./utils.js";
10
+ export * from "./table.js";
11
+ export * from "./bruno.js";
12
+ export * from "./file_checker.js";
package/lib/index.js CHANGED
@@ -7,4 +7,8 @@ export * from "./browser_manager.js";
7
7
  export * from "./analyze_helper.js";
8
8
  export * from "./find_function.js";
9
9
  export * from "./utils.js";
10
+ export * from "./table.js";
11
+ export * from "./bruno.js";
12
+ export * from "./file_checker.js";
13
+ //export * from "./profile.js";
10
14
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,+BAA+B"}
@@ -1,8 +1,9 @@
1
1
  import { Environment } from "./environment.js";
2
- import { TestContext } from "./test_context.js";
3
2
  import { StableBrowser } from "./stable_browser.js";
4
3
  import { Browser as PlaywrightBrowser } from "playwright";
5
4
  import { Browser } from "./browser_manager.js";
6
- declare const getContext: (environment: Environment | null, headless: boolean | undefined, world: any, logger?: null, appName?: string | null, createStable?: boolean, stable?: StableBrowser | null, moveToRight?: number) => Promise<TestContext>;
5
+ import { InitScripts } from "./generation_scripts.js";
6
+ declare const getContext: (environment: Environment | null, headless: boolean | undefined, world: any, logger?: null, appName?: string | null, createStable?: boolean, web?: StableBrowser | null, moveToRight?: number, reportFolder?: string | null, initScripts?: InitScripts | null, storageState?: any | null) => Promise<any>;
7
+ declare const refreshBrowser: (web: any, sessionPath: string, world: any) => Promise<void>;
7
8
  declare const closeBrowser: (browser?: Browser | PlaywrightBrowser) => Promise<void>;
8
- export { getContext, closeBrowser };
9
+ export { getContext, closeBrowser, refreshBrowser };
@@ -1,103 +1,176 @@
1
- import fs from "node:fs";
1
+ import fs from "fs";
2
2
  import path from "path";
3
3
  import { Environment } from "./environment.js";
4
4
  import { browserManager } from "./browser_manager.js";
5
5
  import { TestContext } from "./test_context.js";
6
6
  import { StableBrowser } from "./stable_browser.js";
7
7
  import { Api } from "./api.js";
8
- // let environment = null;
8
+ import { measureAsync } from "./utils.js";
9
9
  // init browser create context and page, if context and page are not null
10
- const getContext = async function (environment, headless = false, world, logger, appName, createStable = true, stable = null, moveToRight = -1) {
11
- if (environment === null) {
12
- environment = initEnvironment();
13
- }
14
- if (appName && !environment.apps && !environment.apps[appName]) {
15
- throw new Error(`App ${appName} not found in environment`);
16
- }
17
- if (appName) {
18
- environment = environment.apps[appName];
19
- }
20
- const { cookies, origins } = environment;
21
- if (cookies) {
22
- for (let i = 0; i < cookies.length; i++) {
23
- const cookie = cookies[i];
24
- if (cookie.expires === "undefined") {
25
- delete cookie.expires;
10
+ const getContext = async function (environment, headless = false, world, logger, appName, createStable = true, web = null, moveToRight = -1, reportFolder = null, initScripts = null, storageState = null) {
11
+ return measureAsync("browser Launch", async () => {
12
+ if (environment === null) {
13
+ environment = initEnvironment();
14
+ }
15
+ if (appName && !environment.apps && !environment.apps[appName]) {
16
+ throw new Error(`App ${appName} not found in environment`);
17
+ }
18
+ if (appName) {
19
+ environment = environment.apps[appName];
20
+ }
21
+ const { cookies, origins } = environment;
22
+ if (cookies) {
23
+ for (let i = 0; i < cookies.length; i++) {
24
+ const cookie = cookies[i];
25
+ if (cookie.expires === "undefined") {
26
+ delete cookie.expires;
27
+ }
26
28
  }
27
29
  }
28
- }
29
- let extensionPath = undefined;
30
- let userDataDirPath = undefined;
31
- let aiConfigFile = "ai_config.json";
32
- if (process.env.PROJECT_PATH) {
33
- aiConfigFile = path.join(process.env.PROJECT_PATH, "ai_config.json");
34
- }
35
- if (fs.existsSync(aiConfigFile)) {
36
- const configuration = JSON.parse(fs.readFileSync(aiConfigFile, "utf8"));
37
- if (configuration.userDataDirPath) {
38
- userDataDirPath = configuration.userDataDirPath;
30
+ let extensionPath = undefined;
31
+ let userDataDirPath = undefined;
32
+ let userAgent = undefined;
33
+ let aiConfigFile = "ai_config.json";
34
+ let channel = undefined;
35
+ if (process.env.PROJECT_PATH) {
36
+ aiConfigFile = path.join(process.env.PROJECT_PATH, "ai_config.json");
37
+ }
38
+ let configuration = {};
39
+ if (fs.existsSync(aiConfigFile)) {
40
+ configuration = JSON.parse(fs.readFileSync(aiConfigFile, "utf8"));
41
+ if (configuration.userDataDirPath) {
42
+ userDataDirPath = configuration.userDataDirPath;
43
+ }
44
+ if (configuration.extensionPath) {
45
+ extensionPath = configuration.extensionPath;
46
+ }
47
+ if (configuration.useGoogleChrome === true) {
48
+ channel = "chrome";
49
+ }
50
+ else if (configuration.useMicrosoftEdge === true) {
51
+ channel = "msedge";
52
+ }
53
+ if (configuration.overrideUserAgent) {
54
+ userAgent = configuration.overrideUserAgent;
55
+ }
39
56
  }
40
- if (configuration.extensionPath) {
41
- extensionPath = configuration.extensionPath;
57
+ let usedStorageState = null;
58
+ usedStorageState = { cookies, origins };
59
+ let downloadsPath = "downloads";
60
+ if (reportFolder) {
61
+ downloadsPath = path.join(reportFolder, "downloads");
42
62
  }
63
+ else if (web && web.context && web.context.reportFolder) {
64
+ reportFolder = web.context.reportFolder;
65
+ downloadsPath = path.join(web.context.reportFolder, "downloads");
66
+ }
67
+ if (world) {
68
+ world.downloadsPath = downloadsPath;
69
+ }
70
+ if (web && web.context) {
71
+ web.context.downloadsPath = downloadsPath;
72
+ }
73
+ // check if data.json exists in the report folder
74
+ // and if it contain storageState field, if so, use it
75
+ if (reportFolder) {
76
+ const dataFile = path.join(reportFolder, "data.json");
77
+ if (fs.existsSync(dataFile)) {
78
+ const data = fs.readFileSync(dataFile, "utf8");
79
+ const dataObject = JSON.parse(data);
80
+ if (dataObject.storageState) {
81
+ console.log("Init browser with storage state");
82
+ usedStorageState = dataObject.storageState;
83
+ }
84
+ }
85
+ }
86
+ if (storageState) {
87
+ usedStorageState = storageState;
88
+ }
89
+ let browser = await browserManager.createBrowser(headless, usedStorageState, extensionPath, userDataDirPath, reportFolder ? reportFolder : ".", userAgent, channel, configuration, initScripts);
90
+ let context = new TestContext();
91
+ context.browser = browser.browser;
92
+ context.browserObject = browser;
93
+ context.playContext = browser.context;
94
+ context.page = browser.page;
95
+ context.headless = headless;
96
+ context.environment = environment;
97
+ context.browserName = browser.browser ? browser.browser.browserType().name() : "unknown";
98
+ context.reportFolder = reportFolder;
99
+ context.initScripts = initScripts;
100
+ if (process.env.CDP_CONNECT_URL) {
101
+ // settin it to true will not navigate
102
+ context.navigate = true;
103
+ }
104
+ if (createStable) {
105
+ context.stable = new StableBrowser(context.browser, context.page, logger, context, world);
106
+ context.web = context.stable;
107
+ }
108
+ else {
109
+ context.stable = web;
110
+ context.web = web;
111
+ }
112
+ context.api = new Api(logger);
113
+ if (moveToRight === -1) {
114
+ moveToRight = parseInt(process.env.CHROME_POSITION || "-1", 10);
115
+ }
116
+ if (moveToRight > 0 && context.browserName === "chromium") {
117
+ const playContext = context.playContext;
118
+ const client = await playContext.newCDPSession(context.page);
119
+ const { windowId } = await client.send("Browser.getWindowForTarget");
120
+ const window = await client.send("Browser.getWindowBounds", {
121
+ windowId,
122
+ });
123
+ await client.send("Browser.setWindowBounds", {
124
+ windowId,
125
+ bounds: {
126
+ left: window.bounds.left + moveToRight,
127
+ top: 0,
128
+ },
129
+ });
130
+ await client.detach();
131
+ }
132
+ return context;
133
+ });
134
+ };
135
+ const refreshBrowser = async function (web, sessionPath, world) {
136
+ await web.context.browserObject.close();
137
+ web.context.pages = [];
138
+ let storageState = null;
139
+ if (sessionPath) {
140
+ if (!fs.existsSync(sessionPath)) {
141
+ throw new Error("Session path not found: " + sessionPath);
142
+ }
143
+ const data = fs.readFileSync(sessionPath, "utf8");
144
+ storageState = JSON.parse(data).storageState;
43
145
  }
44
- const storageState = { cookies, origins };
45
- let browser = await browserManager.createBrowser(headless, storageState, extensionPath, userDataDirPath);
46
- let context = new TestContext();
47
- context.browser = browser.browser;
48
- context.playContext = browser.context;
49
- context.page = browser.page;
50
- context.headless = headless;
51
- context.environment = environment;
52
- context.browserName = browser.browser ? browser.browser.browserType().name() : "unknown";
53
- if (createStable) {
54
- context.stable = new StableBrowser(context.browser, context.page, logger, context, world);
55
- }
56
- else {
57
- context.stable = stable;
58
- }
59
- context.api = new Api(logger);
60
- if (moveToRight > 0 && context.browserName === "chromium") {
61
- // move the borwser to the top right corner of the screen
62
- // create a cdp session
63
- // Get CDP session
64
- const playContext = context.playContext;
65
- const client = await playContext.newCDPSession(context.page);
66
- // Get window ID for the current target
67
- const { windowId } = await client.send("Browser.getWindowForTarget");
68
- //console.log(windowId);
69
- // get the window for the current target
70
- const window = await client.send("Browser.getWindowBounds", {
71
- windowId,
72
- });
73
- //console.log(window);
74
- await client.send("Browser.setWindowBounds", {
75
- windowId,
76
- bounds: {
77
- left: window.bounds.left + moveToRight,
78
- },
79
- });
80
- // close cdp
81
- await client.detach();
82
- }
83
- // await _initCookies(context);
84
- return context;
146
+ const newContext = await getContext(web.context.environment, web.context.headless, world, null, web.context.appName, false, web, -1, web.context.reportFolder, web.context.initScripts, storageState);
147
+ web.context.browser = newContext.browser;
148
+ web.context.browserObject = newContext.browserObject;
149
+ web.context.playContext = newContext.playContext;
150
+ web.context.page = newContext.page;
151
+ web.page = newContext.page;
152
+ web.context.pages.push(newContext.page);
153
+ web.context.headless = newContext.headless;
154
+ web.context.environment = newContext.environment;
155
+ web.context.browserName = newContext.browserName;
156
+ web.context.reportFolder = newContext.reportFolder;
157
+ web.context.initScripts = newContext.initScripts;
158
+ await web.goto(web.context.environment.baseUrl);
85
159
  };
86
160
  const closeBrowser = async function (browser) {
87
161
  await browserManager.closeBrowser(browser);
88
162
  };
89
163
  const initEnvironment = function () {
90
- // if (environment === null) {
91
164
  const environment = new Environment();
92
165
  try {
93
166
  let envFile = "";
94
167
  const envArgVal = checkForEnvArg();
95
- if (envArgVal) {
96
- envFile = envArgVal;
97
- }
98
- else if (process.env.BLINQ_ENV) {
168
+ if (process.env.BLINQ_ENV) {
99
169
  envFile = process.env.BLINQ_ENV;
100
170
  }
171
+ else if (envArgVal) {
172
+ envFile = envArgVal;
173
+ }
101
174
  else if (fs.existsSync(path.join(process.cwd(), "env.json"))) {
102
175
  envFile = path.join(process.cwd(), "env.json");
103
176
  }
@@ -111,19 +184,23 @@ const initEnvironment = function () {
111
184
  }
112
185
  }
113
186
  }
114
- // console.log("envFile: ", envFile);
187
+ if (!envFile || !fs.existsSync(envFile)) {
188
+ throw new Error(envFile + " not found");
189
+ }
115
190
  const data = fs.readFileSync(envFile, "utf8");
116
- //console.log("data", data);
117
191
  const envObject = JSON.parse(data);
118
- //console.log("envObject", envObject);
119
192
  Object.assign(environment, envObject);
120
- //console.log("env", environment);
193
+ if (process.env.FAST_MODE === "true") {
194
+ console.log("Fast mode enabled");
195
+ }
196
+ if (process.env.SCREENSHOT_ON_FAILURE_ONLY === "true") {
197
+ console.log("Screenshot on failure only mode enabled");
198
+ }
121
199
  console.log("Base url: " + environment.baseUrl);
122
200
  }
123
201
  catch (err) {
124
202
  console.error("Error reading env.json", err);
125
203
  }
126
- // }
127
204
  return environment;
128
205
  };
129
206
  const checkForEnvArg = function () {
@@ -137,5 +214,5 @@ const checkForEnvArg = function () {
137
214
  }
138
215
  return null;
139
216
  };
140
- export { getContext, closeBrowser };
217
+ export { getContext, closeBrowser, refreshBrowser };
141
218
  //# sourceMappingURL=init_browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init_browser.js","sourceRoot":"","sources":["../../src/init_browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init_browser.js","sourceRoot":"","sources":["../../src/init_browser.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import fs from "fs";
1
+ import axios from "axios";
2
2
  import * as path from "path";
3
3
  import { fileURLToPath } from "url";
4
+ import { _getServerUrl } from "./utils.js";
4
5
  // Get __filename and __dirname in ESM
5
6
  const __filename = fileURLToPath(import.meta.url);
6
7
  const __dirname = path.dirname(__filename);
@@ -8,15 +9,15 @@ export async function locate_element(context, elementDescription, operation = "c
8
9
  // load the axe-core library to all of the frames in the page
9
10
  // read the axe-core library from the file system placed in the same folder as the script file, name axe.mini.js
10
11
  // Construct the path to axe.min.js relative to the current file
11
- let axeMinJsPath = path.join(__dirname, "..", "axe", "axe.mini.js");
12
- // Check if the file exists
13
- if (!fs.existsSync(axeMinJsPath)) {
14
- axeMinJsPath = path.join(__dirname, "axe", "axe.mini.js");
15
- }
16
- // Read the content of axe.min.js synchronously
17
- const axeMinJsContent = fs.readFileSync(axeMinJsPath, "utf-8");
18
- await Promise.all(context.stable.page.frames().map((frame) => frame.evaluate(axeMinJsContent)));
19
- const frames = await context.stable.page.frames();
12
+ // let axeMinJsPath = path.join(__dirname, "..", "scripts", "axe.mini.js");
13
+ // // Check if the file exists
14
+ // if (!fs.existsSync(axeMinJsPath)) {
15
+ // axeMinJsPath = path.join(__dirname, "scripts", "axe.mini.js");
16
+ // }
17
+ // // Read the content of axe.min.js synchronously
18
+ // const axeMinJsContent = fs.readFileSync(axeMinJsPath, "utf-8");
19
+ // await Promise.all(context.web.page.frames().map((frame: any) => frame.evaluate(axeMinJsContent)));
20
+ const frames = await context.web.page.frames();
20
21
  // for each frame create a tree of the accessibility nodes
21
22
  const frameDump = [];
22
23
  let iframeIndex = 0;
@@ -170,11 +171,12 @@ export async function locate_element(context, elementDescription, operation = "c
170
171
  }
171
172
  }
172
173
  traverseDFS(frameDump[0]);
173
- let serviceUrl = context.stable._getServerUrl();
174
- const request = {
175
- method: "POST",
174
+ let serviceUrl = _getServerUrl();
175
+ const config = {
176
+ method: "post",
176
177
  url: `${serviceUrl}/api/runs/locate-element/locate`,
177
178
  headers: {
179
+ "x-source": "true",
178
180
  "Content-Type": "application/json",
179
181
  Authorization: `Bearer ${process.env.TOKEN}`,
180
182
  },
@@ -185,7 +187,7 @@ export async function locate_element(context, elementDescription, operation = "c
185
187
  value: value,
186
188
  }),
187
189
  };
188
- let result = await context.api.request(request);
190
+ let result = await axios.request(config);
189
191
  //console.log(JSON.stringify(frameDump[0]));
190
192
  if (result.status !== 200 || !result.data || result.data.status !== true || !result.data.result) {
191
193
  console.error("Failed to locate element");