@applitools/spec-driver-webdriver 1.0.3 → 1.0.4

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.
@@ -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.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"));
@@ -351,6 +351,27 @@ async function click(driver, element) {
351
351
  await driver.elementClick(extractElementId(resolvedElement));
352
352
  }
353
353
  exports.click = click;
354
+ async function hover(driver, element) {
355
+ if (!driver.isW3C)
356
+ return await driver.moveToElement(extractElementId(element));
357
+ const { x, y, width, height } = await driver.getElementRect(extractElementId(element));
358
+ const { scrollX, scrollY } = await driver.executeScript('return {scrollX:window.pageXOffset,scrollY:window.pageYOffset}', []);
359
+ const offsetX = Math.floor(x - scrollX + width / 2);
360
+ const offsetY = Math.floor(y - scrollY + height / 2);
361
+ await driver.performActions([
362
+ {
363
+ type: 'pointer',
364
+ id: 'mouse',
365
+ parameters: { pointerType: 'mouse' },
366
+ actions: [{ type: 'pointerMove', duration: 0, x: offsetX, y: offsetY }],
367
+ },
368
+ ]);
369
+ }
370
+ exports.hover = hover;
371
+ async function scrollIntoView(driver, element, align = false) {
372
+ await driver.executeScript('arguments[0].scrollIntoView(arguments[1])', [element, align]);
373
+ }
374
+ exports.scrollIntoView = scrollIntoView;
354
375
  // #endregion
355
376
  // #region APPIUM COMMANDS
356
377
  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",
3
+ "version": "1.0.4",
4
4
  "keywords": [
5
5
  "webdriver",
6
6
  "chrome devtools protocol",
package/types/index.d.ts CHANGED
@@ -29,6 +29,8 @@ export function getUrl(driver: Driver): Promise<string>;
29
29
  export function visit(driver: Driver, url: string): Promise<void>;
30
30
  export function takeScreenshot(driver: Driver): Promise<string>;
31
31
  export function click(driver: Driver, element: Element | Selector): Promise<void>;
32
+ export function hover(driver: Driver, element: Element): Promise<any>;
33
+ export function scrollIntoView(driver: Driver, element: Element, align: boolean): Promise<void>;
32
34
  export function getSystemBars(browser: Driver): Promise<{ statusBar: {
33
35
  visible: boolean;
34
36
  x: number;