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 +2 -2
- package/bin/browser_manager.js +12 -17
- package/bin/init_browser.js +2 -2
- package/bin/stable_browser.js +4 -3
- package/package.json +3 -2
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;
|
package/bin/browser_manager.js
CHANGED
|
@@ -9,7 +9,11 @@ class BrowserManager {
|
|
|
9
9
|
this.browsers = [];
|
|
10
10
|
}
|
|
11
11
|
async closeBrowser(browser) {
|
|
12
|
-
if (browser
|
|
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:
|
|
53
|
+
headless: headless,
|
|
51
54
|
timeout: 0,
|
|
52
|
-
//args: ["--remote-debugging-port=" + port],
|
|
53
55
|
});
|
|
54
|
-
|
|
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() {
|
package/bin/init_browser.js
CHANGED
|
@@ -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;
|
package/bin/stable_browser.js
CHANGED
|
@@ -62,9 +62,10 @@ class StableBrowser {
|
|
|
62
62
|
await element.fill(value);
|
|
63
63
|
await element.dispatchEvent("change");
|
|
64
64
|
}
|
|
65
|
-
async
|
|
66
|
-
const element = await
|
|
67
|
-
await expect(element
|
|
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.
|
|
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",
|