webdriverio
Version:
Next-gen browser and mobile automation test framework for Node.js
27 lines (20 loc) • 965 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = implicitWait;
var _logger = _interopRequireDefault(require("@wdio/logger"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const log = (0, _logger.default)('webdriverio');
async function implicitWait(currentElement, commandName) {
if (!currentElement.elementId && !commandName.match(/(waitUntil|waitFor|isExisting|is?\w+Displayed|is?\w+Clickable)/)) {
log.debug(`command ${commandName} was called on an element ("${currentElement.selector}") ` + 'that wasn\'t found, waiting for it...');
try {
await currentElement.waitForExist();
return await currentElement.parent.$(currentElement.selector);
} catch (_unused) {
throw new Error(`Can't call ${commandName} on element with selector "${currentElement.selector}" because element wasn't found`);
}
}
return currentElement;
}