automation_model 1.0.464-dev → 1.0.464

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 +43 -2
  4. package/lib/api.js +240 -49
  5. package/lib/api.js.map +1 -1
  6. package/lib/auto_page.d.ts +7 -2
  7. package/lib/auto_page.js +282 -26
  8. package/lib/auto_page.js.map +1 -1
  9. package/lib/browser_manager.d.ts +6 -3
  10. package/lib/browser_manager.js +163 -47
  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 +6 -0
  19. package/lib/command_common.js +218 -0
  20. package/lib/command_common.js.map +1 -0
  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 +6 -3
  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 +165 -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 +159 -82
  41. package/lib/init_browser.js.map +1 -1
  42. package/lib/locate_element.d.ts +7 -0
  43. package/lib/locate_element.js +215 -0
  44. package/lib/locate_element.js.map +1 -0
  45. package/lib/locator.d.ts +37 -0
  46. package/lib/locator.js +172 -0
  47. package/lib/locator.js.map +1 -1
  48. package/lib/locator_log.d.ts +26 -0
  49. package/lib/locator_log.js +69 -0
  50. package/lib/locator_log.js.map +1 -0
  51. package/lib/network.d.ts +5 -0
  52. package/lib/network.js +494 -0
  53. package/lib/network.js.map +1 -0
  54. package/lib/route.d.ts +21 -0
  55. package/lib/route.js +575 -0
  56. package/lib/route.js.map +1 -0
  57. package/lib/scripts/axe.mini.js +12 -0
  58. package/lib/snapshot_validation.d.ts +37 -0
  59. package/lib/snapshot_validation.js +357 -0
  60. package/lib/snapshot_validation.js.map +1 -0
  61. package/lib/stable_browser.d.ts +157 -55
  62. package/lib/stable_browser.js +2757 -1298
  63. package/lib/stable_browser.js.map +1 -1
  64. package/lib/table.d.ts +15 -0
  65. package/lib/table.js +257 -0
  66. package/lib/table.js.map +1 -0
  67. package/lib/table_analyze.js.map +1 -1
  68. package/lib/table_helper.d.ts +19 -0
  69. package/lib/table_helper.js +130 -0
  70. package/lib/table_helper.js.map +1 -0
  71. package/lib/test_context.d.ts +6 -0
  72. package/lib/test_context.js +16 -12
  73. package/lib/test_context.js.map +1 -1
  74. package/lib/utils.d.ts +36 -2
  75. package/lib/utils.js +709 -13
  76. package/lib/utils.js.map +1 -1
  77. package/package.json +22 -12
