@sap_oss/wdio-qmate-service
Version:
[](https://api.reuse.software/info/github.com/SAP/wdio-qmate-service)[](http
335 lines (334 loc) • 21.1 kB
TypeScript
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;