UNPKG

@luminati-io/webdriverio8

Version:

Next-gen browser and mobile automation test framework for Node.js

52 lines 4.56 kB
export const waitToLoadReact = function waitToLoadReact() { window.resq.waitToLoadReact(); }; export const react$ = function react$(selector, props, state, reactElement) { props = props || {}; state = state || {}; let element = window.resq.resq$(selector, reactElement); if (Object.keys(props).length) { // not yet typed https://github.com/baruchvlz/resq/issues/69 element = element.byProps(props); } if (Object.keys(state).length) { // not yet typed https://github.com/baruchvlz/resq/issues/69 element = element.byState(state); } if (!element.name) { return { message: `React element with selector "${selector}" wasn't found` }; } // resq returns an array of HTMLElements if the React component is a fragment // if the element is a fragment, we return the first child to be passed into the driver return element.isFragment && element.node ? element.node[0] : element.node; }; export const react$$ = function react$$(selector, props, state, reactElement) { let elements = window.resq.resq$$(selector, reactElement); if (Object.keys(props).length) { // not yet typed https://github.com/baruchvlz/resq/issues/69 elements = elements.byProps(props); } if (Object.keys(state).length) { // not yet typed https://github.com/baruchvlz/resq/issues/69 elements = elements.byState(state); } if (!elements.length) { return []; } // resq returns an array of HTMLElements if the React component is a fragment // this avoids having nested arrays of nodes which the driver does not understand // [[div, div], [div, div]] => [div, div, div, div] let nodes = []; elements.forEach(function (element) { if (element.isFragment) { nodes = nodes.concat(element.node || []); } else if (element.node) { nodes.push(element.node); } }); return [...nodes]; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3Jlc3EudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFNBQVMsZUFBZTtJQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO0FBQ2pDLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxTQUFTLE1BQU0sQ0FDakMsUUFBZ0IsRUFDaEIsS0FBWSxFQUNaLEtBQTBCLEVBQzFCLFlBQXlCO0lBRXpCLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFBO0lBQ25CLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFBO0lBRW5CLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUV2RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsNERBQTREO1FBQzVELE9BQU8sR0FBSSxPQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsNERBQTREO1FBQzVELE9BQU8sR0FBSSxPQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0NBQWdDLFFBQVEsZ0JBQWdCLEVBQUUsQ0FBQTtJQUNoRixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLHVGQUF1RjtJQUN2RixPQUFPLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLElBQUk7UUFDckMsQ0FBQyxDQUFFLE9BQU8sQ0FBQyxJQUE2QixDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQTtBQUN0QixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxPQUFPLENBQ25DLFFBQWdCLEVBQ2hCLEtBQVksRUFDWixLQUE2QixFQUM3QixZQUF5QjtJQUV6QixJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFFekQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVCLDREQUE0RDtRQUM1RCxRQUFRLEdBQUksUUFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1Qiw0REFBNEQ7UUFDNUQsUUFBUSxHQUFJLFFBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLE9BQU8sRUFBRSxDQUFBO0lBQ2IsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxpRkFBaUY7SUFDakYsbURBQW1EO0lBQ25ELElBQUksS0FBSyxHQUFrQixFQUFFLENBQUE7SUFFN0IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLE9BQU87UUFDOUIsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUM1QyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDNUIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUE7QUFDckIsQ0FBQyxDQUFBIn0=