UNPKG

@sap_oss/wdio-qmate-service

Version:

[![REUSE status](https://api.reuse.software/badge/github.com/SAP/wdio-qmate-service)](https://api.reuse.software/info/github.com/SAP/wdio-qmate-service)[![Node.js CI](https://github.com/SAP/wdio-qmate-service/actions/workflows/node.js.yml/badge.svg)](http

335 lines (334 loc) 21.1 kB
import { AlignmentOptions, AlignmentValues } from "../types"; /** * @class userInteraction * @memberof ui5 */ export declare class UserInteraction { private vlf; private ErrorHandler; private static readonly TEXTAREA_METADATA; private static readonly TEXTAREA_MACROS_METADATA; private static readonly SUPPORTED_TEXTAREA_METADATA; private static readonly SELECT_DEPRECATION_MESSAGE; /** * @function click * @memberOf ui5.userInteraction * @description Clicks on the element with the given selector. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.click(selector); */ click(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function clickAndRetry * @memberOf ui5.userInteraction * @description Clicks on the element with the given selector and retries the action in case of a failure. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries. * @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals. * @example await ui5.userInteraction.clickAndRetry(selector); */ clickAndRetry(selector: any, index?: number, timeout?: number, retries?: number, interval?: number): Promise<void>; /** * @function doubleClick * @memberOf ui5.userInteraction * @description Double Clicks on the passed element. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.doubleClick(selector); */ doubleClick(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function rightClick * @memberOf ui5.userInteraction * @description Right Clicks on the passed element. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example const elem = await nonUi5.element.getById("button01"); * await ui5.userInteraction.rightClick(elem); */ rightClick(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function clickTab * @memberOf ui5.userInteraction * @description Clicks on the tab with the given selector and checks if the tab got selected successfully. * The function retries the click for maximal 3 times if the selection of the tab (blue underline) was not successful. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.clickTab(selector); */ clickTab(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function clickListItem * @memberOf ui5.userInteraction * @description Clicks or opens the list item with the given selector (e.g. ColumnListItem, StandardListItem). * In some cases the default click function is not working correctly (clicks an element within the list item). * Therefore we recommend to use this function to open a specific list item. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.clickListItem(selector); */ clickListItem(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function check * @memberOf ui5.userInteraction * @description Checks the checkbox with the given selector. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.check(selector); */ check(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function uncheck * @memberOf ui5.userInteraction * @description Unchecks the checkbox with the given selector. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.uncheck(selector); */ uncheck(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function fill * @memberOf ui5.userInteraction * @description Fills the input field with the given selector. * @param {Object} selector - The selector describing the element. * @param {String | Number} value - The value to enter. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.fill(selector, "My Value"); */ fill(selector: any, value: string | number, index?: number, timeout?: number): Promise<void>; /** * @function fillAndRetry * @memberOf ui5.userInteraction * @description Fills the input field with the given selector and retries the action in case of a failure. * @param {Object} selector - The selector describing the element. * @param {String | Number} value - The value to enter. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries. * @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals. * @example await ui5.userInteraction.fillAndRetry(selector, "My Value"); */ fillAndRetry(selector: any, value: string | number, index?: number, timeout?: number, retries?: number, interval?: number): Promise<void>; /** * @function clear * @memberOf ui5.userInteraction * @description Clears the input with the given selector. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.clear(selector); */ clear(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function clearAndRetry * @memberOf ui5.userInteraction * @description Clears the input with the given selector and retries the action in case of a failure * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries. * @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals. * @example await ui5.userInteraction.clearAndRetry(selector); */ clearAndRetry(selector: any, index?: number, timeout?: number, retries?: number, interval?: number): Promise<void>; /** * @function clearAndFill * @memberOf ui5.userInteraction * @description Clears the input field with the given selector and fills the given value. * @param {Object} selector - The selector describing the element. * @param {String | Number} value - The value to enter. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.clearAndFill(selector, "My Value"); */ clearAndFill(selector: any, value: string | number, index?: number, timeout?: number): Promise<void>; /** * @function clearAndFillAndRetry * @memberOf ui5.userInteraction * @description Clears the input field with the given selector and fills the given value. Retries the action in case of a failure. * @param {Object} selector - The selector describing the element. * @param {String} value - The value to enter. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries. * @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals. * @param {Boolean} [verify=true] - Specifies if the filled value should be verified. * @example await ui5.userInteraction.clearAndFillAndRetry(selector, "My Value"); */ clearAndFillAndRetry(selector: any, value: string, index?: number, timeout?: number, retries?: number, interval?: number, verify?: boolean): Promise<void>; /** * @function clearSmartFieldInput * @memberOf ui5.userInteraction * @description Clears the smart filed with the given selector. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.clearSmartFieldInput(selector); */ clearSmartFieldInput(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function clearAndFillSmartFieldInput * @memberOf ui5.userInteraction * @description Clears the smart filed with the given selector and fills the given value. * @param {Object} selector - The selector describing the element. * @param {String} value - The value to enter. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.clearAndFillSmartFieldInput(selector, "My Value"); */ clearAndFillSmartFieldInput(selector: any, value: string, index?: number, timeout?: number): Promise<void>; /** * @function clearAndFillSmartFieldInputAndRetry * @memberOf ui5.userInteraction * @description Clears the smart filed with the given selector and fills the given value and retries the action in case of a failure. * @param {Object} selector - The selector describing the element. * @param {String} value - The value to enter. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries. * @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals. * @example await ui5.userInteraction.clearAndFillSmartFieldInputAndRetry(selector, "My Value"); */ clearAndFillSmartFieldInputAndRetry(selector: any, value: string, index?: number, timeout?: number, retries?: number, interval?: number): Promise<void>; /** * @function select * @memberOf ui5.userInteraction * @description Selects a value from a UI5 dropdown control. * @param {Object} selector - The selector describing the element. * @param {String} value - The value to select. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @example await ui5.userInteraction.select(selector, "Germany"); */ select(selector: any, value: string | Array<string>, index?: number): Promise<void>; selectBox(selector: any, value: string, index?: number): Promise<void>; selectComboBox(selector: any, value: string, index?: number): Promise<void>; selectMultiComboBox(selector: any, values: any[], index?: number): Promise<void>; /** * @function clickSelectArrow * @memberOf ui5.userInteraction * @description Clicks the arrow icon at the passed selector (select box). * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @example await ui5.userInteraction.clickSelectArrow(selector); */ clickSelectArrow(selector: any, index?: number): Promise<void>; /** * @function clickSelectArrowAndRetry * @memberOf ui5.userInteraction * @description Clicks the arrow icon at the passed selector (select box), and retries in case it fails. * @param {Object} selector - The selector describing the element * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [retries=3] - The number of retries, can be set in config for all functions under params stepsRetries. * @param {Number} [interval=5000] - The delay between the retries (ms). Can be set in config for all functions under params.stepRetriesIntervals. * @example await ui5.userInteraction.clickSelectArrowAndRetry(selector); */ clickSelectArrowAndRetry(selector: any, index?: number, retries?: number, interval?: number): Promise<void>; /** * @function selectFromTab * @memberOf ui5.userInteraction * @description Selects the passed value on the tab with the given selector and checks if the tab got selected successfully. * The function retries the click for maximal 3 times if the selection of the tab (blue underline) was not successful. * @param {Object} selector - The selector describing the element. * @param {String} value - The value to select. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.selectFromTab(selector); */ selectFromTab(selector: any, value: string, index?: number, timeout?: number): Promise<void>; /** * @function mouseOverElement * @memberOf ui5.userInteraction * @description Moves the cursor/focus to the element with the given selector. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.mouseOverElement(selector); */ mouseOverElement(selector: any, index?: number, timeout?: number): Promise<undefined>; /** * @function scrollToElement * @memberOf ui5.userInteraction * @description Scrolls the element with the given selector into view. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {String | Object} [alignment="center"] - The alignment option for scrolling. * Can be one of: "start", "center", "end", "nearest", or an object with properties: * - block: Vertical alignment ("start", "center", "end", "nearest"). * - inline: Horizontal alignment ("start", "center", "end", "nearest"). * @param {Number} [timeout=30000] - The timeout to wait (ms). * * @example * // Scroll to element with center alignment. * await nonUi5.userInteraction.scrollToElement(selector, 0, "center"); * * @example * // Scroll to element with custom alignment. * const alignment = { * block: "start", * inline: "center" * }; * await nonUi5.userInteraction.scrollToElement(selector, 0, alignment); */ scrollToElement(selector: any, index?: number, alignment?: AlignmentOptions | AlignmentValues, timeout?: number): Promise<void>; /** * @function selectAll * @memberOf ui5.userInteraction * @description Performs "select all" (ctrl + a) at the element with the given selector. * @param {Object} [selector] - The selector describing the element. * @param {Number} [index=0] - The index of the selector, in case there are more than one elements visible at the same time. * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.selectAll(selector); */ selectAll(selector: any, index?: number, timeout?: number): Promise<void>; /** * @function openF4Help * @memberOf ui5.userInteraction * @description Opens the F4-help of the element with the given selector. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @param {Boolean} useF4Key - Specifies if the help is opened by pressing the F4-key or via the button. * The default value is true (triggered by pressing the F4-key). Set "useF4Key" to false, to trigger the search by clicking the button. * @example await ui5.userInteraction.openF4Help(selector, 0, 30000, false); */ openF4Help(selector: any, index?: number, timeout?: number, useF4Key?: boolean): Promise<void>; /** * @function searchFor * @memberOf ui5.userInteraction * @description Searches for the passed value and executes the search. * In case that the search is already filled, it will reset the field first. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @param {Boolean} useEnter - Specifies if the search is triggered by pressing the Enter-key or via the search button. * The default value is true (triggered by pressing the Enter-key). Set "useEnter" to false, to trigger the search by clicking the search button. * @example await ui5.userInteraction.searchFor(selector, "My Value", 0, 30000, false); */ searchFor(selector: any, value: string, index?: number, timeout?: number, useEnter?: boolean): Promise<void>; /** * @function resetSearch * @memberOf ui5.userInteraction * @description Resets the search field. * @param {Object} selector - The selector describing the element. * @param {Number} [index=0] - The index of the selector (in case there are more than one elements visible at the same time). * @param {Number} [timeout=30000] - The timeout to wait (ms). * @example await ui5.userInteraction.resetSearch(selector); */ resetSearch(selector: any, index?: number, timeout?: number): Promise<void>; private _verifyTabSwitch; private _selectOption; private _selectMultipleOptions; } declare const _default: UserInteraction; export default _default;