webdriverio-automation
Version:
WebdriverIO-Automation android ios project
34 lines (25 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = executeAsyncScript;
var _executeAsyncScript = _interopRequireDefault(require("../scripts/executeAsyncScript"));
var _utils = require("../utils");
var _constants = require("../constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
async function executeAsyncScript({
script,
args
}) {
const page = this.getPageHandle(true);
const scriptTimeout = this.timeouts.get('script');
script = script.trim();
if (script.startsWith('return (')) {
script = script.slice(7);
}
if (script.startsWith('return')) {
script = `(function () { ${script} }).apply(null, arguments)`;
}
const result = await page.$eval('html', _executeAsyncScript.default, script, scriptTimeout, _constants.SERIALIZE_PROPERTY, _constants.SERIALIZE_FLAG, ..._utils.transformExecuteArgs.call(this, args));
return _utils.transformExecuteResult.call(this, page, result);
}