@thisisagile/easy-puppeteer 7.44.1 → 8.0.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.
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Browser, Page } from 'puppeteer';
|
|
2
|
-
import {
|
|
2
|
+
import { Id, UseCase } from '@thisisagile/easy';
|
|
3
3
|
import { TestElement, Tester } from '@thisisagile/easy-test-web';
|
|
4
4
|
export declare class PuppeteerTester implements Tester {
|
|
5
|
-
|
|
5
|
+
host: string;
|
|
6
6
|
private readonly browser;
|
|
7
7
|
private readonly page;
|
|
8
|
-
constructor(
|
|
8
|
+
constructor(host: string, browser: Browser, page: Page);
|
|
9
9
|
get url(): string;
|
|
10
10
|
static launch: (headless: boolean) => Promise<Browser>;
|
|
11
|
-
static init(
|
|
11
|
+
static init(host?: string, headless?: boolean, width?: number, height?: number): Promise<Tester>;
|
|
12
12
|
byClass(c: string): TestElement;
|
|
13
13
|
byId(id: string): TestElement;
|
|
14
14
|
byDataTestId(id: string): TestElement;
|
package/dist/PuppeteerTester.js
CHANGED
|
@@ -6,21 +6,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.PuppeteerTester = void 0;
|
|
7
7
|
const PuppeteerElement_1 = require("./PuppeteerElement");
|
|
8
8
|
const puppeteer_1 = __importDefault(require("puppeteer"));
|
|
9
|
+
const easy_1 = require("@thisisagile/easy");
|
|
9
10
|
const easy_test_web_1 = require("@thisisagile/easy-test-web");
|
|
10
11
|
class PuppeteerTester {
|
|
11
|
-
constructor(
|
|
12
|
-
this.
|
|
12
|
+
constructor(host, browser, page) {
|
|
13
|
+
this.host = host;
|
|
13
14
|
this.browser = browser;
|
|
14
15
|
this.page = page;
|
|
15
16
|
}
|
|
16
17
|
get url() {
|
|
17
18
|
return this.page.target().url();
|
|
18
19
|
}
|
|
19
|
-
static async init(env, headless = true, width = 1200, height = 800) {
|
|
20
|
+
static async init(host = easy_1.ctx.env.get('webHost', ''), headless = true, width = 1200, height = 800) {
|
|
20
21
|
const browser = await PuppeteerTester.launch(headless);
|
|
21
22
|
const page = await browser.newPage();
|
|
22
23
|
await page.setViewport({ width, height });
|
|
23
|
-
return new PuppeteerTester(
|
|
24
|
+
return new PuppeteerTester(host, browser, page);
|
|
24
25
|
}
|
|
25
26
|
byClass(c) {
|
|
26
27
|
const h = this.page.waitForSelector(`.${c}`);
|
|
@@ -50,7 +51,7 @@ class PuppeteerTester {
|
|
|
50
51
|
return this.page.goto(url).then(r => r?.ok() ?? false);
|
|
51
52
|
}
|
|
52
53
|
goto(to, id) {
|
|
53
|
-
return this.redirect((0, easy_test_web_1.toUrl)(to, this.
|
|
54
|
+
return this.redirect((0, easy_test_web_1.toUrl)(to, this.host, id));
|
|
54
55
|
}
|
|
55
56
|
wait() {
|
|
56
57
|
return this.page.waitForNavigation().then(r => r?.ok() || false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuppeteerTester.js","sourceRoot":"","sources":["../src/PuppeteerTester.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAsD;AACtD,0DAAqD;
|
|
1
|
+
{"version":3,"file":"PuppeteerTester.js","sourceRoot":"","sources":["../src/PuppeteerTester.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy-puppeteer",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"description": "Straightforward wrapper library for Puppeteer web testing framework",
|
|
5
5
|
"author": "Sander Hoogendoorn",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@thisisagile/easy-test": "
|
|
37
|
+
"@thisisagile/easy-test": "8.0.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@thisisagile/easy": "
|
|
41
|
-
"@thisisagile/easy-test-web": "
|
|
42
|
-
"puppeteer": "^
|
|
40
|
+
"@thisisagile/easy": "8.0.0",
|
|
41
|
+
"@thisisagile/easy-test-web": "8.0.0",
|
|
42
|
+
"puppeteer": "^12.0.1"
|
|
43
43
|
}
|
|
44
44
|
}
|
package/src/PuppeteerTester.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PuppeteerElement } from './PuppeteerElement';
|
|
2
2
|
import puppeteer, { Browser, Page } from 'puppeteer';
|
|
3
|
-
import {
|
|
3
|
+
import { ctx, Id, UseCase } from '@thisisagile/easy';
|
|
4
4
|
import { TestElement, Tester, toUrl } from '@thisisagile/easy-test-web';
|
|
5
5
|
|
|
6
6
|
export class PuppeteerTester implements Tester {
|
|
7
|
-
constructor(public
|
|
7
|
+
constructor(public host: string, private readonly browser: Browser, private readonly page: Page) {}
|
|
8
8
|
|
|
9
9
|
get url(): string {
|
|
10
10
|
return this.page.target().url();
|
|
@@ -14,11 +14,11 @@ export class PuppeteerTester implements Tester {
|
|
|
14
14
|
static launch = (headless: boolean): Promise<Browser> => puppeteer.launch({ headless, args: ['--no-sandbox', '--start-maximized'] });
|
|
15
15
|
|
|
16
16
|
/* istanbul ignore next */
|
|
17
|
-
static async init(
|
|
17
|
+
static async init(host: string = ctx.env.get('webHost', '') as string, headless = true, width = 1200, height = 800): Promise<Tester> {
|
|
18
18
|
const browser = await PuppeteerTester.launch(headless);
|
|
19
19
|
const page = await browser.newPage();
|
|
20
20
|
await page.setViewport({ width, height });
|
|
21
|
-
return new PuppeteerTester(
|
|
21
|
+
return new PuppeteerTester(host, browser, page);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
byClass(c: string): TestElement {
|
|
@@ -58,7 +58,7 @@ export class PuppeteerTester implements Tester {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
goto(to: UseCase, id?: Id): Promise<boolean> {
|
|
61
|
-
return this.redirect(toUrl(to, this.
|
|
61
|
+
return this.redirect(toUrl(to, this.host, id));
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
wait(): Promise<boolean> {
|