wdio-ui5-service
Version:
WebdriverIO plugin for testing UI5 browser-based apps
31 lines • 1.6 kB
JavaScript
async function clientSide_interactWithControl(oOptions, browserInstance) {
browserInstance = await Promise.resolve(browserInstance);
return await browserInstance.execute(async function wdi5_interactWithControl(oOptions) {
if (!window.wdi5 || !window.bridge) {
// Local checkForWdi5BrowserReady.js for better performance
const wdi5MissingErr = new Error(`WDI5 is not available in the browser context! window.wdi5: ${!!window.wdi5} | window.bridge: ${!!window.bridge}`);
console.error(wdi5MissingErr); // eslint-disable-line no-console
throw wdi5MissingErr;
}
try {
await window.bridge.waitForUI5(window.wdi5.waitForUI5Options);
}
catch (error) {
return window.wdi5.errorHandling(error);
}
window.wdi5.Log.info("[browser wdi5] locating controlSelector");
// @ts-expect-error: Property 'I18NText' is missing in type 'wdi5ControlSelector' but required in type 'ControlSelector'
oOptions.selector = window.wdi5.createMatcher(oOptions.selector);
try {
const result = await window.bridge.interactWithControl(oOptions);
window.wdi5.Log.info("[browser wdi5] interaction complete! - Message: " + result);
return { status: 0, result };
}
catch (error) {
// this return "status" : 1 as part of the returned object
return window.wdi5.errorHandling(error);
}
}, oOptions);
}
export { clientSide_interactWithControl };
//# sourceMappingURL=interactWithControl.js.map