@applitools/spec-driver-puppeteer 1.1.5 → 1.1.8
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/dist/index.js +2 -1
- package/dist/spec-driver.js +15 -7
- package/package.json +10 -8
- package/types/index.d.ts +3 -2
package/dist/index.js
CHANGED
|
@@ -28,4 +28,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const spec = __importStar(require("./spec-driver"));
|
|
30
30
|
__exportStar(require("./spec-driver"), exports);
|
|
31
|
-
|
|
31
|
+
const typedSpec = spec;
|
|
32
|
+
exports.default = typedSpec;
|
package/dist/spec-driver.js
CHANGED
|
@@ -23,9 +23,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.build = exports.waitUntilDisplayed = exports.scrollIntoView = exports.hover = exports.type = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.getDriverInfo = exports.getCookies = exports.setViewportSize = exports.getViewportSize = exports.findElements = exports.findElement = exports.childContext = exports.parentContext = exports.mainContext = exports.executeScript = exports.isStaleElementError = exports.extractContext = exports.transformSelector = exports.isSelector = exports.isElement = exports.isContext = exports.isDriver = void 0;
|
|
26
|
+
exports.build = exports.waitUntilDisplayed = exports.scrollIntoView = exports.hover = exports.type = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.getDriverInfo = exports.getCookies = exports.setViewportSize = exports.getViewportSize = exports.findElements = exports.findElement = exports.childContext = exports.parentContext = exports.mainContext = exports.executeScript = exports.isStaleElementError = exports.extractContext = exports.untransformSelector = exports.transformSelector = exports.isSelector = exports.isElement = exports.isContext = exports.isDriver = void 0;
|
|
27
27
|
const utils = __importStar(require("@applitools/utils"));
|
|
28
28
|
// #region HELPERS
|
|
29
|
+
const XPATH_SELECTOR_START = ['/', '(', '../', './', '*/'];
|
|
29
30
|
async function handleToObject(handle) {
|
|
30
31
|
const [, type] = handle.toString().split('@');
|
|
31
32
|
if (type === 'array') {
|
|
@@ -97,8 +98,8 @@ function scriptRunner(script, arg, ...elements) {
|
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
|
-
function
|
|
101
|
-
return
|
|
101
|
+
function isXpathSelector(selector) {
|
|
102
|
+
return XPATH_SELECTOR_START.some(start => selector.startsWith(start));
|
|
102
103
|
}
|
|
103
104
|
// #endregion
|
|
104
105
|
// #region UTILITY
|
|
@@ -130,6 +131,13 @@ function transformSelector(selector) {
|
|
|
130
131
|
return selector;
|
|
131
132
|
}
|
|
132
133
|
exports.transformSelector = transformSelector;
|
|
134
|
+
function untransformSelector(selector) {
|
|
135
|
+
if (utils.types.isString(selector)) {
|
|
136
|
+
return { type: isXpathSelector(selector) ? 'xpath' : 'css', selector };
|
|
137
|
+
}
|
|
138
|
+
return selector;
|
|
139
|
+
}
|
|
140
|
+
exports.untransformSelector = untransformSelector;
|
|
133
141
|
function extractContext(page) {
|
|
134
142
|
return isDriver(page) ? page.mainFrame() : page;
|
|
135
143
|
}
|
|
@@ -169,12 +177,12 @@ async function childContext(_frame, element) {
|
|
|
169
177
|
exports.childContext = childContext;
|
|
170
178
|
async function findElement(frame, selector, parent) {
|
|
171
179
|
const root = parent !== null && parent !== void 0 ? parent : frame;
|
|
172
|
-
return
|
|
180
|
+
return (isXpathSelector(selector) ? root.$x(selector).then(elements => elements[0]) : root.$(selector));
|
|
173
181
|
}
|
|
174
182
|
exports.findElement = findElement;
|
|
175
183
|
async function findElements(frame, selector, parent) {
|
|
176
184
|
const root = parent !== null && parent !== void 0 ? parent : frame;
|
|
177
|
-
return
|
|
185
|
+
return (isXpathSelector(selector) ? root.$x(selector) : root.$$(selector));
|
|
178
186
|
}
|
|
179
187
|
exports.findElements = findElements;
|
|
180
188
|
async function getViewportSize(page) {
|
|
@@ -219,8 +227,8 @@ async function visit(page, url) {
|
|
|
219
227
|
}
|
|
220
228
|
exports.visit = visit;
|
|
221
229
|
async function takeScreenshot(page) {
|
|
222
|
-
const
|
|
223
|
-
return
|
|
230
|
+
const result = await page.screenshot({ captureBeyondViewport: false });
|
|
231
|
+
return result;
|
|
224
232
|
}
|
|
225
233
|
exports.takeScreenshot = takeScreenshot;
|
|
226
234
|
async function click(frame, element) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/spec-driver-puppeteer",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.8",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"puppeteer",
|
|
6
6
|
"chrome devtools protocol",
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
},
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
|
-
"url": "git://github.com/applitools/eyes.sdk.javascript1.git"
|
|
20
|
+
"url": "git://github.com/applitools/eyes.sdk.javascript1.git",
|
|
21
|
+
"directory": "js/packages/spec-driver-puppeteer"
|
|
21
22
|
},
|
|
22
23
|
"license": "SEE LICENSE IN LICENSE",
|
|
23
24
|
"author": {
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"lint": "eslint '**/*.ts'",
|
|
39
40
|
"build": "ttsc",
|
|
40
41
|
"test": "mocha ./test/**/*.spec.ts --no-timeouts -r ts-node/register",
|
|
42
|
+
"test:sanity": "yarn test",
|
|
41
43
|
"setup": "yarn puppeteer:setup",
|
|
42
44
|
"puppeteer:setup": "PUPPETEER_PRODUCT=firefox node ./node_modules/puppeteer/install.js",
|
|
43
45
|
"upgrade:framework": "if [ ! -z $APPLITOOLS_PUPPETEER_VERSION ]; then packagejson=`cat package.json`; yarn upgrade --no-lockfile puppeteer@$APPLITOOLS_PUPPETEER_VERSION; echo \"$packagejson\" > package.json; fi",
|
|
@@ -54,14 +56,14 @@
|
|
|
54
56
|
}
|
|
55
57
|
},
|
|
56
58
|
"dependencies": {
|
|
57
|
-
"@applitools/types": "1.5.
|
|
58
|
-
"@applitools/utils": "1.3.
|
|
59
|
+
"@applitools/types": "1.5.7",
|
|
60
|
+
"@applitools/utils": "1.3.10"
|
|
59
61
|
},
|
|
60
62
|
"devDependencies": {
|
|
61
|
-
"@applitools/api-extractor": "1.2.
|
|
62
|
-
"@applitools/bongo": "^2.1.
|
|
63
|
+
"@applitools/api-extractor": "1.2.9",
|
|
64
|
+
"@applitools/bongo": "^2.1.6",
|
|
63
65
|
"@applitools/scripts": "1.1.0",
|
|
64
|
-
"@applitools/test-utils": "1.
|
|
66
|
+
"@applitools/test-utils": "1.4.3",
|
|
65
67
|
"@types/mocha": "^9.1.1",
|
|
66
68
|
"@types/node": "12",
|
|
67
69
|
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
|
@@ -74,7 +76,7 @@
|
|
|
74
76
|
"husky": "^4.3.7",
|
|
75
77
|
"mocha": "^9.2.2",
|
|
76
78
|
"prettier": "^2.6.2",
|
|
77
|
-
"puppeteer": "^
|
|
79
|
+
"puppeteer": "^15.3.1",
|
|
78
80
|
"ts-node": "^10.8.0",
|
|
79
81
|
"ttypescript": "^1.5.13",
|
|
80
82
|
"typescript": "^4.7.2"
|
package/types/index.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ export function isDriver(page: any): page is Driver;
|
|
|
4
4
|
export function isContext(frame: any): frame is Context;
|
|
5
5
|
export function isElement(element: any): element is Element;
|
|
6
6
|
export function isSelector(selector: any): selector is Selector;
|
|
7
|
-
export function transformSelector(selector:
|
|
7
|
+
export function transformSelector(selector: string | { selector: string | Selector; type?: string; }): Selector;
|
|
8
|
+
export function untransformSelector(selector: Selector): string | { selector: string; type?: string; };
|
|
8
9
|
export function extractContext(page: Driver | Context): Context;
|
|
9
10
|
export function isStaleElementError(err: any): boolean;
|
|
10
11
|
export function executeScript(frame: Context, script: string | ((arg: any) => any), arg: any): Promise<any>;
|
|
@@ -20,7 +21,7 @@ export function getDriverInfo(_page: Driver): Promise<import('@applitools/types'
|
|
|
20
21
|
export function getTitle(page: Driver): Promise<string>;
|
|
21
22
|
export function getUrl(page: Driver): Promise<string>;
|
|
22
23
|
export function visit(page: Driver, url: string): Promise<void>;
|
|
23
|
-
export function takeScreenshot(page: Driver): Promise<
|
|
24
|
+
export function takeScreenshot(page: Driver): Promise<Buffer>;
|
|
24
25
|
export function click(frame: Context, element: Element | Selector): Promise<void>;
|
|
25
26
|
export function type(frame: Context, element: Element | Selector, keys: string): Promise<void>;
|
|
26
27
|
export function hover(frame: Context, element: Element | Selector): Promise<void>;
|