taiko
Version:
Taiko is a Node.js library for automating Chromium based browsers
31 lines (27 loc) • 974 B
JavaScript
const domHandler = require("../handlers/domHandler");
const { defaultConfig } = require("../config");
const overlayHandler = require("../handlers/overlayHandler");
const { wait } = require("../helper");
const highlightElement = async (element) => {
// Adding a wait as tests fail on newer versions of chrome
if (!defaultConfig.highlightOnAction) {
await wait(1000);
return;
}
if (await element.isVisible()) {
const result = await domHandler.getBoxModel(element.get());
if (result) {
await overlayHandler.highlightQuad(result.model.border);
await wait(1000);
await overlayHandler.hideHighlight();
} else {
console.warn(
"WARNING: Taiko cannot highlight element — no rendered content quads " +
"(element may be off-screen, zero-sized, or not yet laid out).",
);
}
} else {
console.warn("WARNING: Taiko cannot highlight hidden elements.");
}
};
module.exports = { highlightElement };