automation_model 1.0.353-dev.0 → 1.0.354-dev.0

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.
@@ -47,19 +47,6 @@ const getContext = async function (environment, headless = false, logger) {
47
47
  // await _initCookies(context);
48
48
  return context;
49
49
  };
50
- // const _initCookies = async function (context) {
51
- // if (context.environment.cookies) {
52
- // const cookies = [];
53
- // for (let i = 0; i < context.environment.cookies.length; i++) {
54
- // const cookie = context.environment.cookies[i];
55
- // if (cookie.expires && cookie.expires == "undefined") {
56
- // delete cookie.expires;
57
- // }
58
- // cookies.push(cookie);
59
- // }
60
- // await context.playContext.addCookies(cookies);
61
- // }
62
- // };
63
50
  const closeBrowser = async function (browser) {
64
51
  await browserManager.closeBrowser(browser);
65
52
  };
@@ -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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"}
package/lib/popups.d.ts CHANGED
@@ -1,2 +0,0 @@
1
- import type { Page } from "playwright";
2
- export declare const closeUnexpectedPopups: (page: Page) => Promise<void>;
package/lib/popups.js CHANGED
@@ -1,34 +1,36 @@
1
- import * as fs from "fs";
2
- let config = null;
3
- export const closeUnexpectedPopups = async (page) => {
4
- if (!config) {
5
- if (!fs.existsSync("ai_config.json")) {
6
- return;
7
- }
8
- const ai_config_file_content = fs.readFileSync("ai_config.json", "utf8");
9
- config = JSON.parse(ai_config_file_content);
10
- }
11
- const popups = config["on_dialog"];
12
- if (!popups)
13
- return;
14
- if (!Array.isArray(popups)) {
15
- console.error("on_dialog in ai_config.json must be an array of {dialog_css:string, dismiss_css:string}");
16
- return;
17
- }
18
- for (const { dialog_css, dismiss_css } of popups) {
19
- try {
20
- const popup = page.locator(dialog_css);
21
- if (!(await popup.isVisible()))
22
- continue;
23
- const dismiss_button = page.locator(dismiss_css);
24
- if (!(await dismiss_button.isVisible())) {
25
- throw Error(`dismiss_css ${dismiss_css} not found`);
26
- }
27
- await dismiss_button.click();
28
- }
29
- catch (error) {
30
- console.error(`Error closing popup: ${error}`);
31
- }
32
- }
33
- };
1
+ "use strict";
2
+ // import * as fs from "fs";
3
+ // import type { Page } from "playwright";
4
+ // type AIConfig = {
5
+ // on_dialog?: { dialog_css: string; dismiss_css: string }[];
6
+ // };
7
+ // let config: AIConfig | null = null;
8
+ // export const closeUnexpectedPopups = async (page: Page) => {
9
+ // if (!config) {
10
+ // if (!fs.existsSync("ai_config.json")) {
11
+ // return;
12
+ // }
13
+ // const ai_config_file_content = fs.readFileSync("ai_config.json", "utf8");
14
+ // config = JSON.parse(ai_config_file_content) as AIConfig;
15
+ // }
16
+ // const popups = config["on_dialog"];
17
+ // if (!popups) return;
18
+ // if (!Array.isArray(popups)) {
19
+ // console.error("on_dialog in ai_config.json must be an array of {dialog_css:string, dismiss_css:string}");
20
+ // return;
21
+ // }
22
+ // for (const { dialog_css, dismiss_css } of popups) {
23
+ // try {
24
+ // const popup = page.locator(dialog_css);
25
+ // if (!(await popup.isVisible())) continue;
26
+ // const dismiss_button = page.locator(dismiss_css);
27
+ // if (!(await dismiss_button.isVisible())) {
28
+ // throw Error(`dismiss_css ${dismiss_css} not found`);
29
+ // }
30
+ // await dismiss_button.click();
31
+ // } catch (error) {
32
+ // console.error(`Error closing popup: ${error}`);
33
+ // }
34
+ // }
35
+ // };
34
36
  //# sourceMappingURL=popups.js.map
