@applitools/spec-driver-webdriver 1.0.3 → 1.0.5
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/spec-driver.js +36 -5
- package/package.json +6 -5
- package/types/index.d.ts +3 -0
package/dist/spec-driver.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.build = exports.switchWorld = exports.getWorlds = exports.getCurrentWorld = exports.performAction = exports.getElementAttribute = exports.getElementRegion = exports.setOrientation = exports.getOrientation = exports.getSystemBars = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.getDriverInfo = exports.getCapabilities = exports.getCookies = exports.setWindowSize = exports.getWindowSize = exports.getElementText = exports.setElementText = exports.findElements = exports.findElement = exports.childContext = exports.parentContext = exports.mainContext = exports.executeScript = exports.isEqualElements = exports.isStaleElementError = exports.extractHostName = exports.untransformSelector = exports.transformSelector = exports.transformElement = exports.transformDriver = exports.isSelector = exports.isShadowRoot = exports.isElement = exports.isDriver = void 0;
|
|
29
|
+
exports.build = exports.switchWorld = exports.getWorlds = exports.getCurrentWorld = exports.performAction = exports.getElementAttribute = exports.getElementRegion = exports.setOrientation = exports.getOrientation = exports.getSystemBars = exports.scrollIntoView = exports.hover = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.getDriverInfo = exports.getCapabilities = exports.getCookies = exports.getSessionMetadata = exports.setWindowSize = exports.getWindowSize = exports.getElementText = exports.setElementText = exports.findElements = exports.findElement = exports.childContext = exports.parentContext = exports.mainContext = exports.executeScript = exports.isEqualElements = exports.isStaleElementError = exports.extractHostName = exports.untransformSelector = exports.transformSelector = exports.transformElement = exports.transformDriver = exports.isSelector = exports.isShadowRoot = exports.isElement = exports.isDriver = void 0;
|
|
30
30
|
const url_1 = require("url");
|
|
31
31
|
const utils = __importStar(require("@applitools/utils"));
|
|
32
32
|
const webdriver_1 = __importStar(require("webdriver"));
|
|
@@ -118,10 +118,7 @@ function transformDriver(driver) {
|
|
|
118
118
|
...environment,
|
|
119
119
|
};
|
|
120
120
|
if ((_a = driver.proxy) === null || _a === void 0 ? void 0 : _a.url) {
|
|
121
|
-
const agent = new proxy_agent_1.default({
|
|
122
|
-
...(0, url_1.parse)(driver.proxy.url),
|
|
123
|
-
rejectUnauthorized: false,
|
|
124
|
-
});
|
|
121
|
+
const agent = new proxy_agent_1.default({ ...(0, url_1.parse)(driver.proxy.url), rejectUnauthorized: false });
|
|
125
122
|
agent.callback = utils.general.wrap(agent.callback.bind(agent), (fn, request, options, ...rest) => {
|
|
126
123
|
return fn(request, { ...options, rejectUnauthorized: false }, ...rest);
|
|
127
124
|
});
|
|
@@ -294,6 +291,19 @@ async function setWindowSize(driver, size) {
|
|
|
294
291
|
}
|
|
295
292
|
}
|
|
296
293
|
exports.setWindowSize = setWindowSize;
|
|
294
|
+
// NOTE: this command is meant to be called when running with the eg-client
|
|
295
|
+
// otherwise it will not be implemented on the driver and throw
|
|
296
|
+
async function getSessionMetadata(driver) {
|
|
297
|
+
const cmd = (0, webdriver_1.command)('GET', '/session/:sessionId/applitools/metadata', {
|
|
298
|
+
command: 'getSessionMetadata',
|
|
299
|
+
description: '',
|
|
300
|
+
ref: '',
|
|
301
|
+
parameters: [],
|
|
302
|
+
});
|
|
303
|
+
const result = await cmd.call(driver);
|
|
304
|
+
return result;
|
|
305
|
+
}
|
|
306
|
+
exports.getSessionMetadata = getSessionMetadata;
|
|
297
307
|
async function getCookies(driver, context) {
|
|
298
308
|
if (context)
|
|
299
309
|
return driver.getAllCookies();
|
|
@@ -351,6 +361,27 @@ async function click(driver, element) {
|
|
|
351
361
|
await driver.elementClick(extractElementId(resolvedElement));
|
|
352
362
|
}
|
|
353
363
|
exports.click = click;
|
|
364
|
+
async function hover(driver, element) {
|
|
365
|
+
if (!driver.isW3C)
|
|
366
|
+
return await driver.moveToElement(extractElementId(element));
|
|
367
|
+
const { x, y, width, height } = await driver.getElementRect(extractElementId(element));
|
|
368
|
+
const { scrollX, scrollY } = await driver.executeScript('return {scrollX:window.pageXOffset,scrollY:window.pageYOffset}', []);
|
|
369
|
+
const offsetX = Math.floor(x - scrollX + width / 2);
|
|
370
|
+
const offsetY = Math.floor(y - scrollY + height / 2);
|
|
371
|
+
await driver.performActions([
|
|
372
|
+
{
|
|
373
|
+
type: 'pointer',
|
|
374
|
+
id: 'mouse',
|
|
375
|
+
parameters: { pointerType: 'mouse' },
|
|
376
|
+
actions: [{ type: 'pointerMove', duration: 0, x: offsetX, y: offsetY }],
|
|
377
|
+
},
|
|
378
|
+
]);
|
|
379
|
+
}
|
|
380
|
+
exports.hover = hover;
|
|
381
|
+
async function scrollIntoView(driver, element, align = false) {
|
|
382
|
+
await driver.executeScript('arguments[0].scrollIntoView(arguments[1])', [element, align]);
|
|
383
|
+
}
|
|
384
|
+
exports.scrollIntoView = scrollIntoView;
|
|
354
385
|
// #endregion
|
|
355
386
|
// #region APPIUM COMMANDS
|
|
356
387
|
async function getSystemBars(browser) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/spec-driver-webdriver",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"webdriver",
|
|
6
6
|
"chrome devtools protocol",
|
|
@@ -66,15 +66,15 @@
|
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@applitools/driver": "1.11.
|
|
70
|
-
"@applitools/utils": "1.3.
|
|
69
|
+
"@applitools/driver": "1.11.25",
|
|
70
|
+
"@applitools/utils": "1.3.26",
|
|
71
71
|
"proxy-agent": "5.0.0"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@applitools/api-extractor": "1.2.11",
|
|
75
|
-
"@applitools/bongo": "^2.2.
|
|
75
|
+
"@applitools/bongo": "^2.2.2",
|
|
76
76
|
"@applitools/scripts": "1.2.0",
|
|
77
|
-
"@applitools/test-utils": "1.5.
|
|
77
|
+
"@applitools/test-utils": "1.5.8",
|
|
78
78
|
"@types/mocha": "^9.1.1",
|
|
79
79
|
"@types/node": "12",
|
|
80
80
|
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"eslint-plugin-prettier": "^4.0.0",
|
|
87
87
|
"husky": "^4.3.7",
|
|
88
88
|
"mocha": "^9.2.2",
|
|
89
|
+
"nock": "^13.2.9",
|
|
89
90
|
"prettier": "^2.6.2",
|
|
90
91
|
"ts-node": "^10.8.0",
|
|
91
92
|
"ttypescript": "^1.5.12",
|
package/types/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export function setElementText(driver: Driver, element: Element, text: string):
|
|
|
21
21
|
export function getElementText(driver: Driver, element: Element): Promise<string>;
|
|
22
22
|
export function getWindowSize(driver: Driver): Promise<{ width: number; height: number; }>;
|
|
23
23
|
export function setWindowSize(driver: Driver, size: { width: number; height: number; }): Promise<void>;
|
|
24
|
+
export function getSessionMetadata(driver: Driver): Promise<void | []>;
|
|
24
25
|
export function getCookies(driver: Driver, context?: undefined | boolean): Promise<Array<import('@applitools/driver').Cookie>>;
|
|
25
26
|
export function getCapabilities(driver: Driver): Promise<Record<string, any>>;
|
|
26
27
|
export function getDriverInfo(driver: Driver): Promise<import('@applitools/driver').DriverInfo>;
|
|
@@ -29,6 +30,8 @@ export function getUrl(driver: Driver): Promise<string>;
|
|
|
29
30
|
export function visit(driver: Driver, url: string): Promise<void>;
|
|
30
31
|
export function takeScreenshot(driver: Driver): Promise<string>;
|
|
31
32
|
export function click(driver: Driver, element: Element | Selector): Promise<void>;
|
|
33
|
+
export function hover(driver: Driver, element: Element): Promise<any>;
|
|
34
|
+
export function scrollIntoView(driver: Driver, element: Element, align: boolean): Promise<void>;
|
|
32
35
|
export function getSystemBars(browser: Driver): Promise<{ statusBar: {
|
|
33
36
|
visible: boolean;
|
|
34
37
|
x: number;
|