automation_model 1.0.11 → 1.0.12

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/bin/auto_page.js CHANGED
@@ -26,9 +26,9 @@ class AutoPage {
26
26
  /**
27
27
  * init context
28
28
  */
29
- static async init(navigate = true) {
29
+ static async init(navigate = true, headless = false) {
30
30
  const instance = new this();
31
- instance.context = await getContext();
31
+ instance.context = await getContext(null, headless);
32
32
  instance.page = instance.context.page;
33
33
  instance.browser = instance.context.browser;
34
34
  instance.stable = instance.context.stable;
@@ -9,7 +9,11 @@ class BrowserManager {
9
9
  this.browsers = [];
10
10
  }
11
11
  async closeBrowser(browser) {
12
- if (browser !== null) {
12
+ if (!browser && this.browsers.length > 0) {
13
+ browser = this.browsers[0];
14
+ }
15
+
16
+ if (browser) {
13
17
  await browser.close();
14
18
  for (let i = 0; i < this.browsers.length; i++) {
15
19
  if (
@@ -24,15 +28,15 @@ class BrowserManager {
24
28
  }
25
29
  }
26
30
 
27
- async createBrowser() {
31
+ async createBrowser(headless = false) {
28
32
  const browser = new Browser();
29
- await browser.init();
33
+ await browser.init(headless);
30
34
  this.browsers.push(browser);
31
35
  return browser;
32
36
  }
33
- async getBrowser() {
37
+ async getBrowser(headless = false) {
34
38
  if (this.browsers.length === 0) {
35
- return await this.createBrowser();
39
+ return await this.createBrowser(headless);
36
40
  }
37
41
  return this.browsers[0];
38
42
  }
@@ -44,23 +48,14 @@ class Browser {
44
48
  this.page = null;
45
49
  }
46
50
 
47
- async init() {
48
- //let port = 9222;
51
+ async init(headless = false) {
49
52
  this.browser = await chromium.launch({
50
- headless: false,
53
+ headless: headless,
51
54
  timeout: 0,
52
- //args: ["--remote-debugging-port=" + port],
53
55
  });
54
- // const cdpBrowser = await chromium.connectOverCDP({
55
- // endpointURL: `http://127.0.0.1:${port}/`,
56
- // });
57
- // //let context = await browser.newContext();
58
- // const context = cdpBrowser.contexts()[0];
59
- // let page = await context.newPage();
60
- // page.goto("https://www.cnn.com");
56
+
61
57
  this.context = await this.browser.newContext();
62
58
  this.page = await this.context.newPage();
63
- //console.log("browser", this.browser);
64
59
  }
65
60
 
66
61
  async close() {
@@ -7,11 +7,11 @@ import { StableBrowser } from "./stable_browser.js";
7
7
  let environment = null;
8
8
 
9
9
  // init browser create context and page, if context and page are not null
10
- const getContext = async function (environment = null) {
10
+ const getContext = async function (environment = null, headless = false) {
11
11
  if (environment === null) {
12
12
  environment = initEnvoronment();
13
13
  }
14
- let browser = await browserManager.getBrowser();
14
+ let browser = await browserManager.getBrowser(headless);
15
15
  let context = new TestContext();
16
16
  context.browser = browser.browser;
17
17
  context.playContext = browser.context;
@@ -62,9 +62,10 @@ class StableBrowser {
62
62
  await element.fill(value);
63
63
  await element.dispatchEvent("change");
64
64
  }
65
- async verifyTextFoundInPage(text) {
66
- const element = await page.getByText(text);
67
- await expect(element !== undefined).toBeTruthy();
65
+ async verifyElementExistInPage(selector) {
66
+ const element = await this._locate(selector, this.page);
67
+ await expect(element).toHaveCount(1);
68
+ //await expect(element !== undefined).toBeTruthy();
68
69
  }
69
70
  async waitForPageLoad() {
70
71
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "automation_model",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "An automation infrastructure module to be use for generative AI automation projects.",
5
5
  "main": "bin/index.js",
6
6
  "type": "module",
@@ -10,7 +10,8 @@
10
10
  "scripts": {
11
11
  "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 ./src/index.js ./build/bin/index.js && cp ./package.json ./build/package.json",
12
12
  "clean": "rm -rf ./build",
13
- "build": "npm run clean && npm run pack"
13
+ "build": "npm run clean && npm run pack",
14
+ "test": "node ./tests/launch_page.js"
14
15
  },
15
16
  "author": "",
16
17
  "license": "ISC",