@@ -0,0 +1,165 @@
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
+ const checkFileAccess = (filePath, accessMode) => {
7
+ return new Promise((resolve) => {
8
+ fs.access(filePath, accessMode, (err) => {
9
+ resolve(!err);
10
+ });
11
+ });
12
+ };
13
+ const getFileName = (filePath) => {
14
+ const platform = process.platform;
15
+ return platform === "win32" ? filePath.split("\\").pop() || "" : filePath.split("/").pop() || "";
16
+ };
17
+ // Simplified regex check
18
+ function testForRegex(text) {
19
+ return text.startsWith("regex:");
20
+ }
21
+ export const verifyFileExists = async (filePath, options, context, world) => {
22
+ if (!options)
23
+ options = {};
24
+ const fileName = getFileName(filePath);
25
+ let isSoft = false;
26
+ const match = filePath.match(/(soft:)?(regex:|exact:|contains:)(.*)/);
27
+ if (match) {
28
+ isSoft = !!match[1]; // true if 'soft:' is present
29
+ }
30
+ const state = {
31
+ locate: false,
32
+ scroll: false,
33
+ screenshot: false,
34
+ highlight: false,
35
+ throwError: !isSoft, // don't throw error for soft assertions
36
+ operation: "verifyFileExists",
37
+ value: filePath,
38
+ text: `Verify file ${fileName} exists`,
39
+ options,
40
+ type: Types.VERIFY_FILE_EXISTS,
41
+ world,
42
+ };
43
+ await _preCommand(state, context.web);
44
+ try {
45
+ let pathToMatch = filePath;
46
+ if (isSoft) {
47
+ pathToMatch = filePath.replace(/^soft:/, ""); // remove soft: prefix for parsing
48
+ }
49
+ let dir;
50
+ let input;
51
+ console.log("pathSeparator", path.sep);
52
+ if (pathToMatch.includes("regex:")) {
53
+ const regexIndex = pathToMatch.indexOf("regex:");
54
+ // Handle both forward slashes and backslashes before regex:
55
+ let dirPart = pathToMatch.substring(0, regexIndex);
56
+ // Remove trailing slash/backslash
57
+ if (dirPart.endsWith("/") || dirPart.endsWith("\\")) {
58
+ dirPart = dirPart.slice(0, -1);
59
+ }
60
+ dir = dirPart;
61
+ input = pathToMatch.substring(regexIndex);
62
+ }
63
+ else {
64
+ // Use path.sep to handle both forward and backward slashes
65
+ const pathSeparator = path.sep;
66
+ const lastSlashIndex = pathToMatch.lastIndexOf(pathSeparator);
67
+ // If no separator found, try the other separator (for mixed paths)
68
+ if (lastSlashIndex === -1) {
69
+ const alternativeSeparator = pathSeparator === "/" ? "\\" : "/";
70
+ const altLastSlashIndex = pathToMatch.lastIndexOf(alternativeSeparator);
71
+ if (altLastSlashIndex !== -1) {
72
+ dir = pathToMatch.substring(0, altLastSlashIndex);
73
+ input = pathToMatch.substring(altLastSlashIndex + 1);
74
+ }
75
+ else {
76
+ // No separator found, assume current directory
77
+ dir = ".";
78
+ input = pathToMatch;
79
+ }
80
+ }
81
+ else {
82
+ dir = pathToMatch.substring(0, lastSlashIndex);
83
+ input = pathToMatch.substring(lastSlashIndex + 1);
84
+ }
85
+ }
86
+ if (isSoft) {
87
+ dir = dir.slice(0, -5);
88
+ }
89
+ console.log(`Directory to check: ${dir}`);
90
+ console.log(`Input pattern: ${input}`);
91
+ const files = await fsAsync.readdir(dir);
92
+ let found = false;
93
+ if (input.startsWith("exact:")) {
94
+ const target = input.replace("exact:", "");
95
+ found = files.includes(target);
96
+ }
97
+ else if (input.startsWith("contains:")) {
98
+ const target = input.replace("contains:", "");
99
+ found = files.some((f) => f.includes(target));
100
+ }
101
+ else if (input.startsWith("format:")) {
102
+ const extension = input.replace("format:", "");
103
+ found = files.some((f) => f.endsWith(`.${extension}`));
104
+ }
105
+ else if (testForRegex(input)) {
106
+ let raw = input.replace("regex:", "").trim(); // e.g. "/file/i" or "file.*::i"
107
+ let pattern = raw;
108
+ let flags = "";
109
+ // Normalize delimiters: convert backslash delimiters to forward slash delimiters
110
+ // This preserves the regex pattern while standardizing the delimiter format
111
+ if (raw.startsWith("\\") && raw.lastIndexOf("\\") > 0) {
112
+ // Convert \pattern\flags to /pattern/flags format
113
+ const lastBackslash = raw.lastIndexOf("\\");
114
+ const patternPart = raw.substring(1, lastBackslash);
115
+ const flagsPart = raw.substring(lastBackslash + 1);
116
+ raw = `/${patternPart}/${flagsPart}`;
117
+ }
118
+ // Now handle the standardized format
119
+ if (raw.startsWith("/") && raw.lastIndexOf("/") > 0) {
120
+ // Standard regex format: /pattern/flags
121
+ const lastSlash = raw.lastIndexOf("/");
122
+ flags = raw.substring(lastSlash + 1);
123
+ pattern = raw.substring(1, lastSlash);
124
+ }
125
+ else if (raw.includes("::")) {
126
+ // Alternative format: pattern::flags
127
+ [pattern, flags] = raw.split("::");
128
+ }
129
+ console.log(`Regex pattern: ${pattern}, flags: ${flags}`);
130
+ try {
131
+ const regex = new RegExp(pattern, flags);
132
+ found = files.some((f) => {
133
+ const matched = regex.test(f);
134
+ return matched;
135
+ });
136
+ }
137
+ catch (regexError) {
138
+ throw new Error(`Invalid regex pattern: ${pattern}`);
139
+ }
140
+ }
141
+ else {
142
+ // Fallback to exact path check
143
+ found = await checkFileAccess(pathToMatch, fs.constants.F_OK);
144
+ }
145
+ if (!found) {
146
+ console.log(`Available files in '${dir}':`, files);
147
+ if (!isSoft) {
148
+ throw new Error(`No file matched the pattern: ${filePath}`);
149
+ }
150
+ else {
151
+ console.warn(`Soft assertion failed for pattern: ${filePath}`);
152
+ }
153
+ }
154
+ else {
155
+ console.log(`File verification successful for pattern: ${input}`);
156
+ }
157
+ }
158
+ catch (err) {
159
+ await _commandError(state, err, context.web);
160
+ }
161
+ finally {
162
+ await _commandFinally(state, context.web);
163
+ }
164
+ };
165
+ //# 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 };
@@ -5,99 +5,172 @@ 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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"}
@@ -0,0 +1,7 @@
1
+ export declare function locate_element(context: any, elementDescription: string, operation?: string, value?: string | null): Promise<{
2
+ reason: any;
3
+ elementNumber: any;
4
+ frameIndex: number;
5
+ frame: null;
6
+ css: string;
7
+ } | null>;