automation_model 1.0.421-dev → 1.0.421

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 (57) hide show
  1. package/README.md +130 -0
  2. package/lib/api.d.ts +43 -1
  3. package/lib/api.js +228 -41
  4. package/lib/api.js.map +1 -1
  5. package/lib/auto_page.d.ts +5 -2
  6. package/lib/auto_page.js +140 -44
  7. package/lib/auto_page.js.map +1 -1
  8. package/lib/browser_manager.d.ts +7 -3
  9. package/lib/browser_manager.js +153 -48
  10. package/lib/browser_manager.js.map +1 -1
  11. package/lib/command_common.d.ts +6 -0
  12. package/lib/command_common.js +182 -0
  13. package/lib/command_common.js.map +1 -0
  14. package/lib/environment.d.ts +3 -0
  15. package/lib/environment.js +5 -2
  16. package/lib/environment.js.map +1 -1
  17. package/lib/error-messages.d.ts +6 -0
  18. package/lib/error-messages.js +206 -0
  19. package/lib/error-messages.js.map +1 -0
  20. package/lib/generation_scripts.d.ts +4 -0
  21. package/lib/generation_scripts.js +2 -0
  22. package/lib/generation_scripts.js.map +1 -0
  23. package/lib/index.d.ts +1 -0
  24. package/lib/index.js +1 -0
  25. package/lib/index.js.map +1 -1
  26. package/lib/init_browser.d.ts +5 -2
  27. package/lib/init_browser.js +122 -7
  28. package/lib/init_browser.js.map +1 -1
  29. package/lib/locate_element.d.ts +7 -0
  30. package/lib/locate_element.js +215 -0
  31. package/lib/locate_element.js.map +1 -0
  32. package/lib/locator.d.ts +36 -0
  33. package/lib/locator.js +165 -0
  34. package/lib/locator.js.map +1 -1
  35. package/lib/locator_log.d.ts +26 -0
  36. package/lib/locator_log.js +69 -0
  37. package/lib/locator_log.js.map +1 -0
  38. package/lib/network.d.ts +3 -0
  39. package/lib/network.js +183 -0
  40. package/lib/network.js.map +1 -0
  41. package/lib/scripts/axe.mini.js +12 -0
  42. package/lib/stable_browser.d.ts +98 -36
  43. package/lib/stable_browser.js +1683 -1276
  44. package/lib/stable_browser.js.map +1 -1
  45. package/lib/table.d.ts +13 -0
  46. package/lib/table.js +187 -0
  47. package/lib/table.js.map +1 -0
  48. package/lib/table_helper.d.ts +19 -0
  49. package/lib/table_helper.js +101 -0
  50. package/lib/table_helper.js.map +1 -0
  51. package/lib/test_context.d.ts +5 -0
  52. package/lib/test_context.js +13 -10
  53. package/lib/test_context.js.map +1 -1
  54. package/lib/utils.d.ts +19 -1
  55. package/lib/utils.js +555 -5
  56. package/lib/utils.js.map +1 -1
  57. package/package.json +14 -9
package/lib/auto_page.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { browserManager } from "./browser_manager.js";
2
2
  import { getContext } from "./init_browser.js";
3
- import fs from "fs";
3
+ import fs, { existsSync } from "fs";
4
4
  import path from "path";
5
+ import { _getDataFile, decrypt } from "./utils.js";
5
6
  let context = null;
6
7
  let reportFolder = "";
