@qavajs/steps-playwright
Version:
qavajs steps to interact with playwright
45 lines • 1.48 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@qavajs/core");
const conditionWait_1 = require("./conditionWait");
function transformString(fn) {
return function (s1, s2) {
const expression = (s1 || s2 || '').replace(/\\"/g, '"').replace(/\\'/g, "'");
return fn(expression);
};
}
(0, core_1.defineParameterType)({
name: 'playwrightLocator',
regexp: /"([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)'/,
transformer: function (s1, s2) {
const world = this;
return transformString(function (alias) {
return world.element(world.getValue(alias));
})(s1, s2);
}
});
(0, core_1.defineParameterType)({
name: 'playwrightCondition',
regexp: /((not )?to (?:be )?(?:softly )?(present|clickable|visible|invisible|enabled|disabled|in viewport))/,
transformer: conditionWait_1.getConditionWait,
useForSnippets: false
});
(0, core_1.defineParameterType)({
name: 'playwrightTimeout',
regexp: /(?:\(timeout: (\d+)\))?/,
transformer: p => p ? parseInt(p) : null,
useForSnippets: false
});
(0, core_1.defineParameterType)({
name: 'playwrightMouseButton',
regexp: /(left|right|middle)/,
transformer: p => p,
useForSnippets: false
});
(0, core_1.defineParameterType)({
name: 'playwrightBrowserButton',
regexp: /(back|forward)/,
transformer: p => p,
useForSnippets: false
});
//# sourceMappingURL=types.js.map
;