UNPKG

query-selector-shadow-dom

Version:

use querySelector syntax to search for nodes inside of (nested) shadow roots

37 lines (35 loc) 1.17 kB
const { selectorEngine } = require("../playwright"); const supportedHelpers = [ 'Playwright' ] const playwright = require('playwright'); module.exports = function(config) { const container = codeceptjs.container; const event = codeceptjs.event; const helpers = container.helpers() let helperName for (helperName of supportedHelpers) { if (Object.keys(helpers).indexOf(helperName) > -1) { helper = helpers[helperName]; } } if (!helper) { throw new Error(`Shadow dom plugin only supports: ${supportedHelpers.join(',')}`) } if (!config) { config = {} } if (!config.locator) { config.locator = "shadow" } event.dispatcher.on(event.suite.before, async () => { if(helperName === "Playwright") { // temp handle api change in playwright may need to move to major version lib for documentation try { await playwright.selectors.register(selectorEngine, { name: config.locator }); } catch(e) { await playwright.selectors.register(config.locator, selectorEngine); } } }); }