testplane
Version:
Tests framework based on mocha and wdio
45 lines • 2.12 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.preparePointerForScreenshot = exports.cleanupPointerEvents = void 0;
const debug_1 = __importDefault(require("debug"));
const history_1 = require("../../history");
const pointerDebug = (0, debug_1.default)("testplane:screenshots:browser:pointer");
async function cleanupPointerEvents(screenshooter) {
await screenshooter.call("cleanupPointerEvents", []);
}
exports.cleanupPointerEvents = cleanupPointerEvents;
async function preparePointerForScreenshot(browser, opts) {
if (!opts.disableHover || opts.disableHover === "never" || !opts.pointerEventsDisabled) {
return;
}
return (0, history_1.runWithoutHistory)({}, async () => {
if (!browser.isW3C) {
pointerDebug("Skipping pointer move because session is not W3C");
return;
}
const chromeOptions = browser.requestedCapabilities?.["goog:chromeOptions"] ?? browser.capabilities?.["goog:chromeOptions"];
const isChromeMobileEmulation = Boolean(chromeOptions?.mobileEmulation);
if (browser.isMobile || browser.isIOS || browser.isAndroid || isChromeMobileEmulation) {
pointerDebug("Skipping pointer move because session is on mobile");
return;
}
try {
pointerDebug("Trying to move pointer to reset hover states");
await browser
.action("pointer", { parameters: { pointerType: "mouse" } })
.move({ duration: 0, origin: "viewport", x: 10, y: 10 })
.pause(10)
.move({ duration: 0, origin: "viewport", x: 0, y: 0 })
.perform();
pointerDebug("Pointer moved successfully");
}
catch (error) {
pointerDebug("Failed to move pointer relatively: %O", error);
}
});
}
exports.preparePointerForScreenshot = preparePointerForScreenshot;
//# sourceMappingURL=pointer-events.js.map