automation_model 1.0.76 → 1.0.78

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.
package/lib/auto_page.js CHANGED
@@ -16,7 +16,7 @@ const navigate = async (path = "") => {
16
16
  };
17
17
  const _findEmptyFolder = (folder) => {
18
18
  if (!folder) {
19
- folder = "./runs";
19
+ folder = "./reports";
20
20
  }
21
21
  if (!fs.existsSync(folder)) {
22
22
  fs.mkdirSync(folder);
@@ -38,7 +38,7 @@ const initContext = async (path, doNavigate = true, headless = false, world = nu
38
38
  if (world.attach) {
39
39
  world.attach(reportFolder, { mediaType: "text/plain" });
40
40
  }
41
- world.screenshotPath = reportFolder;
41
+ world.screenshotPath = reportFolder + "/screenshots";
42
42
  context.reportFolder = reportFolder;
43
43
  }
44
44
  if (doNavigate) {
@@ -1 +1 @@
1
- {"version":3,"file":"auto_page.js","sourceRoot":"","sources":["../../src/auto_page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,IAAI,OAAO,GAAoB,IAAI,CAAC;AACpC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;IACnC,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,GAAG,GAAG,OAAQ,CAAC,WAAY,CAAC,OAAQ,CAAC;KACtC;SAAM;QACL,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAQ,CAAC,WAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;KACzD;IACD,MAAM,OAAQ,CAAC,MAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,OAAQ,CAAC,MAAO,CAAC,eAAe,EAAE,CAAC;AAC3C,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1C,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,QAAQ,CAAC;KACnB;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC1B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;QAC7D,SAAS,EAAE,CAAC;KACb;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC;AACF,MAAM,WAAW,GAAG,KAAK,EAAE,IAAW,EAAE,UAAU,GAAG,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAY,IAAI,EAAE,EAAE;IAC/F,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IACD,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE3C,IAAI,KAAK,EAAE;QACT,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;SACzD;QACD,KAAK,CAAC,cAAc,GAAG,YAAY,CAAC;QACpC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;KACrC;IAED,IAAI,UAAU,EAAE;QACd,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;KACtB;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AACF,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;IAC9B,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;QAC9B,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACpD;IACD,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC,CAAC;AACF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"auto_page.js","sourceRoot":"","sources":["../../src/auto_page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,IAAI,OAAO,GAAoB,IAAI,CAAC;AACpC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;IACnC,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,GAAG,GAAG,OAAQ,CAAC,WAAY,CAAC,OAAQ,CAAC;KACtC;SAAM;QACL,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAQ,CAAC,WAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;KACzD;IACD,MAAM,OAAQ,CAAC,MAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,OAAQ,CAAC,MAAO,CAAC,eAAe,EAAE,CAAC;AAC3C,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1C,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,WAAW,CAAC;KACtB;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC1B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;QAC7D,SAAS,EAAE,CAAC;KACb;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC;AACF,MAAM,WAAW,GAAG,KAAK,EAAE,IAAW,EAAE,UAAU,GAAG,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAY,IAAI,EAAE,EAAE;IAC/F,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IACD,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE3C,IAAI,KAAK,EAAE;QACT,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;SACzD;QACD,KAAK,CAAC,cAAc,GAAG,YAAY,GAAG,cAAc,CAAC;QACrD,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;KACrC;IAED,IAAI,UAAU,EAAE;QACd,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;KACtB;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AACF,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;IAC9B,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;QAC9B,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACpD;IACD,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC,CAAC;AACF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC"}
@@ -3,7 +3,7 @@ type Cookie = {
3
3
  value: string;
4
4
  domain?: string;
5
5
  path?: string;
6
- expires?: number | string;
6
+ expires?: number;
7
7
  httpOnly?: boolean;
8
8
  secure?: boolean;
9
9
  sameSite?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/environment.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW;IAGf,YAAmB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAFnC,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAAqD,EAAE,CAAC;IACzB,CAAC;IACvC,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;CACF;AACD,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/environment.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW;IAGf,YAAmB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAFnC,YAAO,GAAY,EAAE,CAAA;QACrB,YAAO,GAAgD,EAAE,CAAA;IAEzD,CAAC;IACD,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;CACF;AACD,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -10,14 +10,6 @@ const getContext = async function (environment, headless = false, logger) {
10
10
  environment = initEnvironment();
11
11
  }
12
12
  const { cookies, origins } = environment;
13
- if (cookies) {
14
- for (let i = 0; i < cookies.length; i++) {
15
- const cookie = cookies[i];
16
- if (cookie.expires === "undefined") {
17
- delete cookie.expires;
18
- }
19
- }
20
- }
21
13
  const storageState = { cookies, origins };
22
14
  let browser = await browserManager.getBrowser(headless, storageState);
23
15
  let context = new TestContext();
@@ -1 +1 @@
1
- {"version":3,"file":"init_browser.js","sourceRoot":"","sources":["../../src/init_browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,0BAA0B;AAE1B,yEAAyE;AACzE,MAAM,UAAU,GAAG,KAAK,WAAW,WAA+B,EAAE,QAAQ,GAAG,KAAK,EAAE,MAAa;IACjG,IAAI,WAAW,KAAK,IAAI,EAAE;QACxB,WAAW,GAAG,eAAe,EAAE,CAAC;KACjC;IACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IACzC,IAAI,OAAO,EAAE;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE;gBAClC,OAAO,MAAM,CAAC,OAAO,CAAC;aACvB;SACF;KACF;IACD,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC1C,IAAI,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACtE,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAChC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAClC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACtC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5B,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;IAElC,OAAO,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,OAAQ,EAAE,OAAO,CAAC,IAAK,EAAE,MAAM,CAAC,CAAC;IAC5E,+BAA+B;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AACF,kDAAkD;AAClD,uCAAuC;AACvC,0BAA0B;AAC1B,qEAAqE;AACrE,uDAAuD;AACvD,+DAA+D;AAC/D,iCAAiC;AACjC,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR,qDAAqD;AACrD,MAAM;AACN,KAAK;AAEL,MAAM,YAAY,GAAG,KAAK,WAAW,OAAqC;IACxE,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,8BAA8B;IAC9B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,IAAI;QACF,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACjD,4BAA4B;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,sCAAsC;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACtC,kCAAkC;QAClC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;KACjD;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;KAC9C;IACD,IAAI;IACJ,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"init_browser.js","sourceRoot":"","sources":["../../src/init_browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,0BAA0B;AAE1B,yEAAyE;AACzE,MAAM,UAAU,GAAG,KAAK,WAAW,WAA6B,EAAE,QAAQ,GAAG,KAAK,EAAE,MAAa;IAC/F,IAAI,WAAW,KAAK,IAAI,EAAE;QACxB,WAAW,GAAG,eAAe,EAAE,CAAC;KACjC;IACD,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,WAAW,CAAC;IACvC,MAAM,YAAY,GAAG,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC;IACxC,IAAI,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACtE,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAChC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAClC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACtC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5B,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;IAElC,OAAO,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,OAAQ,EAAE,OAAO,CAAC,IAAK,EAAE,MAAM,CAAC,CAAC;IAC5E,+BAA+B;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AACF,kDAAkD;AAClD,uCAAuC;AACvC,0BAA0B;AAC1B,qEAAqE;AACrE,uDAAuD;AACvD,+DAA+D;AAC/D,iCAAiC;AACjC,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR,qDAAqD;AACrD,MAAM;AACN,KAAK;AAEL,MAAM,YAAY,GAAG,KAAK,WAAW,OAAmC;IACtE,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,8BAA8B;IAC5B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,IAAI;QACF,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACjD,4BAA4B;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,sCAAsC;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACtC,kCAAkC;QAClC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;KACjD;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;KAC9C;IACH,IAAI;IACJ,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
@@ -11,16 +11,36 @@ declare class StableBrowser {
11
11
  _locateElementByText(scope: any, text1: any, tag1: any, regex: boolean | undefined, _params: Params): Promise<any>;
12
12
  _collectLocatorInformation(selectorHierarchy: any, index: number | undefined, scope: any, foundLocators: any, _params: Params): Promise<void>;
13
13
  _locate(selectors: any, info: any, _params?: Params, timeout?: number): Promise<any>;
14
- click(selector: any, _params?: Params, options?: {}, world?: null): Promise<{}>;
15
- selectOption(selector: any, values: any, _params?: null, options?: {}, world?: null): Promise<{}>;
16
- fill(selector: any, value: any, enter?: boolean, _params?: null, options?: {}, world?: null): Promise<{}>;
14
+ click(selector: any, _params?: Params, options?: {}, world?: null): Promise<{} | undefined>;
15
+ selectOption(selector: any, values: any, _params?: null, options?: {}, world?: null): Promise<{} | undefined>;
16
+ fill(selector: any, value: any, enter?: boolean, _params?: null, options?: {}, world?: null): Promise<{} | undefined>;
17
17
  getText(selector: any, _params?: null, options?: {}, info?: {}, world?: null): Promise<any>;
18
- containsPattern(selector: any, pattern: any, text: any, _params?: null, options?: {}, world?: null): Promise<{}>;
19
- containsText(selector: any, text: any, _params?: null, options?: {}, world?: null): Promise<{}>;
20
- _screenShot(options?: {}, world?: null): Promise<void>;
21
- verifyElementExistInPage(selector: any, _params?: null, options?: {}, world?: null): Promise<{}>;
22
- analyzeTable(selector: any, query: any, operator: any, value: any, _params?: null, options?: {}, world?: null): Promise<{}>;
18
+ containsPattern(selector: any, pattern: any, text: any, _params?: null, options?: {}, world?: null): Promise<{} | undefined>;
19
+ containsText(selector: any, text: any, _params?: null, options?: {}, world?: null): Promise<{} | undefined>;
20
+ _screenShot(options?: {}, world?: null): Promise<string | undefined>;
21
+ verifyElementExistInPage(selector: any, _params?: null, options?: {}, world?: null): Promise<{} | undefined>;
22
+ analyzeTable(selector: any, query: any, operator: any, value: any, _params?: null, options?: {}, world?: null): Promise<{} | undefined>;
23
23
  waitForPageLoad(options?: {}, world?: null): Promise<void>;
24
- _reportToWorld(world: any, properties?: {}): void;
24
+ _reportToWorld(world: any, properties: JsonCommandReport): void;
25
25
  }
26
+ type JsonTimestamp = number;
27
+ type JsonResultPassed = {
28
+ status: "PASSED";
29
+ startTime: JsonTimestamp;
30
+ endTime: JsonTimestamp;
31
+ };
32
+ type JsonResultFailed = {
33
+ status: "FAILED";
34
+ startTime: JsonTimestamp;
35
+ endTime: JsonTimestamp;
36
+ message?: string;
37
+ };
38
+ type JsonCommandResult = JsonResultPassed | JsonResultFailed;
39
+ type JsonCommandReport = {
40
+ type: string;
41
+ value?: string;
42
+ text: string;
43
+ screenshotPath?: string;
44
+ result: JsonCommandResult;
45
+ };
26
46
  export { StableBrowser };
@@ -10,9 +10,6 @@ class StableBrowser {
10
10
  this.browser = browser;
11
11
  this.page = page;
12
12
  this.logger = logger;
13
- // this.browser = browser;
14
- // this.page = page;
15
- // this.logger = logger;
16
13
  if (!this.logger) {
17
14
  this.logger = console;
18
15
  }
@@ -118,7 +115,8 @@ class StableBrowser {
118
115
  if (result.elementCount === 0) {
119
116
  return;
120
117
  }
121
- locatorSearch.css = "[data-blinq-id='blinq-id-" + result.randomToken + "']";
118
+ locatorSearch.css =
119
+ "[data-blinq-id='blinq-id-" + result.randomToken + "']";
122
120
  locator = this._getLocator(locatorSearch, scope, _params);
123
121
  }
124
122
  else {
@@ -128,7 +126,8 @@ class StableBrowser {
128
126
  //let visibleCount = 0;
129
127
  let visibleLocator = null;
130
128
  for (let j = 0; j < count; j++) {
131
- if ((await locator.nth(j).isVisible()) && (await locator.nth(j).isEnabled())) {
129
+ if ((await locator.nth(j).isVisible()) &&
130
+ (await locator.nth(j).isEnabled())) {
132
131
  //visibleCount++;
133
132
  // if (index === selectorHierarchy.length - 1) {
134
133
  foundLocators.push(locator.nth(j));
@@ -180,52 +179,73 @@ class StableBrowser {
180
179
  return locators[0];
181
180
  }
182
181
  }
183
- throw new Error("failed to locate first element no elements found, " + JSON.stringify(info));
182
+ throw new Error("failed to locate first element no elements found, " +
183
+ JSON.stringify(info));
184
184
  }
185
185
  async click(selector, _params, options = {}, world = null) {
186
+ const startTime = Date.now();
187
+ let error = null;
188
+ let screenshotPath = null;
186
189
  const info = {};
187
190
  info.log = [];
188
191
  info.operation = "click";
189
192
  info.selector = selector;
190
- this._reportToWorld(world, { command: "click", params: _params, selector: selector });
191
193
  try {
192
194
  let element = await this._locate(selector, info, _params);
193
- await this._screenShot(options, world);
195
+ screenshotPath = await this._screenShot(options, world);
194
196
  try {
195
197
  await element.click({ timeout: 5000 });
196
198
  }
197
199
  catch (e) {
198
200
  info.log.push("click failed, will try force click");
199
- this._reportToWorld(world, { message: "click failed, will try force click" });
200
201
  await element.click({ timeout: 10000, force: true });
201
202
  }
202
- this._reportToWorld(world, { result: "success", info: info });
203
203
  await this.waitForPageLoad();
204
204
  return info;
205
205
  }
206
206
  catch (e) {
207
207
  this.logger.error("click failed " + JSON.stringify(info));
208
- this._reportToWorld(world, { result: "failed", info: info, error: e });
209
208
  Object.assign(e, { info: info });
210
- await this._screenShot(options, world);
211
- throw e;
209
+ screenshotPath = await this._screenShot(options, world);
210
+ error = e;
211
+ }
212
+ finally {
213
+ const endTime = Date.now();
214
+ this._reportToWorld(world, {
215
+ type: "click",
216
+ text: `Click element`,
217
+ screenshotPath,
218
+ result: error
219
+ ? {
220
+ status: "FAILED",
221
+ startTime,
222
+ endTime,
223
+ message: error === null || error === void 0 ? void 0 : error.message,
224
+ }
225
+ : {
226
+ status: "PASSED",
227
+ startTime,
228
+ endTime,
229
+ },
230
+ });
212
231
  }
213
232
  }
214
233
  async selectOption(selector, values, _params = null, options = {}, world = null) {
234
+ const startTime = Date.now();
235
+ let error = null;
236
+ let screenshotPath = null;
215
237
  const info = {};
216
238
  info.log = [];
217
239
  info.operation = "selectOptions";
218
240
  info.selector = selector;
219
- this._reportToWorld(world, { command: "select", values, params: _params, selector: selector });
220
241
  try {
221
242
  let element = await this._locate(selector, info, _params);
222
- await this._screenShot(options, world);
243
+ screenshotPath = await this._screenShot(options, world);
223
244
  try {
224
245
  await element.selectOption(values, { timeout: 5000 });
225
246
  }
226
247
  catch (e) {
227
248
  info.log.push("selectOption failed, will try force");
228
- this._reportToWorld(world, { message: "select failed, will try force select" });
229
249
  await element.selectOption(values, { timeout: 10000, force: true });
230
250
  }
231
251
  await this.waitForPageLoad();
@@ -233,23 +253,45 @@ class StableBrowser {
233
253
  }
234
254
  catch (e) {
235
255
  this.logger.error("selectOption failed " + JSON.stringify(info));
236
- this._reportToWorld(world, { result: "failed", info: info, error: e });
237
256
  Object.assign(e, { info: info });
238
- await this._screenShot(options, world);
239
- throw e;
257
+ screenshotPath = await this._screenShot(options, world);
258
+ error = e;
240
259
  this.logger.info("click failed, will try next selector");
241
260
  }
261
+ finally {
262
+ const endTime = Date.now();
263
+ this._reportToWorld(world, {
264
+ type: "select",
265
+ text: `Select option: ${values}`,
266
+ value: values.toString(),
267
+ screenshotPath,
268
+ result: error
269
+ ? {
270
+ status: "FAILED",
271
+ startTime,
272
+ endTime,
273
+ message: error === null || error === void 0 ? void 0 : error.message,
274
+ }
275
+ : {
276
+ status: "PASSED",
277
+ startTime,
278
+ endTime,
279
+ },
280
+ });
281
+ }
242
282
  }
243
283
  async fill(selector, value, enter = false, _params = null, options = {}, world = null) {
284
+ const startTime = Date.now();
285
+ let error = null;
286
+ let screenshotPath = null;
244
287
  const info = {};
245
288
  info.log = [];
246
289
  info.operation = "fill";
247
290
  info.selector = selector;
248
291
  info.value = value;
249
- this._reportToWorld(world, { command: "fill", value, enter, params: _params, selector: selector });
250
292
  try {
251
293
  let element = await this._locate(selector, info, _params);
252
- await this._screenShot(options, world);
294
+ screenshotPath = await this._screenShot(options, world);
253
295
  await element.fill(value, { timeout: 10000 });
254
296
  await element.dispatchEvent("change");
255
297
  if (enter) {
@@ -260,10 +302,30 @@ class StableBrowser {
260
302
  }
261
303
  catch (e) {
262
304
  this.logger.error("fill failed " + JSON.stringify(info));
263
- this._reportToWorld(world, { result: "failed", info: info, error: e });
264
305
  Object.assign(e, { info: info });
265
- await this._screenShot(options, world);
266
- throw e;
306
+ screenshotPath = await this._screenShot(options, world);
307
+ error = e;
308
+ }
309
+ finally {
310
+ const endTime = Date.now();
311
+ this._reportToWorld(world, {
312
+ type: "fill",
313
+ screenshotPath,
314
+ value,
315
+ text: `Fill input with value: ${value}`,
316
+ result: error
317
+ ? {
318
+ status: "FAILED",
319
+ startTime,
320
+ endTime,
321
+ message: error === null || error === void 0 ? void 0 : error.message,
322
+ }
323
+ : {
324
+ status: "PASSED",
325
+ startTime,
326
+ endTime,
327
+ },
328
+ });
267
329
  }
268
330
  }
269
331
  async getText(selector, _params = null, options = {}, info = {}, world = null) {
@@ -271,7 +333,7 @@ class StableBrowser {
271
333
  info.log = [];
272
334
  }
273
335
  let element = await this._locate(selector, info, _params);
274
- await this._screenShot(options, world);
336
+ screenshotPath = await this._screenShot(options, world);
275
337
  try {
276
338
  return await element.innerText();
277
339
  }
@@ -281,6 +343,9 @@ class StableBrowser {
281
343
  }
282
344
  }
283
345
  async containsPattern(selector, pattern, text, _params = null, options = {}, world = null) {
346
+ const startTime = Date.now();
347
+ let error = null;
348
+ let screenshotPath = null;
284
349
  const info = {};
285
350
  info.log = [];
286
351
  info.operation = "containsPattern";
@@ -288,7 +353,6 @@ class StableBrowser {
288
353
  info.value = text;
289
354
  info.pattern = pattern;
290
355
  let foundText = null;
291
- this._reportToWorld(world, { command: "contains", pattern, text, params: _params, selector: selector });
292
356
  try {
293
357
  foundText = await this.getText(selector, _params, options, info, world);
294
358
  let escapedText = text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
@@ -303,13 +367,36 @@ class StableBrowser {
303
367
  catch (e) {
304
368
  this.logger.error("verify element contains text failed " + JSON.stringify(info));
305
369
  this.logger.error("found text " + foundText + " pattern " + pattern);
306
- this._reportToWorld(world, { result: "failed", info: info, error: e });
307
370
  Object.assign(e, { info: info });
308
- await this._screenShot(options, world);
309
- throw e;
371
+ screenshotPath = await this._screenShot(options, world);
372
+ error = e;
373
+ }
374
+ finally {
375
+ const endTime = Date.now();
376
+ this._reportToWorld(world, {
377
+ type: "containsPattern",
378
+ value: pattern,
379
+ text: `Verify element contains pattern: ${pattern}`,
380
+ screenshotPath,
381
+ result: error
382
+ ? {
383
+ status: "FAILED",
384
+ startTime,
385
+ endTime,
386
+ message: error === null || error === void 0 ? void 0 : error.message,
387
+ }
388
+ : {
389
+ status: "PASSED",
390
+ startTime,
391
+ endTime,
392
+ },
393
+ });
310
394
  }
311
395
  }
312
396
  async containsText(selector, text, _params = null, options = {}, world = null) {
397
+ const startTime = Date.now();
398
+ let error = null;
399
+ let screenshotPath = null;
313
400
  const info = {};
314
401
  info.log = [];
315
402
  info.operation = "containsText";
@@ -325,10 +412,30 @@ class StableBrowser {
325
412
  }
326
413
  catch (e) {
327
414
  this.logger.error("verify element contains text failed " + JSON.stringify(info));
328
- this._reportToWorld(world, { result: "failed", info: info, error: e });
329
415
  Object.assign(e, { info: info });
330
- await this._screenShot(options, world);
331
- throw e;
416
+ screenshotPath = await this._screenShot(options, world);
417
+ error = e;
418
+ }
419
+ finally {
420
+ const endTime = Date.now();
421
+ this._reportToWorld(world, {
422
+ type: "containsText",
423
+ text: `Verify element contains text: ${text}`,
424
+ value: text,
425
+ screenshotPath,
426
+ result: error
427
+ ? {
428
+ status: "FAILED",
429
+ startTime,
430
+ endTime,
431
+ message: error === null || error === void 0 ? void 0 : error.message,
432
+ }
433
+ : {
434
+ status: "PASSED",
435
+ startTime,
436
+ endTime,
437
+ },
438
+ });
332
439
  }
333
440
  }
334
441
  async _screenShot(options = {}, world = null) {
@@ -342,36 +449,58 @@ class StableBrowser {
342
449
  }
343
450
  const screenshotPath = path.join(world.screenshotPath, nextIndex + ".png");
344
451
  await this.page.screenshot({ path: screenshotPath });
345
- await world.attach(JSON.stringify({ path: screenshotPath }), {
346
- mediaType: "application/json",
347
- });
452
+ return screenshotPath;
348
453
  }
349
- else if (options && options.screenshot) {
454
+ else if (options.screenshot) {
350
455
  await this.page.screenshot({ path: options.screenshotPath });
351
456
  }
352
457
  }
353
458
  async verifyElementExistInPage(selector, _params = null, options = {}, world = null) {
459
+ const startTime = Date.now();
460
+ let error = null;
461
+ let screenshotPath = null;
354
462
  await new Promise((resolve) => setTimeout(resolve, 2000));
355
463
  const info = {};
356
464
  info.log = [];
357
465
  info.operation = "verify";
358
466
  info.selector = selector;
359
- this._reportToWorld(world, { command: "verify", params: _params, selector: selector });
360
467
  try {
361
468
  const element = await this._locate(selector, info, _params);
362
- await this._screenShot(options, world);
469
+ screenshotPath = await this._screenShot(options, world);
363
470
  await expect(element).toHaveCount(1, { timeout: 10000 });
364
471
  return info;
365
472
  }
366
473
  catch (e) {
367
474
  this.logger.error("verify failed " + JSON.stringify(info));
368
- this._reportToWorld(world, { result: "failed", info: info, error: e });
369
475
  Object.assign(e, { info: info });
370
- await this._screenShot(options, world);
371
- throw e;
476
+ screenshotPath = await this._screenShot(options, world);
477
+ error = e;
478
+ }
479
+ finally {
480
+ const endTime = Date.now();
481
+ this._reportToWorld(world, {
482
+ type: "verify",
483
+ text: "Verify element exists in page",
484
+ screenshotPath,
485
+ result: error
486
+ ? {
487
+ status: "FAILED",
488
+ startTime,
489
+ endTime,
490
+ message: error === null || error === void 0 ? void 0 : error.message,
491
+ }
492
+ : {
493
+ status: "PASSED",
494
+ startTime,
495
+ endTime,
496
+ },
497
+ });
372
498
  }
373
499
  }
374
500
  async analyzeTable(selector, query, operator, value, _params = null, options = {}, world = null) {
501
+ const startTime = Date.now();
502
+ let error = null;
503
+ let screenshotPath = null;
375
504
  const info = {};
376
505
  info.log = [];
377
506
  info.operation = "analyzeTable";
@@ -381,22 +510,17 @@ class StableBrowser {
381
510
  info.query_fixed = query;
382
511
  info.operator = operator;
383
512
  info.value = value;
384
- this._reportToWorld(world, {
385
- command: "analyzeTable",
386
- query,
387
- operator,
388
- value,
389
- params: _params,
390
- selector: selector,
391
- });
392
513
  try {
393
514
  let table = await this._locate(selector, info, _params);
394
- await this._screenShot(options, world);
515
+ screenshotPath = await this._screenShot(options, world);
395
516
  const cells = await getTableCells(this.page, table, query, info);
396
517
  if (cells.error) {
397
518
  throw new Error(cells.error);
398
519
  }
399
- if (operator === "===" || operator === "==" || operator === "=" || operator === "equals") {
520
+ if (operator === "===" ||
521
+ operator === "==" ||
522
+ operator === "=" ||
523
+ operator === "equals") {
400
524
  if (cells.length === 0) {
401
525
  throw new Error("no cells found");
402
526
  }
@@ -406,7 +530,9 @@ class StableBrowser {
406
530
  }
407
531
  }
408
532
  }
409
- else if (operator === "!==" || operator === "!=" || operator === "not_equals") {
533
+ else if (operator === "!==" ||
534
+ operator === "!=" ||
535
+ operator === "not_equals") {
410
536
  if (cells.length === 0) {
411
537
  throw new Error("no cells found");
412
538
  }
@@ -471,15 +597,36 @@ class StableBrowser {
471
597
  }
472
598
  catch (e) {
473
599
  this.logger.error("analyzeTable failed " + JSON.stringify(info));
474
- this._reportToWorld(world, { result: "failed", info: info, error: e });
475
600
  Object.assign(e, { info: info });
476
- await this._screenShot(options, world);
477
- throw e;
601
+ screenshotPath = await this._screenShot(options, world);
602
+ error = e;
603
+ }
604
+ finally {
605
+ const endTime = Date.now();
606
+ this._reportToWorld(world, {
607
+ type: "analyzeTable",
608
+ text: "Analyze table",
609
+ screenshotPath,
610
+ result: error
611
+ ? {
612
+ status: "FAILED",
613
+ startTime,
614
+ endTime,
615
+ message: error === null || error === void 0 ? void 0 : error.message,
616
+ }
617
+ : {
618
+ status: "PASSED",
619
+ startTime,
620
+ endTime,
621
+ },
622
+ });
478
623
  }
479
624
  }
480
625
  async waitForPageLoad(options = {}, world = null) {
481
626
  let timeout = 10000;
482
- this._reportToWorld(world, { command: "waitForPageLoade" });
627
+ const startTime = Date.now();
628
+ let error = null;
629
+ let screenshotPath = null;
483
630
  if (!configuration) {
484
631
  try {
485
632
  if (fs.existsSync("ai_config.json")) {
@@ -512,10 +659,30 @@ class StableBrowser {
512
659
  catch (e) {
513
660
  console.log("waitForPageLoad error, ignored");
514
661
  }
515
- await new Promise((resolve) => setTimeout(resolve, 2000));
516
- await this._screenShot(options, world);
662
+ finally {
663
+ await new Promise((resolve) => setTimeout(resolve, 2000));
664
+ screenshotPath = await this._screenShot(options, world);
665
+ const endTime = Date.now();
666
+ this._reportToWorld(world, {
667
+ type: "waitForPageLoad",
668
+ text: "Wait for page load",
669
+ screenshotPath,
670
+ result: error
671
+ ? {
672
+ status: "FAILED",
673
+ startTime,
674
+ endTime,
675
+ message: error === null || error === void 0 ? void 0 : error.message,
676
+ }
677
+ : {
678
+ status: "PASSED",
679
+ startTime,
680
+ endTime,
681
+ },
682
+ });
683
+ }
517
684
  }
518
- _reportToWorld(world, properties = {}) {
685
+ _reportToWorld(world, properties) {
519
686
  if (!world || !world.attach) {
520
687
  return;
521
688
  }
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "automation_model",
3
- "version": "1.0.76",
3
+ "version": "1.0.78",
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",
@@ -13,15 +13,15 @@
13
13
  "pack": "mkdir build && mkdir build/bin && cp ./src/auto_page.js ./build/bin/auto_page.js && cp ./src/environment.js ./build/bin/environment.js && cp ./src/browser_manager.js ./build/bin/browser_manager.js && cp ./src/test_context.js ./build/bin/test_context.js && cp ./src/init_browser.js ./build/bin/init_browser.js && cp ./src/stable_browser.js ./build/bin/stable_browser.js && cp ./package.json ./build/package.json",
14
14
  "clean": "rimraf -g build && rimraf -g types",
15
15
  "build": "npm run clean && npm run compile && ncp package.json build/package.json",
16
- "test": "node tests/launch_page.test.js",
16
+ "test": "node tests/debug.test.js",
17
17
  "types": "tsc --declaration --allowJs --emitDeclarationOnly --outDir types"
18
18
  },
19
19
  "author": "",
20
20
  "license": "ISC",
21
21
  "dependencies": {
22
22
  "playwright": "^1.39.0",
23
- "@playwright/test": "^1.40.0",
24
- "regex-parser": "^2.2.11"
23
+ "regex-parser": "^2.2.11",
24
+ "@playwright/test": "^1.40.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "^20.9.3",
@@ -29,4 +29,4 @@
29
29
  "rimraf": "^5.0.5",
30
30
  "typescript": "^5.2.2"
31
31
  }
32
- }
32
+ }