package/lib/popups.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"popups.js","sourceRoot":"","sources":["../../src/popups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAKzB,IAAI,MAAM,GAAoB,IAAI,CAAC;AAEnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IACxD,IAAI,CAAC,MAAM,EAAE;QACX,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YACpC,OAAO;SACR;QACD,MAAM,sBAAsB,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAa,CAAC;KACzD;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,yFAAyF,CAAC,CAAC;QACzG,OAAO;KACR;IACD,KAAK,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,MAAM,EAAE;QAChD,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;gBAAE,SAAS;YACzC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,SAAS,EAAE,CAAC,EAAE;gBACvC,MAAM,KAAK,CAAC,eAAe,WAAW,YAAY,CAAC,CAAC;aACrD;YACD,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;SAC9B;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;SAChD;KACF;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"popups.js","sourceRoot":"","sources":["../../src/popups.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAC5B,0CAA0C;AAC1C,oBAAoB;AACpB,+DAA+D;AAC/D,KAAK;AACL,sCAAsC;AAEtC,+DAA+D;AAC/D,mBAAmB;AACnB,8CAA8C;AAC9C,gBAAgB;AAChB,QAAQ;AACR,gFAAgF;AAChF,+DAA+D;AAC/D,MAAM;AACN,wCAAwC;AACxC,yBAAyB;AACzB,kCAAkC;AAClC,gHAAgH;AAChH,cAAc;AACd,MAAM;AACN,wDAAwD;AACxD,YAAY;AACZ,gDAAgD;AAChD,kDAAkD;AAClD,0DAA0D;AAC1D,mDAAmD;AACnD,+DAA+D;AAC/D,UAAU;AACV,sCAAsC;AACtC,wBAAwB;AACxB,wDAAwD;AACxD,QAAQ;AACR,MAAM;AACN,KAAK"}
@@ -7,11 +7,12 @@ declare class StableBrowser {
7
7
  context: any;
8
8
  project_path: null;
9
9
  webLogFile: null;
10
+ popupHandlers: never[];
11
+ configuration: null;
10
12
  constructor(browser: Browser, page: Page, logger?: any, context?: any);
11
13
  getWebLogFile(logFolder: string): string;
12
14
  registerConsoleLogListener(page: Page, context: any, logFile: string): void;
13
15
  registerRequestListener(): void;
14
- closeUnexpectedPopups(): Promise<void>;
15
16
  goto(url: string): Promise<void>;
16
17
  _validateSelectors(selectors: any): void;
17
18
  _fixUsingParams(text: any, _params: Params): any;
@@ -20,6 +21,7 @@ declare class StableBrowser {
20
21
  _locateElementByText(scope: any, text1: any, tag1: any, regex1: boolean | undefined, partial1: any, _params: Params): Promise<any>;
21
22
  _collectLocatorInformation(selectorHierarchy: any, index: number | undefined, scope: any, foundLocators: any, _params: Params, info: any, visibleOnly?: boolean): Promise<void>;
22
23
  _locate(selectors: any, info: any, _params?: Params, timeout?: number): Promise<any>;
24
+ _locate_internal(selectors: any, info: any, _params?: Params, timeout?: number): Promise<any>;
23
25
  _scanLocatorsGroup(locatorsGroup: any, scope: any, _params: any, info: any, visibleOnly: any): Promise<{
24
26
  foundElements: any[];
25
27
  }>;
@@ -78,7 +80,7 @@ declare class StableBrowser {
78
80
  verifyTableData(selectors: any, data: any, _params?: null, options?: {}, world?: null): Promise<void>;
79
81
  getTableData(selectors: any, _params?: null, options?: {}, world?: null): Promise<any>;
80
82
  analyzeTable(selectors: any, query: any, operator: any, value: any, _params?: null, options?: {}, world?: null): Promise<{}>;
81
- _replaceWithLocalData(value: any, world: any): any;
83
+ _replaceWithLocalData(value: any, world: any): Promise<any>;
82
84
  _getLoadTimeout(options: any): number;
83
85
  waitForPageLoad(options?: {}, world?: null): Promise<void>;
84
86
  closePage(options?: {}, world?: null): Promise<void>;
@@ -5,14 +5,13 @@ import fs from "fs";
5
5
  import path from "path";
6
6
  import reg_parser from "regex-parser";
7
7
  import sharp from "sharp";
8
- import { findDateAlternatives, findNumberAlternatives, } from "./analyze_helper.js";
8
+ import { findDateAlternatives, findNumberAlternatives } from "./analyze_helper.js";
9
9
  import { getDateTimeValue } from "./date_time.js";
10
10
  import drawRectangle from "./drawRect.js";
11
- import { closeUnexpectedPopups } from "./popups.js";
11
+ //import { closeUnexpectedPopups } from "./popups.js";
12
12
  import { getTableCells, getTableData } from "./table_analyze.js";
13
13
  import objectPath from "object-path";
14
14
  import { decrypt } from "./utils.js";
15
- let configuration = null;
16
15
  const Types = {
17
16
  CLICK: "click_element",
18
17
  NAVIGATE: "navigate",
@@ -45,6 +44,8 @@ class StableBrowser {
45
44
  this.context = context;
46
45
  this.project_path = null;
47
46
  this.webLogFile = null;
47
+ this.popupHandlers = [];
48
+ this.configuration = null;
48
49
  if (!this.logger) {
49
50
  this.logger = console;
50
51
  }
@@ -54,6 +55,17 @@ class StableBrowser {
54
55
  else {
55
56
  this.project_path = process.cwd();
56
57
  }
58
+ try {
59
+ if (fs.existsSync("ai_config.json")) {
60
+ this.configuration = JSON.parse(fs.readFileSync("ai_config.json"));
61
+ }
62
+ else {
63
+ this.configuration = {};
64
+ }
65
+ }
66
+ catch (e) {
67
+ this.logger.error("unable to read ai_config.json");
68
+ }
57
69
  const logFolder = path.join(this.project_path, "logs", "web");
58
70
  this.webLogFile = this.getWebLogFile(logFolder);
59
71
  this.registerConsoleLogListener(page, context, this.webLogFile);
@@ -110,11 +122,7 @@ class StableBrowser {
110
122
  const requestUrl = new URL(data.url());
111
123
  if (pageUrl.hostname === requestUrl.hostname) {
112
124
  const method = data.method();
113
- if (method === "POST" ||
114
- method === "GET" ||
115
- method === "PUT" ||
116
- method === "DELETE" ||
117
- method === "PATCH") {
125
+ if (method === "POST" || method === "GET" || method === "PUT" || method === "DELETE" || method === "PATCH") {
118
126
  const token = await data.headerValue("Authorization");
119
127
  if (token) {
120
128
  this.context.authtoken = token;
@@ -127,9 +135,9 @@ class StableBrowser {
127
135
  }
128
136
  });
129
137
  }
130
- async closeUnexpectedPopups() {
131
- await closeUnexpectedPopups(this.page);
132
- }
138
+ // async closeUnexpectedPopups() {
139
+ // await closeUnexpectedPopups(this.page);
140
+ // }
133
141
  async goto(url) {
134
142
  if (!url.startsWith("http")) {
135
143
  url = "https://" + url;
@@ -252,8 +260,7 @@ class StableBrowser {
252
260
  for (let i = 0; i < elements.length; i++) {
253
261
  const element = elements[i];
254
262
  if (partial) {
255
- if ((element.innerText &&
256
- element.innerText.trim().includes(text)) ||
263
+ if ((element.innerText && element.innerText.trim().includes(text)) ||
257
264
  (element.value && element.value.includes(text))) {
258
265
  foundElements.push(element);
259
266
  }
@@ -310,8 +317,7 @@ class StableBrowser {
310
317
  if (result.elementCount === 0) {
311
318
  return;
312
319
  }
313
- locatorSearch.css =
314
- "[data-blinq-id='blinq-id-" + result.randomToken + "']";
320
+ locatorSearch.css = "[data-blinq-id='blinq-id-" + result.randomToken + "']";
315
321
  if (locatorSearch.childCss) {
316
322
  locatorSearch.css = locatorSearch.css + " " + locatorSearch.childCss;
317
323
  }
@@ -335,8 +341,7 @@ class StableBrowser {
335
341
  for (let j = 0; j < count; j++) {
336
342
  let visible = await locator.nth(j).isVisible();
337
343
  const enabled = await locator.nth(j).isEnabled();
338
- info.log +=
339
- "element " + j + " visible " + visible + " enabled " + enabled + "\n";
344
+ info.log += "element " + j + " visible " + visible + " enabled " + enabled + "\n";
340
345
  if (!visibleOnly) {
341
346
  visible = true;
342
347
  }
@@ -350,13 +355,22 @@ class StableBrowser {
350
355
  }
351
356
  }
352
357
  async _locate(selectors, info, _params, timeout = 30000) {
358
+ for (let i = 0; i < 3; i++) {
359
+ let element = await this._locate_internal(selectors, info, _params, timeout);
360
+ if (!element.rerun) {
361
+ return element;
362
+ }
363
+ }
364
+ throw new Error("unable to locate element " + JSON.stringify(selectors));
365
+ }
366
+ async _locate_internal(selectors, info, _params, timeout = 30000) {
353
367
  let highPriorityTimeout = 5000;
354
368
  let visibleOnlyTimeout = 6000;
355
369
  let startTime = performance.now();
356
370
  let locatorsCount = 0;
357
- let arrayMode = Array.isArray(selectors);
371
+ //let arrayMode = Array.isArray(selectors);
358
372
  let scope = this.page;
359
- if (!arrayMode && (selectors.iframe_src || selectors.frameLocators)) {
373
+ if (selectors.iframe_src || selectors.frameLocators) {
360
374
  while (true) {
361
375
  let frameFound = false;
362
376
  if (selectors.frameLocators) {
@@ -385,20 +399,11 @@ class StableBrowser {
385
399
  }
386
400
  }
387
401
  let selectorsLocators = null;
388
- if (!arrayMode) {
389
- selectorsLocators = selectors.locators;
390
- }
391
- else {
392
- selectorsLocators = [];
393
- for (let i = 0; i < selectors.length; i++) {
394
- selectorsLocators.push(selectors[i][0]);
395
- }
396
- }
402
+ selectorsLocators = selectors.locators;
397
403
  // group selectors by priority
398
404
  let locatorsByPriority = { "1": [], "2": [], "3": [] };
399
405
  for (let i = 0; i < selectorsLocators.length; i++) {
400
- if (!selectorsLocators[i].priority ||
401
- selectorsLocators[i].priority === 1) {
406
+ if (!selectorsLocators[i].priority || selectorsLocators[i].priority === 1) {
402
407
  locatorsByPriority["1"].push(selectorsLocators[i]);
403
408
  }
404
409
  else if (selectorsLocators[i].priority === 2) {
@@ -409,8 +414,7 @@ class StableBrowser {
409
414
  }
410
415
  }
411
416
  for (let i = 0; i < locatorsByPriority["1"].length; i++) {
412
- if (locatorsByPriority["1"][i].role &&
413
- locatorsByPriority["1"][i].role.length === 2) {
417
+ if (locatorsByPriority["1"][i].role && locatorsByPriority["1"][i].role.length === 2) {
414
418
  locatorsByPriority["1"][i].role[1].exact = true;
415
419
  // clone the locator
416
420
  let locator = JSON.parse(JSON.stringify(locatorsByPriority["1"][i]));
@@ -423,6 +427,20 @@ class StableBrowser {
423
427
  while (true) {
424
428
  locatorsCount = 0;
425
429
  let result = [];
430
+ if (this.configuration.locatorsHandlers && this.popupHandlers.length > 0) {
431
+ info.log += "scan for popup handlers" + "\n";
432
+ const handlerGroup = [];
433
+ for (let i = 0; i < this.popupHandlers.length; i++) {
434
+ handlerGroup.push(this.popupHandlers[i].locator);
435
+ }
436
+ result = await this._scanLocatorsGroup(handlerGroup, this.page, _params, info, true);
437
+ if (result.foundElements.length > 0) {
438
+ // need to handle popup
439
+ let dialogCloseLocator = this._getLocator(this.popupHandlers[result.locatorIndex].close_dialog_locator, this.page, _params);
440
+ await dialogCloseLocator.click();
441
+ return { rerun: true };
442
+ }
443
+ }
426
444
  info.log += "scanning locators in priority 1" + "\n";
427
445
  result = await this._scanLocatorsGroup(locatorsByPriority["1"], scope, _params, info, visibleOnly);
428
446
  if (result.foundElements.length === 0) {
@@ -481,10 +499,7 @@ class StableBrowser {
481
499
  await new Promise((resolve) => setTimeout(resolve, 1000));
482
500
  }
483
501
  this.logger.debug("unable to locate unique element, total elements found " + locatorsCount);
484
- info.log +=
485
- "failed to locate unique element, total elements found " +
486
- locatorsCount +
487
- "\n";
502
+ info.log += "failed to locate unique element, total elements found " + locatorsCount + "\n";
488
503
  throw new Error("failed to locate first element no elements found, " + info.log);
489
504
  }
490
505
  async _scanLocatorsGroup(locatorsGroup, scope, _params, info, visibleOnly) {
@@ -505,8 +520,7 @@ class StableBrowser {
505
520
  await this._collectLocatorInformation(locatorsGroup, i, this.page, foundLocators, _params, info, visibleOnly);
506
521
  }
507
522
  catch (e) {
508
- this.logger.info("unable to use locator (second try) " +
509
- JSON.stringify(locatorsGroup[i]));
523
+ this.logger.info("unable to use locator (second try) " + JSON.stringify(locatorsGroup[i]));
510
524
  }
511
525
  }
512
526
  if (foundLocators.length === 1) {
@@ -515,6 +529,7 @@ class StableBrowser {
515
529
  box: await foundLocators[0].boundingBox(),
516
530
  unique: true,
517
531
  });
532
+ result.locatorIndex = i;
518
533
  }
519
534
  }
520
535
  return result;
@@ -539,7 +554,7 @@ class StableBrowser {
539
554
  await new Promise((resolve) => setTimeout(resolve, 1000));
540
555
  }
541
556
  catch (e) {
542
- await this.closeUnexpectedPopups();
557
+ // await this.closeUnexpectedPopups();
543
558
  info.log += "click failed, will try again" + "\n";
544
559
  element = await this._locate(selectors, info, _params);
545
560
  await element.click({ timeout: 10000, force: true });
@@ -603,7 +618,7 @@ class StableBrowser {
603
618
  this.logger.info("element did not change its state, ignoring...");
604
619
  }
605
620
  else {
606
- await this.closeUnexpectedPopups();
621
+ //await this.closeUnexpectedPopups();
607
622
  info.log += "setCheck failed, will try again" + "\n";
608
623
  element = await this._locate(selectors, info, _params);
609
624
  await element.setChecked(checked, { timeout: 5000, force: true });
@@ -663,7 +678,7 @@ class StableBrowser {
663
678
  await new Promise((resolve) => setTimeout(resolve, 1000));
664
679
  }
665
680
  catch (e) {
666
- await this.closeUnexpectedPopups();
681
+ //await this.closeUnexpectedPopups();
667
682
  info.log += "hover failed, will try again" + "\n";
668
683
  element = await this._locate(selectors, info, _params);
669
684
  await element.hover({ timeout: 10000 });
@@ -724,7 +739,7 @@ class StableBrowser {
724
739
  await element.selectOption(values, { timeout: 5000 });
725
740
  }
726
741
  catch (e) {
727
- await this.closeUnexpectedPopups();
742
+ //await this.closeUnexpectedPopups();
728
743
  info.log += "selectOption failed, will try force" + "\n";
729
744
  await element.selectOption(values, { timeout: 10000, force: true });
730
745
  }
@@ -782,6 +797,7 @@ class StableBrowser {
782
797
  await new Promise((resolve) => setTimeout(resolve, 1000));
783
798
  }
784
799
  let value = valueSegment[i];
800
+ value = await this._replaceWithLocalData(value, this);
785
801
  let keyEvent = false;
786
802
  KEYBOARD_EVENTS.forEach((event) => {
787
803
  if (value === event || value.startsWith(event + "+")) {
@@ -798,7 +814,7 @@ class StableBrowser {
798
814
  return info;
799
815
  }
800
816
  catch (e) {
801
- await this.closeUnexpectedPopups();
817
+ //await this.closeUnexpectedPopups();
802
818
  this.logger.error("type failed " + info.log);
803
819
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
804
820
  info.screenshotPath = screenshotPath;
@@ -841,6 +857,7 @@ class StableBrowser {
841
857
  info.selectors = selectors;
842
858
  info.value = value;
843
859
  try {
860
+ value = await this._replaceWithLocalData(value, this);
844
861
  let element = await this._locate(selectors, info, _params);
845
862
  //insert red border around the element
846
863
  await this.scrollIfNeeded(element, info);
@@ -867,7 +884,7 @@ class StableBrowser {
867
884
  }
868
885
  }
869
886
  catch (error) {
870
- await this.closeUnexpectedPopups();
887
+ //await this.closeUnexpectedPopups();
871
888
  this.logger.error("setting date time input failed " + JSON.stringify(info));
872
889
  this.logger.info("Trying again")(({ screenshotId, screenshotPath } = await this._screenShot(options, world, info)));
873
890
  info.screenshotPath = screenshotPath;
@@ -947,7 +964,7 @@ class StableBrowser {
947
964
  }, dateTimeValue);
948
965
  }
949
966
  catch (error) {
950
- await this.closeUnexpectedPopups();
967
+ //await this.closeUnexpectedPopups();
951
968
  this.logger.error("setting date time input failed " + JSON.stringify(info));
952
969
  this.logger.info("Trying again")(({ screenshotId, screenshotPath } = await this._screenShot(options, world, info)));
953
970
  info.screenshotPath = screenshotPath;
@@ -999,7 +1016,7 @@ class StableBrowser {
999
1016
  info.log = "";
1000
1017
  info.operation = "clickType";
1001
1018
  info.selectors = selectors;
1002
- const newValue = this._replaceWithLocalData(_value, world);
1019
+ const newValue = await this._replaceWithLocalData(_value, world);
1003
1020
  if (newValue !== _value) {
1004
1021
  this.logger.info(_value + "=" + newValue);
1005
1022
  _value = newValue;
@@ -1065,7 +1082,7 @@ class StableBrowser {
1065
1082
  return info;
1066
1083
  }
1067
1084
  catch (e) {
1068
- await this.closeUnexpectedPopups();
1085
+ //await this.closeUnexpectedPopups();
1069
1086
  this.logger.error("fill failed " + JSON.stringify(info));
1070
1087
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
1071
1088
  info.screenshotPath = screenshotPath;
@@ -1122,7 +1139,7 @@ class StableBrowser {
1122
1139
  return info;
1123
1140
  }
1124
1141
  catch (e) {
1125
- await this.closeUnexpectedPopups();
1142
+ //await this.closeUnexpectedPopups();
1126
1143
  this.logger.error("fill failed " + info.log);
1127
1144
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
1128
1145
  info.screenshotPath = screenshotPath;
@@ -1195,7 +1212,7 @@ class StableBrowser {
1195
1212
  };
1196
1213
  }
1197
1214
  catch (e) {
1198
- await this.closeUnexpectedPopups();
1215
+ //await this.closeUnexpectedPopups();
1199
1216
  this.logger.info("no innerText will use textContent");
1200
1217
  const elementText = await element.textContent();
1201
1218
  return { text: elementText, screenshotId, screenshotPath, value: value };
@@ -1210,7 +1227,7 @@ class StableBrowser {
1210
1227
  if (!text) {
1211
1228
  throw new Error("text is null");
1212
1229
  }
1213
- const newValue = this._replaceWithLocalData(text, world);
1230
+ const newValue = await this._replaceWithLocalData(text, world);
1214
1231
  if (newValue !== text) {
1215
1232
  this.logger.info(text + "=" + newValue);
1216
1233
  text = newValue;
@@ -1242,7 +1259,7 @@ class StableBrowser {
1242
1259
  return info;
1243
1260
  }
1244
1261
  catch (e) {
1245
- await this.closeUnexpectedPopups();
1262
+ //await this.closeUnexpectedPopups();
1246
1263
  this.logger.error("verify element contains text failed " + info.log);
1247
1264
  this.logger.error("found text " + (foundObj === null || foundObj === void 0 ? void 0 : foundObj.text) + " pattern " + pattern);
1248
1265
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
@@ -1289,7 +1306,7 @@ class StableBrowser {
1289
1306
  info.log = "";
1290
1307
  info.operation = "containsText";
1291
1308
  info.selectors = selectors;
1292
- const newValue = this._replaceWithLocalData(text, world);
1309
+ const newValue = await this._replaceWithLocalData(text, world);
1293
1310
  if (newValue !== text) {
1294
1311
  this.logger.info(text + "=" + newValue);
1295
1312
  text = newValue;
@@ -1322,8 +1339,7 @@ class StableBrowser {
1322
1339
  }
1323
1340
  throw new Error("element doesn't contain text " + text);
1324
1341
  }
1325
- else if (!(foundObj === null || foundObj === void 0 ? void 0 : foundObj.text.includes(text)) &&
1326
- !((_c = foundObj === null || foundObj === void 0 ? void 0 : foundObj.value) === null || _c === void 0 ? void 0 : _c.includes(text))) {
1342
+ else if (!(foundObj === null || foundObj === void 0 ? void 0 : foundObj.text.includes(text)) && !((_c = foundObj === null || foundObj === void 0 ? void 0 : foundObj.value) === null || _c === void 0 ? void 0 : _c.includes(text))) {
1327
1343
  info.foundText = foundObj === null || foundObj === void 0 ? void 0 : foundObj.text;
1328
1344
  info.value = foundObj === null || foundObj === void 0 ? void 0 : foundObj.value;
1329
1345
  throw new Error("element doesn't contain text " + text);
@@ -1331,7 +1347,7 @@ class StableBrowser {
1331
1347
  return info;
1332
1348
  }
1333
1349
  catch (e) {
1334
- await this.closeUnexpectedPopups();
1350
+ //await this.closeUnexpectedPopups();
1335
1351
  this.logger.error("verify element contains text failed " + info.log);
1336
1352
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
1337
1353
  info.screenshotPath = screenshotPath;
@@ -1564,7 +1580,7 @@ class StableBrowser {
1564
1580
  return info;
1565
1581
  }
1566
1582
  catch (e) {
1567
- await this.closeUnexpectedPopups();
1583
+ //await this.closeUnexpectedPopups();
1568
1584
  this.logger.error("verify failed " + info.log);
1569
1585
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
1570
1586
  info.screenshotPath = screenshotPath;
@@ -1632,7 +1648,7 @@ class StableBrowser {
1632
1648
  return info;
1633
1649
  }
1634
1650
  catch (e) {
1635
- await this.closeUnexpectedPopups();
1651
+ //await this.closeUnexpectedPopups();
1636
1652
  this.logger.error("extract failed " + info.log);
1637
1653
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
1638
1654
  info.screenshotPath = screenshotPath;
@@ -1738,7 +1754,7 @@ class StableBrowser {
1738
1754
  const info = {};
1739
1755
  info.log = "";
1740
1756
  info.operation = "verifyPagePath";
1741
- const newValue = this._replaceWithLocalData(pathPart, world);
1757
+ const newValue = await this._replaceWithLocalData(pathPart, world);
1742
1758
  if (newValue !== pathPart) {
1743
1759
  this.logger.info(pathPart + "=" + newValue);
1744
1760
  pathPart = newValue;
@@ -1759,7 +1775,7 @@ class StableBrowser {
1759
1775
  }
1760
1776
  }
1761
1777
  catch (e) {
1762
- await this.closeUnexpectedPopups();
1778
+ //await this.closeUnexpectedPopups();
1763
1779
  this.logger.error("verify page path failed " + info.log);
1764
1780
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
1765
1781
  info.screenshotPath = screenshotPath;
@@ -1799,7 +1815,7 @@ class StableBrowser {
1799
1815
  const info = {};
1800
1816
  info.log = "";
1801
1817
  info.operation = "verifyTextExistInPage";
1802
- const newValue = this._replaceWithLocalData(text, world);
1818
+ const newValue = await this._replaceWithLocalData(text, world);
1803
1819
  if (newValue !== text) {
1804
1820
  this.logger.info(text + "=" + newValue);
1805
1821
  text = newValue;
@@ -1850,7 +1866,7 @@ class StableBrowser {
1850
1866
  // await expect(element).toHaveCount(1, { timeout: 10000 });
1851
1867
  }
1852
1868
  catch (e) {
1853
- await this.closeUnexpectedPopups();
1869
+ //await this.closeUnexpectedPopups();
1854
1870
  this.logger.error("verify text exist in page failed " + info.log);
1855
1871
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
1856
1872
  info.screenshotPath = screenshotPath;
@@ -1927,7 +1943,7 @@ class StableBrowser {
1927
1943
  console.log(result);
1928
1944
  }
1929
1945
  catch (e) {
1930
- await this.closeUnexpectedPopups();
1946
+ //await this.closeUnexpectedPopups();
1931
1947
  this.logger.error("visual verification failed " + info.log);
1932
1948
  ({ screenshotId, screenshotPath } = await this._screenShot(options, world, info));
1933
1949
  info.screenshotPath = screenshotPath;
@@ -2036,7 +2052,7 @@ class StableBrowser {
2036
2052
  if (!value) {
2037
2053
  throw new Error("value is null");
2038
2054
  }
2039
- const newValue = this._replaceWithLocalData(value, world);
2055
+ const newValue = await this._replaceWithLocalData(value, world);
2040
2056
  if (newValue !== value) {
2041
2057
  this.logger.info(value + "=" + newValue);
2042
2058
  value = newValue;
@@ -2061,10 +2077,7 @@ class StableBrowser {
2061
2077
  if (cells && cells.error) {
2062
2078
  throw new Error(cells.error);
2063
2079
  }
2064
- if (operator === "===" ||
2065
- operator === "==" ||
2066
- operator === "=" ||
2067
- operator === "equals") {
2080
+ if (operator === "===" || operator === "==" || operator === "=" || operator === "equals") {
2068
2081
  if (cells.length === 0) {
2069
2082
  throw new Error("no cells found");
2070
2083
  }
@@ -2074,9 +2087,7 @@ class StableBrowser {
2074
2087
  }
2075
2088
  }
2076
2089
  }
2077
- else if (operator === "!==" ||
2078
- operator === "!=" ||
2079
- operator === "not_equals") {
2090
+ else if (operator === "!==" || operator === "!=" || operator === "not_equals") {
2080
2091
  if (cells.length === 0) {
2081
2092
  throw new Error("no cells found");
2082
2093
  }
@@ -2186,47 +2197,33 @@ class StableBrowser {
2186
2197
  });
2187
2198
  }
2188
2199
  }
2189
- _replaceWithLocalData(value, world) {
2200
+ async _replaceWithLocalData(value, world) {
2190
2201
  if (!value) {
2191
2202
  return value;
2192
2203
  }
2193
- if (value.startsWith("secret:")) {
2194
- return decrypt(value.substring(7));
2195
- }
2196
2204
  // find all the accurance of {{(.*?)}} and replace with the value
2197
2205
  let regex = /{{(.*?)}}/g;
2198
2206
  let matches = value.match(regex);
2199
- if (!matches) {
2200
- return value;
2201
- }
2202
- const testData = this.getTestData(world);
2203
- for (let i = 0; i < matches.length; i++) {
2204
- let match = matches[i];
2205
- let key = match.substring(2, match.length - 2);
2206
- let newValue = objectPath.get(testData, key, null);
2207
- if (newValue !== null) {
2208
- value = value.replace(match, newValue);
2207
+ if (matches) {
2208
+ const testData = this.getTestData(world);
2209
+ for (let i = 0; i < matches.length; i++) {
2210
+ let match = matches[i];
2211
+ let key = match.substring(2, match.length - 2);
2212
+ let newValue = objectPath.get(testData, key, null);
2213
+ if (newValue !== null) {
2214
+ value = value.replace(match, newValue);
2215
+ }
2209
2216
  }
2210
2217
  }
2218
+ if (value.startsWith("secret:") || value.startsWith("totp:")) {
2219
+ return await decrypt(value);
2220
+ }
2211
2221
  return value;
2212
2222
  }
2213
2223
  _getLoadTimeout(options) {
2214
2224
  let timeout = 15000;
2215
- if (!configuration) {
2216
- try {
2217
- if (fs.existsSync("ai_config.json")) {
2218
- configuration = JSON.parse(fs.readFileSync("ai_config.json"));
2219
- }
2220
- else {
2221
- configuration = {};
2222
- }
2223
- }
2224
- catch (e) {
2225
- this.logger.error("unable to read ai_config.json");
2226
- }
2227
- }
2228
- if (configuration.page_timeout) {
2229
- timeout = configuration.page_timeout;
2225
+ if (this.configuration.page_timeout) {
2226
+ timeout = this.configuration.page_timeout;
2230
2227
  }
2231
2228
  if (options && options.page_timeout) {
2232
2229
  timeout = options.page_timeout;
@@ -2237,13 +2234,13 @@ class StableBrowser {
2237
2234
  let timeout = this._getLoadTimeout(options);
2238
2235
  const promiseArray = [];
2239
2236
  // let waitForNetworkIdle = true;
2240
- if (!(configuration && configuration.networkidle === false)) {
2237
+ if (!(this.configuration && this.configuration.networkidle === false)) {
2241
2238
  promiseArray.push(createTimedPromise(this.page.waitForLoadState("networkidle", { timeout: timeout }), "networkidle"));
2242
2239
  }
2243
- if (!(configuration && configuration.load === false)) {
2240
+ if (!(this.configuration && this.configuration.load === false)) {
2244
2241
  promiseArray.push(createTimedPromise(this.page.waitForLoadState("load", { timeout: timeout }), "load"));
2245
2242
  }
2246
- if (!(configuration && configuration.domcontentloaded === false)) {
2243
+ if (!(this.configuration && this.configuration.domcontentloaded === false)) {
2247
2244
  promiseArray.push(createTimedPromise(this.page.waitForLoadState("domcontentloaded", { timeout: timeout }), "domcontentloaded"));
2248
2245
  }
2249
2246
  const waitOptions = {
@@ -2419,10 +2416,8 @@ class StableBrowser {
2419
2416
  if (rect &&
2420
2417
  rect.top >= 0 &&
2421
2418
  rect.left >= 0 &&
2422
- rect.bottom <=
2423
- (window.innerHeight || document.documentElement.clientHeight) &&
2424
- rect.right <=
2425
- (window.innerWidth || document.documentElement.clientWidth)) {
2419
+ rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
2420
+ rect.right <= (window.innerWidth || document.documentElement.clientWidth)) {
2426
2421
  return false;
2427
2422
  }
2428
2423
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"stable_browser.js","sourceRoot":"","sources":["../../src/stable_browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stable_browser.js","sourceRoot":"","sources":["../../src/stable_browser.ts"],"names":[],"mappings":"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"}
package/lib/utils.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  declare function encrypt(text: string, key?: string | null): string;
2
- declare function decrypt(encryptedText: string, key?: string | null): string;
2
+ declare function decrypt(encryptedText: string, key?: string | null): Promise<string>;
3
3
  export { encrypt, decrypt };
package/lib/utils.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import CryptoJS from "crypto-js";
2
2
  import path from "path";
3
+ import { TOTP } from "totp-generator";
3
4
  // Function to encrypt a string
4
5
  function encrypt(text, key = null) {
5
6
  if (!key) {
@@ -8,10 +9,23 @@ function encrypt(text, key = null) {
8
9
  return CryptoJS.AES.encrypt(text, key).toString();
9
10
  }
10
11
  // Function to decrypt a string
11
- function decrypt(encryptedText, key = null) {
12
+ async function decrypt(encryptedText, key = null) {
12
13
  if (!key) {
13
14
  key = _findKey();
14
15
  }
16
+ if (encryptedText.startsWith("secret:")) {
17
+ encryptedText = encryptedText.substring(7);
18
+ }
19
+ if (encryptedText.startsWith("totp:")) {
20
+ encryptedText = encryptedText.substring(5);
21
+ let { otp, expires } = TOTP.generate(encryptedText);
22
+ // expires is in unix time, check if we have at least 25 seconds left, if it's less than wait for the expires time
23
+ if (expires - Date.now() < 25000) {
24
+ await new Promise((resolve) => setTimeout(resolve, (expires - Date.now() + 1000) % 30000));
25
+ ({ otp, expires } = TOTP.generate(encryptedText));
26
+ }
27
+ return otp;
28
+ }
15
29
  const bytes = CryptoJS.AES.decrypt(encryptedText, key);
16
30
  return bytes.toString(CryptoJS.enc.Utf8);
17
31
  }
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,+BAA+B;AAC/B,SAAS,OAAO,CAAC,IAAY,EAAE,MAAqB,IAAI;IACtD,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,QAAQ,EAAE,CAAC;KAClB;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpD,CAAC;AAED,+BAA+B;AAC/B,SAAS,OAAO,CAAC,aAAqB,EAAE,MAAqB,IAAI;IAC/D,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,QAAQ,EAAE,CAAC;KAClB;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AACD,SAAS,QAAQ;IACf,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;KAC/B;IACD,+BAA+B;IAC/B,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,+BAA+B;IAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AACD,+CAA+C;AAC/C,8EAA8E;AAC9E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,+BAA+B;AAC/B,SAAS,OAAO,CAAC,IAAY,EAAE,MAAqB,IAAI;IACtD,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,QAAQ,EAAE,CAAC;KAClB;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpD,CAAC;AAED,+BAA+B;AAC/B,KAAK,UAAU,OAAO,CAAC,aAAqB,EAAE,MAAqB,IAAI;IACrE,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,QAAQ,EAAE,CAAC;KAClB;IACD,IAAI,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACvC,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC5C;IACD,IAAI,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACrC,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpD,kHAAkH;QAClH,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE;YAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAC3F,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;SACnD;QACD,OAAO,GAAG,CAAC;KACZ;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AACD,SAAS,QAAQ;IACf,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;KAC/B;IACD,+BAA+B;IAC/B,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,+BAA+B;IAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AACD,+CAA+C;AAC/C,8EAA8E;AAC9E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "automation_model",
3
- "version": "1.0.353-dev.0",
3
+ "version": "1.0.354-dev.0",
4
4
  "description": "An automation infrastructure module to be use for generative AI automation projects.",
5
5
  "main": "lib/index.js",
6
6
  "type": "module",
@@ -29,6 +29,7 @@
29
29
  "pureimage": "^0.4.13",
30
30
  "regex-parser": "^2.2.11",
31
31
  "sharp": "^0.32.6",
32
+ "totp-generator": "^1.0.0",
32
33
  "tunnel": "^0.0.6"
33
34
  },
34
35
  "devDependencies": {