7
8
  const navigate = async (path = "") => {
@@ -26,67 +27,93 @@ const _findEmptyFolder = (folder) => {
26
27
  if (!fs.existsSync(folder)) {
27
28
  fs.mkdirSync(folder);
28
29
  }
30
+ if (process.env.REPORT_FOLDER) {
31
+ return process.env.REPORT_FOLDER;
32
+ }
33
+ if (process.env.REPORT_ID) {
34
+ return path.join(folder, process.env.REPORT_ID);
35
+ }
29
36
  let nextIndex = 1;
30
37
  while (fs.existsSync(path.join(folder, nextIndex.toString()))) {
31
38
  nextIndex++;
32
39
  }
33
40
  return path.join(folder, nextIndex.toString());
34
41
  };
35
- const initContext = async (path, doNavigate = true, headless = false, world = null, moveToRight = -1) => {
36
- if (context) {
42
+ const initContext = async (path, doNavigate = true, headless = false, world = null, moveToRight = -1, initScript = null, envName = null) => {
43
+ if (context && context.playContext && context.playContext.isClosed !== true) {
37
44
  return context;
38
45
  }
39
- if (world && world.context) {
46
+ if (world && world.context && world.context.playContext && world.context.playContext.isClosed !== true) {
40
47
  return world.context;
41
48
  }
42
- context = await getContext(null, headless);
43
- if (world) {
44
- world.context = context;
45
- world.screenshot = true;
46
- if (!reportFolder) {
47
- reportFolder = _findEmptyFolder();
48
- if (world.attach) {
49
- world.attach(reportFolder, { mediaType: "text/plain" });
50
- world.attach(JSON.stringify(context.environment), {
51
- mediaType: "application/json+env",
52
- });
53
- }
49
+ if (!reportFolder) {
50
+ reportFolder = _findEmptyFolder();
51
+ if (world && world.attach) {
52
+ world.attach(reportFolder, { mediaType: "text/plain" });
54
53
  }
55
- world.screenshotPath = reportFolder + "/screenshots/";
56
- if (!fs.existsSync(world.screenshotPath)) {
57
- fs.mkdirSync(world.screenshotPath, { recursive: true });
54
+ }
55
+ const globalTestDataFile = process.env.GLOBAL_TEST_DATA_FILE;
56
+ if (globalTestDataFile) {
57
+ // check if file exists
58
+ if (!fs.existsSync(globalTestDataFile)) {
59
+ console.log("GLOBAL_TEST_DATA_FILE not found: " + process.env.GLOBAL_TEST_DATA_FILE);
60
+ }
61
+ else {
62
+ // if report folder does not exist, create it
63
+ if (!fs.existsSync(reportFolder)) {
64
+ fs.mkdirSync(reportFolder, { recursive: true });
65
+ }
66
+ // copy the test data file to the report folder as data.json
67
+ fs.copyFileSync(globalTestDataFile, reportFolder + "/data.json");
58
68
  }
69
+ }
70
+ const screenshotPath = reportFolder + "/screenshots/";
71
+ if (!fs.existsSync(screenshotPath)) {
72
+ fs.mkdirSync(screenshotPath, { recursive: true });
73
+ }
74
+ if (world) {
59
75
  world.reportFolder = reportFolder;
60
- context.reportFolder = reportFolder;
61
- }
62
- if (moveToRight > 0) {
63
- // move the borwser to the top right corner of the screen
64
- // create a cdp session
65
- // Get CDP session
66
- const playContext = context.playContext;
67
- const client = await playContext.newCDPSession(context.page);
68
- // Get window ID for the current target
69
- const { windowId } = await client.send("Browser.getWindowForTarget");
70
- console.log(windowId);
71
- // get the window for the current target
72
- const window = await client.send("Browser.getWindowBounds", {
73
- windowId,
74
- });
75
- console.log(window);
76
- await client.send("Browser.setWindowBounds", {
77
- windowId,
78
- bounds: {
79
- left: window.bounds.left + moveToRight,
80
- },
81
- });
82
- // close cdp
83
- await client.detach();
76
+ world.screenshotPath = screenshotPath;
77
+ world.screenshot = true;
84
78
  }
79
+ context = await getContext(null, headless, world, null, null, true, null, moveToRight, reportFolder, initScript);
80
+ if (world) {
81
+ world.context = context;
82
+ if (world.attach) {
83
+ world.attach(JSON.stringify(context.environment), {
84
+ mediaType: "application/json+env",
85
+ });
86
+ }
87
+ }
88
+ context.reportFolder = reportFolder;
85
89
  if (doNavigate) {
86
90
  await navigate(path);
87
91
  }
92
+ if (context) {
93
+ const env = getEnv(envName);
94
+ if (env) {
95
+ await getTestData(env, world);
96
+ }
97
+ }
88
98
  return context;
89
99
  };
100
+ const getEnv = (envName) => {
101
+ let env = process.env.BLINQ_ENV;
102
+ if (envName) {
103
+ env = envName;
104
+ }
105
+ if (env) {
106
+ try {
107
+ const content = JSON.parse(fs.readFileSync(env, "utf8"));
108
+ return content.name;
109
+ }
110
+ catch (e) {
111
+ console.log("Error reading env file: " + e);
112
+ return null;
113
+ }
114
+ }
115
+ return null;
116
+ };
90
117
  const closeContext = async () => {
91
118
  try {
92
119
  if (context && context.browser) {
@@ -98,6 +125,75 @@ const closeContext = async () => {
98
125
  // ignore
99
126
  }
100
127
  context = null;
128
+ reportFolder = "";
129
+ };
130
+ const getTestData = async (currentEnv, world, dataFile) => {
131
+ try {
132
+ if (fs.existsSync(path.join("data", "data.json"))) {
133
+ const data = fs.readFileSync(path.join("data", "data.json"), "utf8");
134
+ const jsonData = JSON.parse(data);
135
+ const testData = {};
136
+ const allEnvData = jsonData["*"];
137
+ const currentEnvData = jsonData[currentEnv];
138
+ if (allEnvData) {
139
+ for (let i = 0; i < allEnvData.length; i++) {
140
+ const item = allEnvData[i];
141
+ if (process.env[item.key] && item.key.toLowerCase() !== "username" && item.key.toLowerCase() !== "user") {
142
+ testData[item.key] = process.env[item.key];
143
+ continue;
144
+ }
145
+ let useValue = item.value;
146
+ if (item.DataType === "secret") {
147
+ testData[item.key] = "secret:" + item.value;
148
+ // decrypt the secret
149
+ useValue = await decrypt("secret:" + item.value);
150
+ }
151
+ else if (item.DataType === "totp") {
152
+ testData[item.key] = "totp:" + item.value;
153
+ useValue = "totp:" + item.value;
154
+ }
155
+ else {
156
+ testData[item.key] = item.value;
157
+ }
158
+ // if the key is not part of process.env, add it so any test dava value can be access via process.env
159
+ process.env[item.key] = useValue;
160
+ }
161
+ }
162
+ if (currentEnvData) {
163
+ for (let i = 0; i < currentEnvData.length; i++) {
164
+ const item = currentEnvData[i];
165
+ if (process.env[item.key] && item.key.toLowerCase() !== "username" && item.key.toLowerCase() !== "user") {
166
+ testData[item.key] = process.env[item.key];
167
+ continue;
168
+ }
169
+ if (item.DataType === "secret") {
170
+ testData[item.key] = "secret:" + item.value;
171
+ }
172
+ else if (item.DataType === "totp") {
173
+ testData[item.key] = "totp:" + item.value;
174
+ }
175
+ else {
176
+ testData[item.key] = item.value;
177
+ }
178
+ }
179
+ }
180
+ if (dataFile && !existsSync(path.dirname(dataFile))) {
181
+ fs.mkdirSync(path.dirname(dataFile), { recursive: true });
182
+ }
183
+ if (!dataFile)
184
+ dataFile = _getDataFile(world, context, context?.stable);
185
+ fs.writeFileSync(dataFile, JSON.stringify(testData, null, 2));
186
+ }
187
+ }
188
+ catch (e) {
189
+ console.log("Error reading data.json file: " + e);
190
+ }
191
+ };
192
+ const resetTestData = async (envPath, world) => {
193
+ const envName = getEnv(envPath);
194
+ if (envName) {
195
+ getTestData(envName, world);
196
+ }
101
197
  };
102
- export { initContext, navigate, closeContext };
198
+ export { initContext, navigate, closeContext, resetTestData, getTestData };
103
199
  //# sourceMappingURL=auto_page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto_page.js","sourceRoot":"","sources":["../../src/auto_page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto_page.js","sourceRoot":"","sources":["../../src/auto_page.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Browser as PlaywrightBrowser, BrowserContext, Page } from "playwright";
2
2
  import type { Cookie, LocalStorage } from "./environment.js";
3
+ import { InitScripts } from "./generation_scripts.js";
3
4
  type StorageState = {
4
5
  cookies: Cookie[];
5
6
  origins: {
@@ -12,15 +13,18 @@ declare class BrowserManager {
12
13
  constructor(browsers?: Browser[]);
13
14
  closeAll(): Promise<void>;
14
15
  closeBrowser(browser?: PlaywrightBrowser | Browser): Promise<void>;
15
- createBrowser(headless?: boolean, storageState?: StorageState, extensionPath?: string, userDataDirPath?: string): Promise<Browser>;
16
- getBrowser(headless?: boolean, storageState?: StorageState, extensionPath?: string, userDataDirPath?: string): Promise<Browser>;
16
+ createBrowser(headless?: boolean, storageState?: StorageState, extensionPath?: string, userDataDirPath?: string, reportFolder?: string, userAgent?: string, channel?: string, aiConfig?: any, initScripts?: InitScripts | null): Promise<Browser>;
17
17
  }
18
18
  declare class Browser {
19
19
  browser: PlaywrightBrowser | null;
20
20
  context: BrowserContext | null;
21
21
  page: Page | null;
22
+ headless: boolean;
23
+ reportFolder: string | null;
24
+ trace: boolean;
25
+ traceFolder: string | null;
22
26
  constructor();
23
- init(headless?: boolean, storageState?: StorageState, extensionPath?: string, userDataDirPath?: string): Promise<void>;
27
+ init(headless?: boolean, storageState?: StorageState, extensionPath?: string, userDataDirPath?: string, reportFolder?: string, userAgent?: string, channel?: string, aiConfig?: any, initScripts?: InitScripts | null): Promise<void>;
24
28
  close(): Promise<void>;
25
29
  }
26
30
  declare const browserManager: BrowserManager;
@@ -1,5 +1,12 @@
1
1
  import { chromium, firefox, webkit, } from "playwright";
2
+ import fs from "fs";
3
+ import path from "path";
4
+ import { fileURLToPath } from "url";
5
+ // Get __filename and __dirname in ESM
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
2
8
  class BrowserManager {
9
+ browsers;
3
10
  constructor(browsers = []) {
4
11
  this.browsers = browsers;
5
12
  }
@@ -9,7 +16,10 @@ class BrowserManager {
9
16
  }
10
17
  async closeBrowser(browser) {
11
18
  if (!browser && this.browsers.length > 0) {
12
- browser = this.browsers[0];
19
+ for (let i = 0; i < this.browsers.length; i++) {
20
+ await this.browsers[i].close();
21
+ }
22
+ this.browsers = [];
13
23
  }
14
24
  if (browser) {
15
25
  await browser.close();
@@ -22,37 +32,58 @@ class BrowserManager {
22
32
  }
23
33
  }
24
34
  }
25
- async createBrowser(headless = false, storageState, extensionPath, userDataDirPath) {
35
+ async createBrowser(headless = false, storageState, extensionPath, userDataDirPath, reportFolder, userAgent, channel, aiConfig, initScripts = null) {
26
36
  const browser = new Browser();
27
- await browser.init(headless, storageState, extensionPath, userDataDirPath);
37
+ await browser.init(headless, storageState, extensionPath, userDataDirPath, reportFolder, userAgent, channel, aiConfig, initScripts);
28
38
  this.browsers.push(browser);
29
39
  return browser;
30
40
  }
31
- async getBrowser(headless = false, storageState, extensionPath, userDataDirPath) {
32
- if (this.browsers.length === 0) {
33
- return await this.createBrowser(headless, storageState, extensionPath, userDataDirPath);
34
- }
35
- return this.browsers[0];
36
- }
37
41
  }
38
42
  class Browser {
43
+ browser;
44
+ context;
45
+ page;
46
+ headless = false;
47
+ reportFolder = null;
48
+ trace = false;
49
+ traceFolder = null;
39
50
  constructor() {
40
51
  this.browser = null;
41
52
  this.context = null;
42
53
  this.page = null;
43
54
  }
44
- async init(headless = false, storageState, extensionPath, userDataDirPath) {
55
+ async init(headless = false, storageState, extensionPath, userDataDirPath, reportFolder, userAgent, channel, aiConfig, initScripts = null) {
56
+ if (!aiConfig) {
57
+ aiConfig = {};
58
+ }
59
+ // if (!downloadsPath) {
60
+ // downloadsPath = "downloads";
61
+ // }
62
+ // // check if downloads path exists
63
+ // if (!fs.existsSync(downloadsPath)) {
64
+ // fs.mkdirSync(downloadsPath, { recursive: true });
65
+ // }
66
+ this.headless = headless;
67
+ if (reportFolder) {
68
+ this.reportFolder = reportFolder;
69
+ }
45
70
  let viewport = null;
46
71
  if (process.env.HEADLESS === "true") {
47
72
  headless = true;
73
+ this.headless = true;
48
74
  }
49
75
  else if (process.env.HEADLESS === "false") {
50
76
  headless = false;
77
+ this.headless = false;
51
78
  }
52
79
  if (process.env.VIEWPORT) {
53
80
  let viewportParts = process.env.VIEWPORT.split(",");
54
81
  viewport = { width: parseInt(viewportParts[0]), height: parseInt(viewportParts[1]) };
55
82
  }
83
+ const args = ["--ignore-https-errors", "--ignore-certificate-errors"];
84
+ if (process.env.CDP_LISTEN_PORT) {
85
+ args.push(`--remote-debugging-port=${process.env.CDP_LISTEN_PORT}`);
86
+ }
56
87
  if (!extensionPath && userDataDirPath) {
57
88
  this.context = await chromium.launchPersistentContext(userDataDirPath, {
58
89
  headless: false,
@@ -60,29 +91,9 @@ class Browser {
60
91
  bypassCSP: true,
61
92
  args: ["--ignore-https-errors", "--no-incognito", "--ignore-certificate-errors"],
62
93
  });
63
- // this.browser = await chromium.connectOverCDP({
64
- // endpointURL: `http://localhost:${cdpPort}`,
65
- // });
66
- // if (!this.browser) {
67
- // throw new Error("Could not connect to browser");
68
- // }
69
- // this.context = await this.browser.newContext();
70
- //this.page = await this.context.newPage();
71
- // if (this.browser.contexts?.length > 0) {
72
- // this.context = (this.browser.contexts as BrowserContext[])[0];
73
- // //this.context = await this.browser.contexts[0];
74
- // if (this.context.pages.length > 0) {
75
- // this.page = await this.context.pages[0];
76
- // } else {
77
- // this.page = await this.context.newPage();
78
- // }
79
- // } else {
80
- // this.context = await this.browser.newContext();
81
- // this.page = await this.context.newPage();
82
- // }
83
94
  }
84
95
  else if (extensionPath) {
85
- this.context = await chromium.launchPersistentContext(userDataDirPath !== null && userDataDirPath !== void 0 ? userDataDirPath : "", {
96
+ this.context = await chromium.launchPersistentContext(userDataDirPath ?? "", {
86
97
  headless: headless,
87
98
  timeout: 0,
88
99
  bypassCSP: true,
@@ -100,24 +111,51 @@ class Browser {
100
111
  this.browser = await firefox.launch({
101
112
  headless: headless,
102
113
  timeout: 0,
103
- args: ["--ignore-https-errors", "--ignore-certificate-errors"],
114
+ args,
115
+ //downloadsPath: downloadsPath,
104
116
  });
105
117
  }
106
118
  else if (process.env.BROWSER === "webkit") {
107
119
  this.browser = await webkit.launch({
108
120
  headless: headless,
109
121
  timeout: 0,
110
- args: ["--ignore-https-errors", "--ignore-certificate-errors"],
122
+ args,
123
+ //downloadsPath: downloadsPath,
111
124
  });
112
125
  }
126
+ else if (channel) {
127
+ {
128
+ this.browser = await chromium.launch({
129
+ headless: headless,
130
+ timeout: 0,
131
+ args,
132
+ channel: channel,
133
+ //downloadsPath: downloadsPath,
134
+ });
135
+ }
136
+ }
113
137
  else {
114
- this.browser = await chromium.launch({
115
- headless: headless,
116
- timeout: 0,
117
- args: ["--ignore-https-errors", "--ignore-certificate-errors"],
118
- });
138
+ if (process.env.CDP_CONNECT_URL) {
139
+ this.browser = await chromium.connectOverCDP(process.env.CDP_CONNECT_URL);
140
+ }
141
+ else {
142
+ this.browser = await chromium.launch({
143
+ headless: headless,
144
+ timeout: 0,
145
+ args,
146
+ //downloadsPath: downloadsPath,
147
+ });
148
+ }
119
149
  }
150
+ // downloadsPath
120
151
  let contextOptions = {};
152
+ if (aiConfig.contextOptions) {
153
+ contextOptions = aiConfig.contextOptions;
154
+ console.log("contextOptions: " + JSON.stringify(contextOptions));
155
+ }
156
+ if (!contextOptions["acceptDownloads"]) {
157
+ contextOptions["acceptDownloads"] = true;
158
+ }
121
159
  if (storageState) {
122
160
  contextOptions.storageState = storageState;
123
161
  contextOptions.bypassCSP = true;
@@ -126,12 +164,86 @@ class Browser {
126
164
  if (viewport) {
127
165
  contextOptions.viewport = viewport;
128
166
  }
129
- this.context = await this.browser.newContext(contextOptions);
167
+ else {
168
+ if (!this.headless) {
169
+ contextOptions.viewport = null;
170
+ }
171
+ }
172
+ if (userAgent) {
173
+ contextOptions.userAgent = userAgent;
174
+ }
175
+ if (!this.context && this.browser) {
176
+ if (this.browser.contexts().length > 0) {
177
+ this.context = this.browser.contexts()[this.browser.contexts().length - 1];
178
+ }
179
+ else {
180
+ this.context = await this.browser.newContext(contextOptions);
181
+ }
182
+ }
183
+ }
184
+ if ((process.env.TRACE === "true" || aiConfig.trace === true) && this.context) {
185
+ this.trace = true;
186
+ const traceFolder = path.join(this.reportFolder, "trace");
187
+ //const traceFile = path.join(traceFolder, "trace.zip");
188
+ if (!fs.existsSync(traceFolder)) {
189
+ fs.mkdirSync(traceFolder, { recursive: true });
190
+ }
191
+ this.traceFolder = traceFolder;
192
+ await this.context.tracing.start({ screenshots: true, snapshots: true });
193
+ }
194
+ if (initScripts && this.context) {
195
+ if (initScripts.recorderCjs) {
196
+ await this.context.addInitScript({
197
+ content: `
198
+ (() => {
199
+ const module = {};
200
+ ${initScripts.recorderCjs}
201
+ const sss = new (module.exports.InjectedScript())(
202
+ window,
203
+ true,
204
+ "javascript",
205
+ [],
206
+ ${0},
207
+ "${this.browser?.browserType().name()}",
208
+ []
209
+ );
210
+ })();`,
211
+ });
212
+ }
213
+ if (initScripts.scripts) {
214
+ for (let script of initScripts.scripts) {
215
+ await this.context.addInitScript({
216
+ content: script,
217
+ });
218
+ }
219
+ }
220
+ }
221
+ let axeMinJsPath = path.join(__dirname, "..", "scripts", "axe.mini.js");
222
+ // Check if the file exists
223
+ if (!fs.existsSync(axeMinJsPath)) {
224
+ axeMinJsPath = path.join(__dirname, "scripts", "axe.mini.js");
225
+ }
226
+ // Read the content of axe.min.js synchronously
227
+ const axeMinJsContent = fs.readFileSync(axeMinJsPath, "utf-8");
228
+ await this.context?.addInitScript({
229
+ content: axeMinJsContent,
230
+ });
231
+ if (this.context && this.context.pages().length > 0) {
232
+ this.page = this.context.pages()[this.context.pages().length - 1];
233
+ }
234
+ else {
235
+ this.page = await this.context.newPage();
236
+ }
237
+ if (this.context) {
238
+ this.context.on("close", () => {
239
+ this.context.isClosed = true;
240
+ });
130
241
  }
131
- // }
132
- this.page = await this.context.newPage();
133
242
  }
134
243
  async close() {
244
+ if (process.env.IGNORE_BROWSER_CLOSE === "true") {
245
+ return;
246
+ }
135
247
  if (this.browser !== null) {
136
248
  await this.browser.close();
137
249
  this.browser = null;
@@ -142,11 +254,4 @@ class Browser {
142
254
  }
143
255
  const browserManager = new BrowserManager();
144
256
  export { browserManager };
145
- // let browser = await browserManager.createBrowser();
146
- // browser.page.goto("https://www.cnn.com");
147
- // let browser2 = await browserManager.createBrowser();
148
- // await browser2.page.goto("https://www.google.com");
149
- // // sleep for 2 seconds
150
- // await new Promise((r) => setTimeout(r, 1000));
151
- // await browserManager.closeAll();
152
257
  //# sourceMappingURL=browser_manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser_manager.js","sourceRoot":"","sources":["../../src/browser_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser_manager.js","sourceRoot":"","sources":["../../src/browser_manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function _preCommand(state: any, stable: any): Promise<void>;
2
+ export declare function _commandError(state: any, error: any, stable: any): Promise<void>;
3
+ export declare function _screenshot(state: any, stable: any, specificElement?: any): Promise<void>;
4
+ export declare function _commandFinally(state: any, stable: any): void;
5
+ export declare function _validateSelectors(selectors: any): void;
6
+ export declare function _reportToWorld(world: any, properties: any): void;