* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License,Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,software
* distributed under the License is distributed on an "ASIS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
* The **UiTest** module provides APIs that you can use to simulate UI actions during testing, such as clicks, double-
* clicks, long-clicks, and swipes.
* This module provides the following functions:
*
* - [On<sup>9+</sup>]{@link On}: provides UI component feature description APIs for component filtering and matching.
* - [Component<sup>9+</sup>]{@link Component}: represents a component on the UI and provides APIs for obtaining
* component attributes, clicking a component, scrolling to search for a component, and text injection.
* - [Driver<sup>9+</sup>]{@link Driver}: works as the entry class and provides APIs for features such as component
* matching/search, key injection, coordinate clicking/sliding, and screenshot.
* - [UiWindow<sup>9+</sup>]{@link UiWindow}: works as the entry class and provides APIs for obtaining window attributes,
* dragging windows, and adjusting window sizes.
* - [By<sup>(deprecated)</sup>]{@link BY}: provides UI component feature description APIs for component filtering and
* matching. This API is supported since API version 8 and deprecated since API version 9.
* You are advised to use {@link On} instead.
* - [UiComponent<sup>(deprecated)</sup>]{@link UiComponent}: represents a component on the UI and provides APIs for
* obtaining component attributes, clicking a component, scrolling to search for a component, and text injection.
* This API is supported since API version 8 and deprecated since API version 9.
* You are advised to use [Component<sup>9+</sup>]{@link Component} instead.
* - [UiDriver<sup>(deprecated)</sup>]{@link UiDriver}: works as the entry class and provides APIs for features such as
* component matching/search, key injection, coordinate clicking/sliding, and screenshot.
* This API is supported since API version 8 and deprecated since API version 9.
* You are advised to use [Driver<sup>9+</sup>]{@link Driver} instead.
*
* > **NOTE**
* >
* > - The APIs of this module can be used only in <!--RP1-->[UITest](docroot://application-test/uitest-guidelines.md)<!--RP1End-->.
* >
* > - The APIs of this module do not support concurrent calls.
*
* @file
* @kit TestKit
*
*/
import { Callback } from './@ohos.base';
* Enumerates the match patterns supported for component attributes.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 8 dynamic
* @since 23 static
*/
declare enum MatchPattern {
* Equals the given value.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 8 dynamic
* @since 23 static
* @test
*/
EQUALS = 0,
* Contains the given value.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 8 dynamic
* @since 23 static
* @test
*/
CONTAINS = 1,
* Starts with the given value.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 8 dynamic
* @since 23 static
* @test
*/
STARTS_WITH = 2,
* Ends with the given value.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 8 dynamic
* @since 23 static
* @test
*/
ENDS_WITH = 3,
* Uses regular expression matching.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
REG_EXP = 4,
* Uses case-insensitive regular expression matching.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
REG_EXP_ICASE = 5,
}
* The UiTest framework provides a wide range of UI component feature description APIs in the **By** class to filter and
* match components.
*
* The APIs provided by the **By** class exhibit the following features:
*
* 1. Allow one or more attributes as the match conditions.
* For example, you can specify both the **text** and **id** attributes to find the target component.
* 2. Provide multiple match patterns for component attributes.
* 3. Support absolute positioning and relative positioning for components.
* APIs such as [By.isBefore<sup>(deprecated)</sup>]{@link By#isBefore} and [By.isAfter<sup>(deprecated)</sup>]{@link By#isAfter}
* can be used to specify the features of adjacent components to assist positioning.
*
* All APIs provided in the **By** class are synchronous. You are advised to use the static constructor **BY** to create
* a **By** object in chain mode.
*
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On
*/
declare class By {
* Specifies the text attribute of the target component. Multiple match patterns are supported.
*
* @param { string } txt - Component text, used to match the target component.
* @param { MatchPattern } pattern - Match pattern {@link MatchPattern}.
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { By } - **By** object that matches the text attribute of the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#text
* @test
*/
text(txt: string, pattern?: MatchPattern): By;
* Specifies the key attribute of the target component.
*
* @param { string } key - Component key.
* @returns { By } - **By** object that matches the key attribute of the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#id(id: string)
* @test
*/
key(key: string): By;
* Specifies the ID attribute of the target component.
*
* @param { number } id - Component ID.
* @returns { By } - **By** object that matches the ID attribute of the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#id(id: string)
* @test
*/
id(id: number): By;
* Specifies the type attribute of the target component.
*
* @param { string } tp - Component type.
* @returns { By } - **By** object that matches the type attribute of the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#type(tp: string)
* @test
*/
type(tp: string): By;
* Specifies the clickable attribute of the target component.
*
* @param { boolean } b - Clickable status of the component. The value **true** indicates that the component is clickable,
* and **false** indicates the opposite. Default value: **true**
* @returns { By } - **By** object that matches the clickable attribute of the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#clickable
* @test
*/
clickable(b?: boolean): By;
* Specifies the scrollable attribute of the target component.
*
* @param { boolean } b - Scrollable status of the component. The value **true** indicates that the component is scrollable
* , and **false** indicates the opposite. Default value: **true**
* @returns { By } - **By** object that matches the scrollable attribute of the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#scrollable
* @test
*/
scrollable(b?: boolean): By;
* Specifies the enabled attribute of the target component.
*
* @param { boolean } b - Enabled status of the component. The value **true** indicates that the component is enabled, and
* **false** indicates the opposite. Default value: **true**
* @returns { By } - **By** object that matches the enabled attribute of the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#enabled
* @test
*/
enabled(b?: boolean): By;
* Specifies the focused attribute of the target component.
*
* @param { boolean } b - Focused status of the component. The value **true** indicates that the component is focused, and
* **false** indicates the opposite. Default value: **true**
* @returns { By } - **By** object that matches the focused attribute of the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#focused
* @test
*/
focused(b?: boolean): By;
* Specifies the selected status of the target component.
*
* @param { boolean } b - Selected status of the component. The value **true** indicates that the component is selected,
* and **false** indicates the opposite. Default value: **true**
* @returns { By } - **By** object that matches the selected attribute of the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#selected
* @test
*/
selected(b?: boolean): By;
* Specifies that the target component is located before the given attribute component.
*
* @param { By } by - Information about the attribute component.
* @returns { By } - **By** object.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#isBefore(on: On)
* @test
*/
isBefore(by: By): By;
* Specifies that the target component is located after the given attribute component.
*
* @param { By } by - Information about the attribute component.
* @returns { By } - **By** object.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead On#isAfter(on: On)
* @test
*/
isAfter(by: By): By;
}
* In **UiTest**, the **UiComponent** class represents a component on the UI and provides APIs for obtaining component
* attributes, clicking a component, scrolling to search for a component, and text injection.
* All APIs provided in this class use a promise to return the result and must be invoked using **await**.
*
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component
* @test
*/
declare class UiComponent {
* Clicks this component. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#click
* @test
*/
click(): Promise<void>;
* Double-clicks this component. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#doubleClick
* @test
*/
doubleClick(): Promise<void>;
* Long-clicks this component. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#longClick
* @test
*/
longClick(): Promise<void>;
* Obtains the ID of this component. This API uses a promise to return the result.
*
* @returns { Promise<number> } - Promise used to return the component ID.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#getId
* @test
*/
getId(): Promise<number>;
* Obtains the key of this component. This API uses a promise to return the result.
*
* @returns { Promise<string> } - Promise used to return the key value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#getId
* @test
*/
getKey(): Promise<string>;
* Obtains the text information of this component. This API uses a promise to return the result.
*
* @returns { Promise<string> } - Promise used to return the text information of the component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#getText
* @test
*/
getText(): Promise<string>;
* Obtains the type of this component. This API uses a promise to return the result.
*
* @returns { Promise<string> } - Promise used to return the component type.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#getType
* @test
*/
getType(): Promise<string>;
* Obtains the clickable status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component is clickable. The value **true** indicates
* that the component is clickable, and **false** indicates the opposite.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#isClickable
* @test
*/
isClickable(): Promise<boolean>;
* Obtains the scrollable status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component is scrollable. The value **true** indicates
* that the component is scrollable, and **false** indicates the opposite.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#isScrollable
* @test
*/
isScrollable(): Promise<boolean>;
* Obtains the enabled status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component is enabled. The value **true** indicates
* that the component is enabled, and **false** indicates the opposite.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#isEnabled
* @test
*/
isEnabled(): Promise<boolean>;
* Obtains the focused status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component is focused. The value **true** indicates
* that the component is focused, and **false** indicates the opposite.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#isFocused
* @test
*/
isFocused(): Promise<boolean>;
* Obtains the selected status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component is selected. The value **true** indicates
* that the component is selected, and **false** indicates the opposite.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#isSelected
* @test
*/
isSelected(): Promise<boolean>;
* Inputs text to a component. This API takes effect only for editable text components. This API uses a promise to
* return the result.
*
* @param { string } text - Text to enter.
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#inputText(text: string)
* @test
*/
inputText(text: string): Promise<void>;
* Scrolls on this component to search for the target component (applicable to components that support scrolling, such
* as **List**). This API uses a promise to return the result.
*
* @param { By } by - Attributes of the target component.
* @returns { Promise<UiComponent> } - Promise used to return the target component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#scrollSearch(on: On)
* @test
*/
scrollSearch(by: By): Promise<UiComponent>;
}
* The **UiDriver** class is the main entry to the UiTest framework. It provides APIs for features such as component
* matching/search, key injection, coordinate clicking/sliding, and screenshot.
* All APIs provided by this class, except **UiDriver.create()**, use a promise to return the result and must be invoked
* using **await**.
*
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver
* @test
*/
declare class UiDriver {
* Creates a **UiDriver** object and returns the object created. This API is a static API.
*
* > **NOTE**
* >
* > This method is supported since API version 8 and deprecated since API version 9. You are advised to use
* > [create<sup>9+</sup>]{@link Driver#create} instead.
*
* @returns { UiDriver } - **UiDriver** object created.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver#create
* @test
*/
static create(): UiDriver;
* Delays this **UiDriver** object within the specified duration. This API uses a promise to return the result.
*
* @param { number } duration - Duration of time.
* <br>Unit: ms
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver#delayMs
* @test
*/
delayMs(duration: number): Promise<void>;
* Searches this **UiDriver** object for the target component that matches the given attributes. This API uses a
* promise to return the result.
*
* @param { By } by - Attributes of the target component.
* @returns { Promise<UiComponent> } - Promise used to return the component.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver#findComponent(on: On)
* @test
*/
findComponent(by: By): Promise<UiComponent>;
* Searches this **UiDriver** object for all components that match the given attributes. This API uses a promise to
* return the result.
*
* @param { By } by - Attributes of the target component.
* @returns { Promise<Array<UiComponent>> } - Promise used to return the list of components.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver#findComponents(on: On)
* @test
*/
findComponents(by: By): Promise<Array<UiComponent>>;
* Asserts that a component that matches the given attributes exists on the current page. If the component does not
* exist, the API throws a JS exception, causing the current test case to fail. This API uses a promise to return the
* result.
*
* @param { By } by - Attributes of the target component.
* @returns { Promise<void> } - Promise that returns no value.
* @throws {BusinessError} 401 - if the input parameters are invalid.
* @throws {BusinessError} 17000002 - The API does not support concurrent calls.
* @throws {BusinessError} 17000003 - if the assertion failed.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver#assertComponentExist
* @test
*/
assertComponentExist(by: By): Promise<void>;
* Presses the Back button on this **UiDriver** object. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver#pressBack()
* @test
*/
pressBack(): Promise<void>;
* Triggers the key of this **UiDriver** object that matches the given key code. This API uses a promise to return the
* result.
*
* @param { number } keyCode - Key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver#triggerKey(keyCode: int)
* @test
*/
triggerKey(keyCode: number): Promise<void>;
* Clicks a specific point of this **UiDriver** object based on the given coordinates. This API uses a promise to
* return the result.
*
* @param { number } x - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { number } y - Number, which indicates the vertical coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#click
* @test
*/
click(x: number, y: number): Promise<void>;
* Double-clicks a specific point of this **UiDriver** object based on the given coordinates. This API uses a promise
* to return the result.
*
* @param { number } x - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { number } y - Number, which indicates the vertical coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#doubleClick
* @test
*/
doubleClick(x: number, y: number): Promise<void>;
* Long-clicks a specific point of this **UiDriver** object based on the given coordinates. This API uses a promise to
* return the result.
*
* @param { number } x - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { number } y - Number, which indicates the vertical coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Component#longClick
* @test
*/
longClick(x: number, y: number): Promise<void>;
* Swipes on this **UiDriver** object from the start point to the end point based on the given coordinates. This API
* uses a promise to return the result.
*
* @param { number } startx - Number, which indicates the horizontal coordinate of the start point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { number } starty - Number, which indicates the vertical coordinate of the start point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { number } endx - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { number } endy - Number, which indicates the vertical coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @returns { Promise<void> } - Promise that returns no value.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver#swipe
* @test
*/
swipe(startx: number, starty: number, endx: number, endy: number): Promise<void>;
* Captures the current screen of this **UiDriver** object and saves it as a PNG image to the given save path. This
* API uses a promise to return the result.
*
* @param { string } savePath - File save path.
* @returns { Promise<boolean> } - Promise used to return whether the screenshot operation is successful. The value **true*
* The value **true** indicates the screenshot operation is successful, and **false** indicates the opposite.
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead Driver#screenCap(savePath: string)
* @test
*/
screenCap(savePath: string): Promise<boolean>;
}
* Enumerates the window modes.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
declare enum WindowMode {
* Full-screen mode.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
FULLSCREEN = 0,
* Primary window mode.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
PRIMARY = 1,
* Secondary window mode.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
SECONDARY = 2,
* Floating window mode.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
FLOATING = 3
}
* Enumerates the directions in which a window can be resized.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
declare enum ResizeDirection {
* Left.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
LEFT = 0,
* Right.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
RIGHT = 1,
* Up.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
UP = 2,
* Down.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
DOWN = 3,
* Upper left.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
LEFT_UP = 4,
* Lower left.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
LEFT_DOWN = 5,
* Upper right.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
RIGHT_UP = 6,
* Lower right.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
RIGHT_DOWN = 7
}
* Describes the display rotation of the device.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
declare enum DisplayRotation {
* The device display is not rotated and is in its original vertical orientation.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
ROTATION_0 = 0,
* The device display rotates 90° clockwise and is in landscape orientation.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
ROTATION_90 = 1,
* The device display rotates 180° clockwise and is in reverse vertical orientation.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
ROTATION_180 = 2,
* The device display rotates 270° clockwise and is in reverse landscape orientation.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
ROTATION_270 = 3
}
* Represents the point on the device screen.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
declare interface Point {
* Horizontal coordinate of a coordinate point. The value is an integer greater than 0.
*
* @readonly [since 9-19]
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
x: int;
* Vertical coordinate of a coordinate point. The value is an integer greater than 0.
*
* @readonly [since 9-19]
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
y: int;
* ID of the display to which the coordinate point belongs. The value is an integer greater than or equal to 0. The
* default value is the default screen ID of the device.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
*/
displayId?: int;
}
* Represents the rectangle area on the device screen.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
declare interface Rect {
* X coordinate of the upper left corner of the component border. The value is an integer greater than 0.
* <br>Unit: px
* @readonly [since 9-19]
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
left: int;
* Y coordinate of the upper left corner of the component border. The value is an integer greater than 0.
* <br>Unit: px
* @readonly [since 9-19]
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
top: int;
* X coordinate of the lower right corner of the component border. The value is an integer greater than 0.
* <br>Unit: px
* @readonly [since 9-19]
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
right: int;
* Y coordinate of the lower right corner of the component border. The value is an integer greater than 0.
* <br>Unit: px
* @readonly [since 9-19]
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
bottom: int;
* ID of the display to which the component border belongs. The value is an integer greater than or equal to 0.
* <br>Default value: the default screen ID of the device.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
*/
displayId?: int;
}
* Provides the flag attributes of this window.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
declare interface WindowFilter {
* Bundle name of the application to which the window belongs. The default value is empty.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
bundleName?: string;
* Title of the window. The default value is empty.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
title?: string;
* Whether the window is focused. The value **true** indicates that the window is focused, and **false** indicates the
* opposite. The default value is **false**.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
focused?: boolean;
* Whether the window is interacting with the user. The value **true** indicates that the window is interacting with
* the user, and **false** indicates the opposite.
*
* This API is deprecated since API version 11. You are advised to use the **active** API instead.
*
* @syscap SystemCapability.Test.UiTest
* @since 9 dynamiconly
* @deprecated since 11
* @useinstead ohos.UiTest.WindowFilter#active
*/
actived?: boolean;
* Whether the window is interacting with the user. The value **true** indicates that the window is interacting with
* the user, and **false** indicates the opposite.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @since 23 static
*/
active?: boolean;
* ID of the display to which the window belongs. The value is an integer greater than or equal to 0. The default
* value is the default screen ID of the device.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
*/
displayId?: int;
}
* Enumerates the window change event types that can be listened for.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
*/
declare enum WindowChangeType {
* Non-window change event.
* <br>Note: This value can only be used as a return value. If it is passed in an API, an exception will be thrown.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
WINDOW_UNDEFINED = 0,
* Window adding event.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
WINDOW_ADDED = 1,
* Window removing event.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
WINDOW_REMOVED = 2,
* Window bounds change event.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
WINDOW_BOUNDS_CHANGED = 3,
}
* Enumerates the component operation event types that can be listened for.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
*/
declare enum ComponentEventType {
* Non-component operation event.
*
* Note: This value can only be used as a return value. If it is passed in an API, an exception will be thrown.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
COMPONENT_UNDEFINED = 0,
* Component clicked event.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
COMPONENT_CLICKED = 1,
* Component long-clicked event.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
COMPONENT_LONG_CLICKED = 2,
* Component scroll start event.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
COMPONENT_SCROLL_START = 3,
* Component scroll end event.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
COMPONENT_SCROLL_END = 4,
* Text change event of the [text input component](docroot://ui/arkts-common-components-text-input.md).
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
COMPONENT_TEXT_CHANGED = 5,
}
* Describes the extended configuration of window change event listening,
* which is used to specify the listening process configuration and event filtering conditions.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
declare interface WindowChangeOptions {
* Listening timeout interval, to prevent listening failures caused by event notification delay.
* <br>Value range: The value should be >= 500
* <br>Default value: 10000
* <br>Unit: ms
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
timeout?: int;
* Bundle name of the window to be listened for. By default, all windows are listened for.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
bundleName?: string;
}
* Describes the extended configuration of component operation event listening,
* which is used to specify the listening process configuration and event filtering conditions.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
declare interface ComponentEventOptions {
* Listening timeout interval , to prevent listening failures caused by event notification delay.
* <br>Value range: The value should be >= 500
* <br>Default value: 10000
* <br>Unit: ms
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
timeout?: int;
* Attribute requirements of the target component to listen for. By default, all components are listened for.
* **Note**: Only components with specified attributes can be listened for. Components with relative positions such as
* **On.isBefore**, **On.isAfter**, and **On.within** cannot be listened for.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
on?: On;
}
* Provides information about the UI event.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
declare interface UIElementInfo {
* Bundle name of the application.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
readonly bundleName: string;
* Component or window type.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
readonly type: string;
* Text information of the component or window.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
readonly text: string;
* Window change event type.
* If the event is not a window change event, {@link WindowChangeType.WINDOW_UNDEFINED} is returned.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
readonly windowChangeType?: WindowChangeType;
* Component operation event type.
* If it is not a component operation event, {@link ComponentEventType.COMPONENT_UNDEFINED} is returned.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
readonly componentEventType?: ComponentEventType;
* ID of the window where the component belongs.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
readonly windowId?: int;
* Component ID. If it is not a component operation event, an empty string is returned.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
readonly componentId?: string;
* The rect of the component, set all attributes of rect to 0 if it's a window.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
readonly componentRect?: Rect;
}
* Observer to monitor UI events.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
declare interface UIEventObserver {
* Subscribes to events of the toast component. This API uses a callback to return the result.
*
* @param { 'toastShow' } type - Event type. The value is fixed at **'toastShow'**.
* @param { Callback<UIElementInfo> } callback - Callback used to return the result.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @test
*/
once(type: 'toastShow', callback: Callback<UIElementInfo>): void;
* Listen for toast show once
*
* @param { Callback<UIElementInfo> } callback - function, returns the monitored UIElementInfo.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
onceToastShow(callback: Callback<UIElementInfo>): void;
* Subscribes to events of the dialog component. This API uses a callback to return the result.
*
* @param { 'dialogShow' } type - Event type. The value is fixed at **'dialogShow'**.
* @param { Callback<UIElementInfo> } callback - Callback used to return the result.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @test
*/
once(type: 'dialogShow', callback: Callback<UIElementInfo>): void;
* Listen for dialog show once
*
* @param { Callback<UIElementInfo> } callback - function, returns the monitored UIElementInfo.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
onceDialogShow(callback: Callback<UIElementInfo>): void;
* Starts listening for window change events of the specified type with extended configuration supported. This API
* triggers a callback when a specified window change event is detected.
* This API can be used only in [free windows](docroot://windowmanager/window-terminology.md#free-windows) mode.
*
* @param { 'windowChange' } type - Type of the event to subscribe to, which can be **windowChange**. This event is
* triggered when the window changes.
* @param { WindowChangeType } windowChangeType - Type of the window change event.
* @param { WindowChangeOptions } options - Extended configuration, including the listening timeout interval and the
* bundle name of the window to be listened for.
* @param { Callback<UIElementInfo> } callback - Callback triggered to return event information when an event occurs.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @test
*/
once(type: 'windowChange', windowChangeType: WindowChangeType, options: WindowChangeOptions, callback: Callback<UIElementInfo>): void;
* Listen on window change once, additional listening options can be set.
*
* @param { WindowChangeType } windowChangeType - Window change type to be listened on.
* @param { WindowChangeOptions } options - Additional listening options of window change.
* @param { Callback<UIElementInfo> } callback - function, returns the monitored UIElementInfo.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
onceWindowChange(windowChangeType: WindowChangeType, options: WindowChangeOptions, callback: Callback<UIElementInfo>): void;
* Starts listening for component operation events of the specified type with extended configuration supported. This
* API triggers a callback when a specified component operation event is detected.
*
* @param { 'componentEventOccur' } type - Type of the event to subscribe to, which can be **componentEventOccur**.
* This event is triggered when the component operation is detected.
* @param { ComponentEventType } componentEventType - Type of the component operation event.
* @param { ComponentEventOptions } options - Extended configuration, including the listening timeout interval and
* the matching condition of the component to be listened for.
* @param { Callback<UIElementInfo> } callback - Callback used to return the result.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @test
*/
once(type: 'componentEventOccur', componentEventType: ComponentEventType, options: ComponentEventOptions, callback: Callback<UIElementInfo>): void;
* Listen on component event once, additional listening options can be set.
*
* @param { ComponentEventType } componentEventType - Component event type to be listened on.
* @param { ComponentEventOptions } options - Additional listening options of component event.
* @param { Callback<UIElementInfo> } callback - function, returns the monitored UIElementInfo.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
onceComponentEventOccur(componentEventType: ComponentEventType, options: ComponentEventOptions, callback: Callback<UIElementInfo>): void;
}
* Describes the direction of a UI operation such as fling.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
*/
declare enum UiDirection {
* Leftward.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
LEFT = 0,
* Rightward.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
RIGHT = 1,
* Upward.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
UP = 2,
* Downward.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
DOWN = 3
}
* Describes the injected simulated mouse button.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
declare enum MouseButton {
* Left button on the mouse.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
MOUSE_BUTTON_LEFT = 0,
* Right button on the mouse.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
MOUSE_BUTTON_RIGHT = 1,
* MIDDLE button on the mouse.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
MOUSE_BUTTON_MIDDLE = 2
}
* Describes information about the touchpad swipe gesture option.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
declare interface TouchPadSwipeOptions {
* Whether the swipe gesture stays on the touchpad for 1s before it is lifted.
* The value **true** indicates that the swipe gesture stays on the touchpad for 1s, and **false** indicates the opposite.
* <br>Default value: false
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
stay?: boolean;
* Swipe speed.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 17000007 if negative.
* <br>Default value: 2000
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
speed?: int;
}
* Describes the text input mode.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
declare interface InputTextMode {
* Whether to copy and paste text. The value **true** means to copy and paste text, and **false** means to type text.
* Default value: **false**
*
* **Note**: If the input text contains Chinese characters, special characters, or the text length exceeds 200
* characters, the text is copied and pasted regardless of the value of this parameter.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
paste?: boolean;
* Whether to input text in addition mode. The value **true** means to input text in addition mode, and **false**
* means the opposite. Default value: **false**
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
addition?: boolean;
}
* Represents the options for key operations.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
declare interface KeyOptions {
* The first keyCode to press during the operation.
* If not set, no key event will be injected.
* Setting only key2 without key1 will result in a BusinessError 17000007.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
key1?: int;
* The second KeyCode to press during the operation.
* If not set, no key event will be injected.
* Setting only key2 without key1 will result in a BusinessError 17000007.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
key2?: int;
}
* Common options for touch operations.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
declare interface TouchOptions {
* Speed of touch action.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 17000007 if negative.
* <br>Default value: 600
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
speed?: int;
* Duration of the operation in milliseconds.
* <br>Value range: The value should be >= 1500
* <br>Unit: ms
* <br>Default value: 1500
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
duration?: int;
* The pressure of the touch.
* <br>Value range:[0.0, 1.0]
* <br>Default value: 1.0
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
pressure?: double;
}
* Pen key type enum.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
declare enum PenKey {
* Handwriting key.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
HANDWRITING = 0,
* Smart key.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
SMART = 1,
* Air mouse key.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
AIR_MOUSE = 2
}
* Pen mode enum.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
declare enum PenMode {
* Handwriting mode.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
HANDWRITING = 0,
* Air mouse mode.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
AIR_MOUSE = 1
}
* Pen key operation type enum.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
declare enum PenKeyOperation {
* Single click.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
CLICK = 0,
* Double click.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
DOUBLE_CLICK = 1
}
* Pen key operation options.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
declare interface PenKeyOperationOptions {
* The coordinate point for air mouse mode operations. Required when key is AIR_MOUSE in air mouse mode.
*
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
point?: Point;
}
* Since API version 9, the UiTest framework provides a wide range of UI component feature description APIs in the
* **On** class to filter and match components.
*
* The APIs provided by the **On** class exhibit the following features:
*
* 1. Allow one or more attributes as the match conditions.
* For example, you can specify both the **text** and **id** attributes to find the target component.
* 2. Provide multiple match patterns for component attributes.
* 3. Support absolute positioning and relative positioning for components.
* APIs such as [ON.isBefore]{@link On.isBefore(on: On)} and [ON.isAfter]{@link On.isAfter(on: On)} can be used to specify
* the features of adjacent components to assist positioning.
*
* All APIs provided in the **On** class are synchronous. You are advised to use the static constructor **ON** to create
* an **On** object in chain mode.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
*/
declare class On {
* Specifies the text attribute of the target component. Multiple match patterns are supported.
*
* > **NOTE**
* >
* > If the [accessibilityLevel]{@link ./@internal/component/ets/common:CommonMethod#accessibilityLevel}
* > of a component is set to **no** or **no-hide-descendants**, this API cannot be used to specify the text attribute
* > of the target component for searching for the component. In this case, you can use the
* > [On.originalText()]{@link On#originalText} API.
*
* @param { string } txt - Component text, used to match the target component.<!--RP2--><!--RP2End-->
* @param { MatchPattern } [pattern] - Match pattern {@link MatchPattern} .
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { On } - **On** object that matches the text attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
text(txt: string, pattern?: MatchPattern): On;
* Specifies the ID attribute of the target component.
*
* @param { string } id - Component ID.<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the ID attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
id(id: string): On;
* Specifies the type attribute of the target component.
*
* @param { string } tp - Component type.<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the type attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
type(tp: string): On;
* Specifies the clickable attribute of the target component.
*
* @param { boolean } [b] - Clickable status of the component. The value **true** indicates that the component is clickable
* , and **false** indicates the opposite. Default value: **true**<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the clickable attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types; 2. Parameter
* verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
clickable(b?: boolean): On;
* Specifies the long-clickable attribute of the target component.
*
* @param { boolean } [b] - Long-clickable status of the component. The value **true** indicates that the component is long
* -clickable, and **false** indicates the opposite. Default value: **true**<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the long-clickable attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types; 2. Parameter
* verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
longClickable(b?: boolean): On;
* Specifies the scrollable attribute of the target component.
*
* @param { boolean } [b] - Scrollable status of the component. The value **true** indicates that the component is
* scrollable, and **false** indicates the opposite. Default value: **true**<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the scrollable attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types; 2. Parameter
* verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
scrollable(b?: boolean): On;
* Specifies the enabled attribute of the target component.
*
* @param { boolean } [b] - Enabled status of the component. The value **true** indicates that the component is enabled,
* and **false** indicates the opposite. Default value: **true**<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the enabled attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types; 2. Parameter
* verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
enabled(b?: boolean): On;
* Specifies the focused attribute of the target component.
*
* @param { boolean } [b] - Focused status of the component. The value **true** indicates that the component is focused,
* and **false** indicates the opposite. Default value: **true**<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the focused attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types; 2. Parameter
* verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
focused(b?: boolean): On;
* Specifies the selected attribute of the target component.
*
* @param { boolean } [b] - Selected status of the component. The value **true** indicates that the component is selected,
* and **false** indicates the opposite. Default value: **true**<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the selected attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types; 2. Parameter
* verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
selected(b?: boolean): On;
* Specifies the checked attribute of the target component.
*
* @param { boolean } [b] - Checked status of the component. The value **true** indicates that the component is checked,
* and **false** indicates the opposite. Default value: **true**<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the checked attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types; 2. Parameter
* verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
checked(b?: boolean): On;
* Specifies the checkable attribute of the target component.
*
* @param { boolean } [b] - Checkable status of the component. The value **true** indicates that the component is checkable
* , and **false** indicates the opposite. Default value: **true**<!--RP2--><!--RP2End-->
* @returns { On } - **On** object that matches the checkable attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. 1. Incorrect parameter types; 2. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
checkable(b?: boolean): On;
* Specifies that the target component is located before the given attribute component.
*
* @param { On } on - Information about the attribute component.<!--RP3--><!--RP3End-->
* @returns { On } - **On** object.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isBefore(on: On): On;
* Requires that the target Component which is before another Component that specified by the given {@link Component}
* object,used to locate Component relatively.
*
* @param { Component } com - describes the Component which the target one is in front of.
* @returns { On } this {@link On} object.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
isBefore(com: Component): On;
* Specifies that the target component is located after the given attribute component.
*
* @param { On } on - Information about the attribute component.<!--RP3--><!--RP3End-->
* @returns { On } - **On** object.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isAfter(on: On): On;
* Requires that the target Component which is after another Component that specified by the given {@link Component}
* object,used to locate Component relatively.
*
* @param { Component } com - describes the Component which the target one is in back of.
* @returns { On } this {@link On} object.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
isAfter(com: Component): On;
* Specifies that the target component is located within the given attribute component.
*
* @param { On } on - Information about the attribute component.<!--RP3--><!--RP3End-->
* @returns { On } - **On** object.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
within(on: On): On;
* Requires that the target Component which is inside of another Component that specified by the given {@link Component}
* object,used to locate Component relatively.
*
* @param { Component } com - describes the Component which the target one is inside of.
* @returns { On } this {@link On} object.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
within(com: Component): On;
* Specifies that the target component is located within the given application window.
*
* @param { string } bundleName - Bundle name of the application window.<!--RP2--><!--RP2End-->
* @returns { On } - **On** object.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
inWindow(bundleName: string): On;
* Obtains the component object on the specified display.
*
* @param { int } displayId - ID of the display to which the component belongs. The value is an integer greater than
* or equal to 0.
* <br>**Note**: If the input **displayId** does not exist, the exception **17000007** is reported. You can use
* [getAllDisplays]{@link @ohos.display:display.getAllDisplays(callback: AsyncCallback<Array<Display>>)} to obtain
* all current **display** objects and use them to obtain the corresponding display IDs.<!--RP2--><!--RP2End-->
* @returns { On } - The **On** object of the display to which the specified component belongs.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
belongingDisplay(displayId: int): On;
* Specifies the description of the target component. Multiple match patterns are supported.
*
* @param { string } val - Description of the component.<!--RP2--><!--RP2End-->
* @param { MatchPattern } [pattern] - Match pattern {@link MatchPattern} .
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { On } - **On** object.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @since 23 static
* @test
*/
description(val: string, pattern?: MatchPattern): On;
* Specifies the **id** attribute and match pattern of the target component.
*
* @param { string } id - Component ID.<!--RP2--><!--RP2End-->
* @param { MatchPattern } pattern - Text matching pattern {@link MatchPattern}.
* @returns { On } - **On** object that matches the ID attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
id(id: string, pattern: MatchPattern): On;
* Specifies the **type** attribute and match pattern of the target component.
*
* @param { string } tp - Component type.<!--RP2--><!--RP2End-->
* @param { MatchPattern } pattern - Text matching pattern {@link MatchPattern}.
* @returns { On } - **On** object that matches the type attribute of the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
type(tp: string, pattern: MatchPattern): On;
* Obtains the component object of the specified hint text and returns the **On** object.
*
* @param { string } val - The specified hint text of the component.<!--RP2--><!--RP2End-->
* @param { MatchPattern } [pattern] - Match pattern{@link MatchPattern}.
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { On } - The **On** object of the specified hint text component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
hint(val: string, pattern?: MatchPattern): On;
* Specifies the text content and text matching pattern of the component.
*
* > **NOTE**
* >
* > If the [accessibilityLevel]{@link ./@internal/component/ets/common:CommonMethod#accessibilityLevel}
* > of a component is set to **no** or **no-hide-descendants**, this API can be used to specify the text attribute of
* > the target component for searching for the component. In this case, the [On.text()]{@link On#text} API does not
* > take effect.
*
* @param { string } text - Component text, used to match the target component.<!--RP2--><!--RP2End-->
* @param { MatchPattern } [pattern] - Match pattern{@link MatchPattern}.
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { On } - **On** object that matches the text attribute of the target component.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
originalText(text: string, pattern?: MatchPattern): On;
}
* Represents a component on the UI and provides APIs for obtaining component attributes, clicking a component,
* scrolling to search for a component, and text injection.
* All APIs provided in this class use a promise to return the result and must be invoked using **await**.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
declare class Component {
* Clicks this component. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
click(): Promise<void>;
* Double-clicks this component. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
doubleClick(): Promise<void>;
* Long-clicks this component. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
longClick(): Promise<void>;
* Obtains the ID of this component. This API uses a promise to return the result.
*
* @returns { Promise<string> } - Promise used to return the component ID.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getId(): Promise<string>;
* Obtains the ID of the display to which the component belongs. This API uses a promise to return the result.
*
* @returns { Promise<int> } - Promise used to return the ID of the display to which the component belongs.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
getDisplayId(): Promise<int>;
* Obtains the text information of this component. This API uses a promise to return the result.
*
* > **NOTE**
* >
* > If the [accessibilityLevel]{@link ./@internal/component/ets/common:CommonMethod#accessibilityLevel}
* > attribute of the component is set to **no** or **no-hide-descendants**, this API cannot be used to obtain the
* > text information of the component. In this case, you can use
* > [Component.getOriginalText ()]{@link Component#getOriginalText} instead.
*
* @returns { Promise<string> } - Promise used to return the text information of the component.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getText(): Promise<string>;
* Obtains the type of this component. This API uses a promise to return the result.
*
* @returns { Promise<string> } - Promise used to return the component type.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getType(): Promise<string>;
* Obtains the clickable status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component object is clickable.
* The value **true** indicates that the component is clickable, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isClickable(): Promise<boolean>;
* Obtains the clickable status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component object is clickable.
* The value **true** indicates that the component is clickable, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isLongClickable(): Promise<boolean>;
* Obtains the scrollable status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component object is scrollable.
* The value **true** indicates that the component is scrollable, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isScrollable(): Promise<boolean>;
* Obtains the enabled status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component is enabled.
* The value **true** indicates that the component is enabled, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isEnabled(): Promise<boolean>;
* Checks whether a component is focused. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component is focused.
* The value **true** indicates that the component is focused, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isFocused(): Promise<boolean>;
* Obtains the selected status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component is selected.
* The value **true** indicates that the component is selected, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isSelected(): Promise<boolean>;
* Obtains the checked status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return the checked status of the component object.
* The value **true** indicates indicates that the component is checked, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isChecked(): Promise<boolean>;
* Obtains the checkable status of this component. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the component object is checkable.
* The value **true** indicates indicates that the component is checkable, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isCheckable(): Promise<boolean>;
* Clears the original text in a component and inputs the specified text. This API takes effect only for editable
* text components. This API uses a promise to return the result.
*
* @param { string } text - Input text. Currently, English, Chinese, and special characters are supported.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
inputText(text: string): Promise<void>;
* Inputs text to a component in a specified text input mode. This API takes effect only for editable text
* components. This API uses a promise to return the result.
*
* @param { string } text - Input text. Currently, English, Chinese, and special characters are supported.
* @param { InputTextMode } mode - Text input mode.
* For details, see [InputTextMode]{@link InputTextMode}.
* <br> **Note**: If **InputTextMode.addition** is set to **true**, the specified text is added to the end of the
* existing text in the component. Otherwise, the specified text overwrites the existing text of the component.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 801 - Capability not supported. Function can not work correctly due to limited device
* capabilities.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
inputText(text: string, mode: InputTextMode): Promise<void>;
* Clears the text information of a component. This API takes effect only for editable text components. This API
* uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
clearText(): Promise<void>;
* Scrolls to the top of this component. This API is applicable to components that support scrolling. This API uses
* a promise to return the result.
*
* @param { int } [speed] - Scroll speed.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types; 2. Parameter
* verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
scrollToTop(speed?: int): Promise<void>;
* Scrolls to the bottom of this component. This API is applicable to components that support scrolling. This API
* uses a promise to return the result.
*
* @param { int } [speed] - Scroll speed.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types; 2. Parameter
* verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
scrollToBottom(speed?: int): Promise<void>;
* Obtains the bounds information of this component. This API uses a promise to return the result.
*
* @returns { Promise<Rect> } - Promise used to return the bound information of the component object.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getBounds(): Promise<Rect>;
* Scrolls on this component to search for the target component. This API is applicable to components that support
* scrolling. This API uses a promise to return the result.
*
* @param { On } on - Attributes of the target component.
* @returns { Promise<Component> } - Promise used to return the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @test
*/
scrollSearch(on: On): Promise<Component>;
* Obtains the center point of the area occupied by this component. This API uses a promise to return the result.
*
* @returns { Promise<Point> } - Promise used to return the center point of the area occupied by the component object.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getBoundsCenter(): Promise<Point>;
* Drags a component to the target component. This API uses a promise to return the result.
*
* @param { Component } target - Target component.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
dragTo(target: Component): Promise<void>;
* Pinches out a component at the specified scale. This API uses a promise to return the result.
*
* @param { double } scale - Scale factor, which is a value greater than 1.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
pinchOut(scale: double): Promise<void>;
* Pinches in a component at the specified scale. This API uses a promise to return the result.
*
* @param { double } scale - Scale factor, which is a value ranging from 0 to 1.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
pinchIn(scale: double): Promise<void>;
* Obtains the description of this component. This API uses a promise to return the result.
*
* @returns { Promise<string> } - Promise used to return the description of the component.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @since 23 static
* @test
*/
getDescription(): Promise<string>;
* Obtains the hint text of a component. This API uses a promise to return the result.
*
* @returns { Promise<string> } - Promise used to return the hint text of a component.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
getHint(): Promise<string>;
* Scrolls on this component to search for the target component. This API is applicable to components that support
* scrolling. You can specify the scrolling direction and the offset between the scrolling start and end points and
* the component border. This API uses a promise to return the result.
*
* @param { On } on - Attributes of the target component.
* @param { boolean } [vertical] - Whether the search direction is vertical. The default value **true** indicates that the
* search direction is vertical. **false** indicates that the search direction is horizontal.
* @param { number } [offset] - Offset from the scrolling start/end point to the component border, in pixels. The default
* value is **80**. The value is an integer greater than or equal to 0.
* <br>Default value: 80
* <br>Unit: px
* @returns { Promise<Component> } - Promise used to return the target component.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @test
*/
scrollSearch(on: On, vertical?: boolean, offset?: number): Promise<Component>;
* Scroll on this {@link Component}to find matched {@link Component},applicable to scrollable one.
*
* @param { On } on - the attribute requirements of the target {@link Component}.
* @param { boolean } [vertical] - Whether the swipe direction is vertical.
* <br>Default value: true
* @param { int } [offset] - Offset from the swipe start/end point to the component border
* <br>Unit: px
* <br>Default value: 80
* @returns { Promise<Component | null> } the found result,or null if not found.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
scrollSearch(on: On, vertical?: boolean, offset?: int): Promise<Component | null>;
* Obtains the text information of this component. This API uses a promise to return the result. If the
* [accessibilityLevel]{@link ./@internal/component/ets/common:CommonMethod#accessibilityLevel}
* attribute of the component is set to **no** or **no-hide-descendants**, this API can be used
* to obtain the text information of the component, but [Component.getText()]{@link Component#getText} cannot.
*
* @returns { Promise<string> } - Promise used to return the text information of the component.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
getOriginalText(): Promise<string>;
}
* The **Driver** class is the main entry to the UiTest framework. It provides APIs for features such as component
* matching/search, key injection, coordinate clicking/sliding, and screenshot.
* All APIs provided by this class, except **Driver.create()**, use a promise to return the result and must be invoked
* using **await**.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
declare class Driver {
* Creates a **Driver** object and returns the object created. This API is a static API.
*
* @returns { Driver } - **{@link Driver}** object created.
* @throws { BusinessError } 17000001 - Initialization failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
static create(): Driver;
* Delays execution for the specified duration. This API uses a promise to return the result.
*
* @param { int } duration - Specified time, in ms. The value is an integer greater than or equal to 0.
* <br>Unit: ms
* <br>Value range: The value should be >= 0
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
delayMs(duration: int): Promise<void>;
* Searches for the target component based on the specified attributes. This API uses a promise to return the result.
*
* @param { On } on - Attributes of the target {@link Component}.
* @returns { Promise<Component> } - Promise used to return the {@link Component} or undefined.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @test
*/
findComponent(on: On): Promise<Component>;
* Find the first matched {@link Component} on current UI.
*
* @param { On } on - the attribute requirements of the target {@link Component}.
* @returns { Promise<Component | null> } the first matched {@link Component} or undefined.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
findComponent(on: On): Promise<Component | null>;
* Searches for a window based on the specified attributes. This API uses a promise to return the result.
*
* @param { WindowFilter } filter - Attributes of the target {@link UiWindow}.
* @returns { Promise<UiWindow> } - Promise used to return the target {@link UiWindow}.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @test
*/
findWindow(filter: WindowFilter): Promise<UiWindow>;
* Find the first matched {@link UiWindow} window.
*
* @param { WindowFilter } filter - the filter condition of the target {@link UiWindow}.
* @returns { Promise<UiWindow | null> } the first matched {@link UiWindow} or undefined.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
findWindow(filter: WindowFilter): Promise<UiWindow | null>;
* Searches for the target component based on the attributes within a specified time. This API uses a promise to
* return the result.
*
* @param { On } on - Attributes of the target {@link Component}.
* @param { number } time - Duration for searching for the target {@link Component}, in ms. The value is an integer greater than or
* equal to 0.
* <br>Unit: ms
* <br>Value range: The value should be >= 0
* @returns { Promise<Component> } the first matched {@link Component} or undefined.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @test
*/
waitForComponent(on: On, time: number): Promise<Component>;
* Find the first matched {@link Component} on current UI during the time given.
*
* @param { On } on - the attribute requirements of the target {@link Component}.
* @param { int } time - duration of finding in milliseconds.
* <br>Value range: The value should be >= 0
* <br>Unit: ms
* @returns { Promise<Component | null> } the first matched {@link Component} or undefined.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
waitForComponent(on: On, time: int): Promise<Component | null>;
* Searches for all matched components based on the specified attributes and saves them in a list. This API uses a
* promise to return the result.
*
* @param { On } on - Attributes of the target {@link Component}.
* @returns { Promise<Array<Component>> } - Promise used to return the list of {@link Component}s.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @test
*/
findComponents(on: On): Promise<Array<Component>>;
* Find all the matched {@link Component}s on current UI.
*
* @param { On } on - the attribute requirements of the target {@link Component}.
* @returns { Promise<Array<Component> | null> } the matched {@link Component}s list.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
findComponents(on: On): Promise<Array<Component> | null>;
* Asserts whether a component matches the specified attributes exists on the current page. This API uses a promise
* to return the result.
*
* @param { On } on - Attributes of the target {@link Component}.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000003 - Assertion failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
assertComponentExist(on: On): Promise<void>;
* Presses the Back button. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
pressBack(): Promise<void>;
* Presses the Back button on the specified screen. This API uses a promise to return the result.
*
* @param { int } displayId - Display ID. The value is an integer greater than or equal to 0.
* <br> **Note**: If the input **displayId** does not exist, the exception **17000007** is reported.
* @returns { Promise<void> } Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
pressBack(displayId: int): Promise<void>;
* Triggers a key event by passing the key value. This API uses a promise to return the result.
*
* @param { int } keyCode - Key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
triggerKey(keyCode: int): Promise<void>;
* Triggers a key event by passing the key value on the specified screen. This API uses a promise to return the
* result.
*
* @param { int } keyCode - Key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* @param { int } displayId - Display ID. The value is an integer greater than or equal to 0.
* <br> **Note**: If the input **displayId** does not exist, the exception **17000007** is reported.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
triggerKey(keyCode: int, displayId: int): Promise<void>;
* Triggers a combination key event based on the specified key values. This API uses a promise to return the result.
* For example, if the value of **Key** is (2072, 2019), the combination key **Ctrl+C** that matches the value is
* found and clicked.
*
* @param { number } key0 - First key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* @param { number } key1 - Second key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* @param { number } [key2] - Third key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @test
*/
triggerCombineKeys(key0: number, key1: number, key2?: number): Promise<void>;
* Triggers a combination key event based on the specified key values on the specified screen. This API uses a
* promise to return the result. For example, if the value of **Key** is (2072, 2019), the combination key **Ctrl+C**
* that matches the value is found and clicked.
*
* @param { int } key0 - First key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* @param { int } key1 - Second key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* @param { int } [key2] - Third key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @param { int } [displayId] - Display ID. The value is an integer greater than or equal to 0. The default value is the
* default display ID of the device.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
triggerCombineKeys(key0: int, key1: int, key2?: int, displayId?: int): Promise<void>;
* Clicks the target coordinate point. This API uses a promise to return the result.
*
* @param { int } x - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } y - Number, which indicates the vertical coordinate of the target point. The value is an integer greater
* than or equal to 0.
* <br>Unit: px
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
click(x: int, y: int): Promise<void>;
* Double-clicks the target coordinate point. This API uses a promise to return the result.
*
* @param { int } x - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } y - Number, which indicates the vertical coordinate of the target point. The value is an integer greater
* than or equal to 0.
* <br>Unit: px
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
doubleClick(x: int, y: int): Promise<void>;
* Long-clicks the target coordinate point. This API uses a promise to return the result.
*
* @param { int } x - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } y - Number, which indicates the vertical coordinate of the target point. The value is an integer greater
* than or equal to 0.
* <br>Unit: px
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
longClick(x: int, y: int): Promise<void>;
* Swipes from the start coordinate point to the target coordinate point. This API uses a promise to return the
* result.
*
* @param { int } startx - Number, which indicates the horizontal coordinate of the start point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } starty - Number, which indicates the vertical coordinate of the start point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } endx - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } endy - Number, which indicates the vertical coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } [speed] - Swipe speed, in px/s. The value ranges from 200 to 40000. If the set value is not in the range
* , the default value **600** is used.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
swipe(startx: int, starty: int, endx: int, endy: int, speed?: int): Promise<void>;
* Drags from the start coordinate point to the target coordinate point. This API uses a promise to return the result
* .
*
* @param { int } startx - Number, which indicates the horizontal coordinate of the start point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } starty - Number, which indicates the vertical coordinate of the start point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } endx - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } endy - Number, which indicates the vertical coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } [speed] - Drag speed, in px/s. The value ranges from 200 to 40000. If the set value is not in the range
* , the default value **600** is used.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
drag(startx: int, starty: int, endx: int, endy: int, speed?: int): Promise<void>;
* Clicks the target coordinate point. This API uses a promise to return the result.
*
* @param { Point } point - Point object, which is used to transfer the target point information.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
clickAt(point: Point): Promise<void>;
* Click on the specified location on the screen, with optional touch options.
*
* @param { Point } point - the coordinate point where the finger touches the screen.
* @param { TouchOptions } [options] - the options for the click operation.
* Only the 'pressure' property is applicable for this method.
* Setting other properties will result in a BusinessError 17000007.
* Default value: Refer to the default value of TouchOptions.
* @returns { Promise<void> }
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
clickAt(point: Point, options?: TouchOptions): Promise<void>;
* Double-clicks the target coordinate point. This API uses a promise to return the result.
*
* @param { Point } point - Point object, which is used to transfer the target point information.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
doubleClickAt(point: Point): Promise<void>;
* Long-clicks the target coordinate point for a specified duration. This API uses a promise to return the result.
*
* @param { Point } point - Point object, which is used to transfer the target point information.
* @param { int } [duration] - Long-click duration, in ms.
* <br>Value range: The value should be >= 1500
* <br>Unit: ms
* <br>Default value: 1500
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
longClickAt(point: Point, duration?: int): Promise<void>;
* LongClick on the specified location on the screen, with optional touch settings.
*
* @param { Point } point - the coordinate point where the finger touches the screen.
* @param { TouchOptions } [options] - the options for the long click operation.
* Only the 'duration' and 'pressure' properties are applicable for this method.
* Setting other properties will result in a BusinessError 17000007.
* Default value: Refer to the default value of TouchOptions.
* @returns { Promise<void> }
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
longClickAt(point: Point, options?: TouchOptions): Promise<void>;
* Swipes from the start coordinate point to the target coordinate point. This API uses a promise to return the
* result.
*
* @param { Point } from - Point object, which transfers the coordinates of the start point and the ID of the display to
* which the start point belongs.
* @param { Point } to - Point object, which transfers the coordinates of the target point and the ID of the display to
* which it belongs.
* <br> **Note**: The target point and the start point must be on the same screen. Otherwise, the **17000007**
* exception is thrown.
* @param { int } [speed] - Swipe speed, in px/s. The value ranges from 200 to 40000. If the set value is not in the range
* , the default value **600** is used.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 17000007 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
swipeBetween(from: Point, to: Point, speed?: int): Promise<void>;
* Swipe on the screen between the specified points with optional touch options.
*
* @param { Point } from - the coordinate point where the finger touches the screen.
* @param { Point } to - the coordinate point where the finger leaves the screen.
* @param { TouchOptions } [options] - the options for the swipe operation.
* Only the 'speed' and 'pressure' properties are applicable for this method.
* Setting other properties will result in a BusinessError 17000007.
* Default value: Refer to the default value of TouchOptions.
* @returns { Promise<void> }
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
swipeBetween(from: Point, to: Point, options?: TouchOptions): Promise<void>;
* Drags from the start point to the target point. You can specify the drag speed and the click duration before
* dragging. This API uses a promise to return the result.
*
* @param { Point } from - Point object, which transfers the coordinates of the start point and the ID of the display to
* which the start point belongs.
* @param { Point } to - Point object, which transfers the coordinates of the target point and the ID of the display to
* which it belongs.
* <br> **Note**: The target point and the start point must be on the same screen. Otherwise, the **17000007**
* exception is thrown.
* @param { int } [speed] - Drag speed, in px/s. The value ranges from 200 to 40000. If the set value is not in the range
* , the default value **600** is used.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 17000007 if negative.
* <br>Default value: 600
* @param { int } [duration] - The duration of the long press before dragging.
* <br>Value range: The value should be >= 1500
* <br>Unit: ms
* <br>Default value: 1500
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
dragBetween(from: Point, to: Point, speed?: int, duration?: int): Promise<void>;
* Drag on the screen between the specified points with optional settings.
*
* @param { Point } from - the coordinate point where the finger touches the screen.
* @param { Point } to - the coordinate point where the finger leaves the screen.
* @param { TouchOptions } [options] - the options for the drag operation.
* Only the 'pressure', 'speed', and 'duration' properties are applicable for this method.
* Setting other properties will result in a BusinessError 17000007.
* Default value: Refer to the default value of TouchOptions.
* @returns { Promise<void> }
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
dragBetween(from: Point, to: Point, options?: TouchOptions): Promise<void>;
* Captures the current screen and saves it as a PNG image to the given save path. This API uses a promise to return
* the result. This API can be used in scenarios where screenshots are supported.
*
* @param { string } savePath - File save path. The path must be the
* [sandbox path](docroot://file-management/app-sandbox-directory.md) of the current application.
* @returns { Promise<boolean> } - Promise used to return whether the screenshot operation is successful.
* The value **true** indicates that the operation is successful, and **false** indicates the opposite.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
screenCap(savePath: string): Promise<boolean>;
* Captures the specified screen and saves it as a PNG image to the given save path. This API uses a promise to
* return the result. This API can be used in scenarios where screenshots are supported.
*
* @param { string } savePath - File save path. The path must be the
* [sandbox path](docroot://file-management/app-sandbox-directory.md) of the current application.
* @param { int } displayId - Display ID. The value is an integer greater than or equal to 0.
* <br> **Note**: If the input **displayId** does not exist, the exception **17000007** is reported.
* @returns { Promise<boolean> } Promise used to return whether the screenshot operation is successful. The value
* **true** indicates that the screen capture operation is successful, and **false** indicates the opposite.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
screenCap(savePath: string, displayId: int): Promise<boolean>;
* Get the current layout information and save as file with json format.
*
* @param { string } savePath - the path where to store the json, must be in the application sandbox directory.
* The path must be the [sandbox path](docroot://file-management/app-sandbox-directory.md) of the current
* application.
* @param { int } [displayId] - the Id of the specified display, default is the displayId of the main screen.
* @returns { Promise<boolean> } true if dump layout and file-storing are completed successfully,false otherwise.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
dumpLayout(savePath: string, displayId?: int): Promise<boolean>;
* Sets the display rotation of the current scene. This API uses a promise to return the result. It applies to
* rotatable scenarios.
*
* @param { DisplayRotation } rotation - Display rotation of the device.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
setDisplayRotation(rotation: DisplayRotation): Promise<void>;
* Obtains the display rotation of the current device. This API uses a promise to return the result.
*
* @returns { Promise<DisplayRotation> } - Promise used to return the display rotation of the current device.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getDisplayRotation(): Promise<DisplayRotation>;
* Obtains the display rotation of the specified device. This API uses a promise to return the result.
*
* @param { int } displayId - Display ID. The value is an integer greater than or equal to 0.
* <br> **Note**: If the input **displayId** does not exist, the exception **17000007** is reported.
* @returns { Promise<DisplayRotation> } - Promise used to return the display rotation of the specified device.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
getDisplayRotation(displayId: int): Promise<DisplayRotation>;
* Enables or disables display rotation. This API uses a promise to return the result.
*
* @param { boolean } enabled - Whether the screen can be rotated. The value **true** indicates that the screen can be
* rotated, and **false** indicates the opposite.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
setDisplayRotationEnabled(enabled: boolean): Promise<void>;
* Obtains the display size of the current device. This API uses a promise to return the result.
*
* @returns { Promise<Point> } - Promise used to return the **Point** object.
* The size of the current device screen is **Point.x * Point.y**.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getDisplaySize(): Promise<Point>;
* Obtains the size of the specified display on the current device. This API uses a promise to return the result.
*
* @param { int } displayId - Display ID. The value is an integer greater than or equal to 0.
* <br> **Note**: If the input **displayId** does not exist, the exception **17000007** is reported.
* @returns { Promise<Point> } Promise used to return the **Point** object. The size of the specified display is
* **Point.x * Point.y**.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
getDisplaySize(displayId: int): Promise<Point>;
* Obtains the display density of the current device. This API uses a promise to return the result.
*
* @returns { Promise<Point> } Promise used to return the **Point** object. The density of the current device display
* is **Point.x*Point.y**.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getDisplayDensity(): Promise<Point>;
* Obtains the density of the specified display of the current device. This API uses a promise to return the result.
*
* @param { int } displayId - Display ID. The value is an integer greater than or equal to 0.
* <br> **Note**: If the input **displayId** does not exist, the exception **17000007** is reported.
* @returns { Promise<Point> } Promise used to return the **Point** object. The density of the specified display is
* **Point.x*Point.y**.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
getDisplayDensity(displayId: int): Promise<Point>;
* Wakes up the current display. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
wakeUpDisplay(): Promise<void>;
* Injects an operation of returning to the home screen on the device. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
pressHome(): Promise<void>;
* Injects an operation of returning to the home screen on the specified display. This API uses a promise to return
* the result.
*
* @param { int } displayId - Display ID. The value is an integer greater than or equal to 0.
* <br> **Note**: If the input **displayId** does not exist, the exception **17000007** is reported.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
pressHome(displayId: int): Promise<void>;
* Checks whether all components on the current UI are idle. This API uses a promise to return the result.
*
* @param { int } idleTime - Idle time threshold, in ms. If the duration for which a component remains inactive reaches
* this threshold, it is considered as idle. The value must be an integer greater than or equal to 0.
* <br>Unit: ms
* @param { int } timeout - Maximum waiting time, in milliseconds. The value is an integer greater than or equal to 0.
* <br>Unit: ms
* @returns { Promise<boolean> } - Promise used to return whether all components on the current UI are idle. The value true
* indicates that all components on the current UI are idle, and false indicates the opposite.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
waitForIdle(idleTime: int, timeout: int): Promise<boolean>;
* Simulates a fling operation. This API uses a promise to return the result.
*
* @param { Point } from - Coordinates of the point where the finger touches the screen.
* @param { Point } to - Coordinates of the point where the finger leaves the screen.
* @param { int } stepLen - Step length, in pixels. The value is an integer greater than or equal to 0.
* <br>Unit: ms
* @param { int } speed - Fling speed, in px/s. The value ranges from 200 to 40000. If the set value is not in the range
* , the default value **600** is used.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 17000007 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 10]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
fling(from: Point, to: Point, stepLen: int, speed: int): Promise<void>;
* Injects a multi-finger operation into a device. This API uses a promise to return the result.
*
* @param { PointerMatrix } pointers - Scroll trajectory, including the number of fingers and an array of coordinates along
* the trajectory.
* @param { int } [speed] - Pointer action speed, in px/s.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @returns { Promise<boolean> } - Promise used to return whether the operation is successful.
* The value **true** indicates that the operation is successful, and **false** indicates the opposite.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
injectMultiPointerAction(pointers: PointerMatrix, speed?: int): Promise<boolean>;
* Simulates a fling operation with the specified direction and speed. This API uses a promise to return the result.
*
* @param { UiDirection } direction - Direction of the fling operation.
* @param { int } speed - Scroll speed.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 12]
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
fling(direction: UiDirection, speed: int): Promise<void>;
* Simulates a fling operation on a specified display with the specified direction and speed. This API uses a promise
* to return the result.
*
* @param { UiDirection } direction - Direction of the fling operation.
* @param { int } speed - Fling speed, in px/s. The value ranges from 200 to 40000. If the set value is not in the range,
* the default value **600** is used.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @param { int } displayId - Display ID. The value is an integer greater than or equal to 0.
* <br> **Note**: If the input **displayId** does not exist, the exception **17000007** is reported.
* @returns { Promise<void> } Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
fling(direction: UiDirection, speed: int, displayId: int): Promise<void>;
* Injects a mouse click action at the specified coordinates, with the optional key or key combination. This API uses
* a promise to return the result. For example, if the value of **key1** is **2072**, the **Ctrl** button is pressed
* with the mouse click.
*
* @param { Point } p - Coordinates of the mouse click.
* @param { MouseButton } btnId - Mouse button pressed.
* @param { int } [key1] - First key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @param { int } [key2] - Second key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
mouseClick(p: Point, btnId: MouseButton, key1?: int, key2?: int): Promise<void>;
* Moves the mouse cursor to the target point. This API uses a promise to return the result.
*
* @param { Point } p - Coordinates of the end point.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
mouseMoveTo(p: Point): Promise<void>;
* Injects a mouse scroll action at the specified coordinates, with the optional key or key combination. This API
* uses a promise to return the result. For example, if the value of **key1** is **2072**, the **Ctrl** button is
* pressed with mouse scrolling.
*
* @param { Point } p - Coordinates of the mouse click.
* @param { boolean } down - Whether the mouse wheel scrolls downward. The value **true** indicates the mouse wheel scrolls
* downward, and **false** indicates the mouse wheel scrolls upward.
* @param { number } d - Number of ticks scrolled by the mouse wheel. A tick indicates a 120 px shift to the target point.
* The value is an integer greater than or equal to 0.
* <br>Value range: The value should be >= 0
* <br>Unit: px
* @param { number } [key1] - First key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @param { number } [key2] - Second key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @test
*/
mouseScroll(p: Point, down: boolean, d: number, key1?: number, key2?: number): Promise<void>;
* Injects a mouse scroll action at the specified coordinates, with the optional key or key combination and the
* specified scroll speed. This API uses a promise to return the result.
*
* @param { Point } p - Coordinates of the mouse click.
* @param { boolean } down - Whether the mouse wheel scrolls downward. The value **true** indicates the mouse wheel scrolls
* downward, and **false** indicates the mouse wheel scrolls upward.
* @param { int } d - Number of ticks scrolled by the mouse wheel. A tick indicates a 120 px shift to the target point. The
* value is an integer greater than or equal to 0.
* <br>Unit: cell
* @param { int } [key1] - First key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @param { int } [key2] - Second key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @param { int } [speed] - Scroll speed of the mouse wheel.
* <br>Value range:[1, 500]
* <br>Unit: ticks/s
* <br>Throws error code 401 if negative.
* <br>Default value: 20
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @since 23 static
* @test
*/
mouseScroll(p: Point, down: boolean, d: int, key1?: int, key2?: int, speed?: int): Promise<void>;
* Captures the specified area of the current screen and saves the captured screenshot as a PNG image to the
* specified path. This API uses a promise to return the result. This API can be used in scenarios where screenshots
* are supported.
*
* @param { string } savePath - File save path. The path must be the
* [sandbox path](docroot://file-management/app-sandbox-directory.md) of the current application.
* @param { Rect } [rect] - Area of the screen to capture. The default value is the entire screen.
* @returns { Promise<boolean> } - Promise used to return whether the screenshot operation is successful.
* The value **true** indicates the screenshot operation is successful, and **false** indicates the opposite.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
screenCapture(savePath: string, rect?: Rect): Promise<boolean>;
* Creates a UI event listener {@link UIEventObserver}.
*
* @returns { UIEventObserver } - UI event listener {@link UIEventObserver}.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 10 dynamic
* @since 23 static
* @test
*/
createUIEventObserver(): UIEventObserver;
* Injects a double-click action at the specified coordinates, with the optional key or key combination. This API
* uses a promise to return the result. For example, if the value of **key** is **2072**, the **Ctrl** button is
* pressed with the double-click.
*
* @param { Point } p - Coordinates of the double-click.
* @param { MouseButton } btnId - Mouse button pressed.
* @param { int } [key1] - First key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @param { int } [key2] - Second key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @since 23 static
* @test
*/
mouseDoubleClick(p: Point, btnId: MouseButton, key1?: int, key2?: int): Promise<void>;
* Injects a mouse long-click action at the specified coordinates, with the optional key or key combination. This API
* uses a promise to return the result. For example, if the value of **Key** is **2072**, the **Ctrl** button is
* long-clicked with the mouse device.
*
* @param { Point } p - Coordinates of the long-click of the mouse device.
* @param { MouseButton } btnId - Mouse button pressed.
* @param { number } [key1] - First key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @param { number } [key2] - Second key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @test
*/
mouseLongClick(p: Point, btnId: MouseButton, key1?: number, key2?: number): Promise<void>;
* Injects a mouse long-click action at the specified coordinates, with the optional key or key combination and the
* specified duration. This API uses a promise to return the result. For example, if the value of **Key** is **2072**
* , the **Ctrl** button is long-clicked with the mouse device.
*
* @param { Point } p - Coordinates of the long-click of the mouse device.
* @param { MouseButton } btnId - Mouse button pressed.
* @param { int } [key1] - First key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @param { int } [key2] - Second key value. The value is an integer greater than or equal to 0.
* For details, see [KeyCode]{@link @ohos.multimodalInput.keyCode:KeyCode}.
* <br>Default value: 0
* @param { int } [duration] - Long-click duration.
* <br>Value range: The value should be >= 1500
* <br>Unit: ms
* <br>Default value: 1500
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
mouseLongClick(p: Point, btnId: MouseButton, key1?: int, key2?: int, duration?: int): Promise<void>;
* Moves the mouse pointer from the start point to the end point. This API uses a promise to return the result.
*
* @param { Point } from - Coordinates of the start point.
* @param { Point } to - Coordinates of the end point.
* @param { int } [speed] - Mouse move speed.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @since 23 static
* @test
*/
mouseMoveWithTrack(from: Point, to: Point, speed?: int): Promise<void>;
* Drags the mouse pointer from the start point to the end point. This API uses a promise to return the result.
*
* @param { Point } from - Coordinates of the start point.
* @param { Point } to - Coordinates of the end point.
* @param { number } [speed] - Mouse drag speed.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @test
*/
mouseDrag(from: Point, to: Point, speed?: number): Promise<void>;
* Drags the mouse from the start point to the end point. You can specify the dragging speed and the duration before
* dragging. This API uses a promise to return the result.
*
* @param { Point } from - Coordinates of the start point.
* @param { Point } to - Coordinates of the end point.
* @param { int } [speed] - Speed of mouse drag.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @param { int } [duration] - The duration of the long press before dragging.
* <br>Value range: The value should be >= 1500
* <br>Unit: ms
* <br>Default value: 1500
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
mouseDrag(from: Point, to: Point, speed?: int, duration?: int): Promise<void>;
* Hold down the left mouse button and drag on the screen between the specified points,
* with optional touch and key settings.
*
* @param { Point } from - the starting point.
* @param { Point } to - the ending point.
* @param { TouchOptions } [touchOptions] - the touch options for speed and duration settings.
* Only 'speed' and 'duration' properties are valid in this method.
* Setting other properties will cause BusinessError 17000007.
* Default value: Refer to the default value of TouchOptions.
* @param { KeyOptions } [keyOptions] - the key options for key codes to press during drag.
* Default value: Refer to the default value of keyOptions.
* @returns { Promise<void> }
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
mouseDrag(from: Point, to: Point, touchOptions?: TouchOptions, keyOptions?: KeyOptions): Promise<void>;
* Inputs text at a specified coordinate without clearing the original text in the component. This API uses a promise
* to return the result.
*
* @param { Point } p - Coordinates of the end point.
* @param { string } text - Input text. Currently, English, Chinese, and special characters are supported.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @since 23 static
* @test
*/
inputText(p: Point, text: string): Promise<void>;
* Inputs text at a specified coordinate point in a specified input mode. This API uses a promise to return the
* result.
*
* @param { Point } p - Coordinates of the end point.
* @param { string } text - Input text. Currently, English, Chinese, and special characters are supported.
* @param { InputTextMode } mode - Text input mode.
* For details, see [InputTextMode]{@link InputTextMode}.
* **NOTE**
*
* If **InputTextMode.addition** is set to **true**, the cursor moves to the end of the text and the specified
* text is input. If the value is **false**, the specified text is input at the coordinate point.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 801 Capability not supported. function can not work correctly due to limited device
* capabilities.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
inputText(p: Point, text: string, mode: InputTextMode): Promise<void>;
* Simulates a multi-finger swipe gesture on the touchpad. This API uses a promise to return the result.
*
* @param { int } fingers - Number of fingers. The value can be 3 or 4.
* @param { UiDirection } direction - Swipe direction.
* @param { TouchPadSwipeOptions } [options] - Additional options for the multi-finger swipe gesture on the touchpad. The
* default values of the attributes in **{@link TouchPadSwipeOptions }** are used by default.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000005 This operation is not supported.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
touchPadMultiFingerSwipe(fingers: int, direction: UiDirection, options?: TouchPadSwipeOptions): Promise<void>;
* Simulates a pen click operation. This API uses a promise to return the result.
*
* @param { Point } point - Coordinates of the clicked point.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
penClick(point: Point): Promise<void>;
* Simulates a pen long-click operation. This API uses a promise to return the result.
*
* @param { Point } point - Coordinates of the long-clicked point.
* @param { double } [pressure] - Swipe pressure of the pen. The value ranges from 0.0 to 1.0. The default value is **1.0**.
* <br>Value range:[0.0, 1.0]
* <br>Default value: 1.0
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
penLongClick(point: Point, pressure?: double): Promise<void>;
* Simulates a pen double-click operation. This API uses a promise to return the result.
*
* @param { Point } point - Coordinates of the double-clicked point.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
penDoubleClick(point: Point): Promise<void>;
* Simulates a pen swipe operation. This API uses a promise to return the result.
*
* @param { Point } startPoint - Coordinates of the start point.
* @param { Point } endPoint - Coordinates of the end point.
* @param { int } [speed] - Speed of pen swipe.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @param { double } [pressure] - Swipe pressure of the pen.
* <br>Value range:[0.0, 1.0]
* <br>Default value: 1.0
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
penSwipe(startPoint: Point, endPoint: Point, speed?: int, pressure?: double): Promise<void>;
* Simulates a continuous multi-point pen injection operation. This API uses a promise to return the result.
*
* @param { PointerMatrix } pointers - Scroll trajectory, including the number of fingers and an array of coordinates along
* the trajectory.
* **Note**: Currently, only the single-finger operation is supported. The value of **fingers** in
* **PointerMatrix** must be set to **1**.
* @param { int } [speed] - Pen pointer action speed.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 401 if negative.
* <br>Default value: 600
* @param { double } [pressure] - Injection pressure.
* <br>Value range:[0.0, 1.0]
* <br>Default value: 1.0
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 18 dynamic
* @since 23 static
* @test
*/
injectPenPointerAction(pointers: PointerMatrix, speed?: int, pressure?: double): Promise<void>;
* Trigger pen key operation.
*
* Supported combinations:
*
* - HANDWRITING mode: HANDWRITING key with CLICK or DOUBLE_CLICK operation.
* - AIR_MOUSE mode: AIR_MOUSE key with CLICK or DOUBLE_CLICK operation (requires point in options),
* HANDWRITING key with CLICK or DOUBLE_CLICK operation, SMART key with CLICK operation.
* Other combinations will result in a BusinessError 17000007.
*
* @param { PenKey } key - the pen key to operate.
* @param { PenMode } mode - the pen mode.
* @param { PenKeyOperation } operation - the operation type.
* @param { PenKeyOperationOptions } [options] - the operation options, including optional coordinate point.
* Default value: Refer to the default value of PenKeyOperationOption.
* @returns { Promise<void> }
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @throws { BusinessError } 17000007 - Parameter verification failed. Unsupported key, mode, and operation combination.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @atomicservice
* @since 26.0.0 dynamic&static
* @test
*/
triggerPenKey(key: PenKey, mode: PenMode, operation: PenKeyOperation, options?: PenKeyOperationOptions): Promise<void>;
* Injects a crown rotation event. You can specify the rotation speed. This API uses a promise to return the result.
*
* @param { int } d - Number of rotation ticks. A positive value indicates rotation, and a negative value indicates
* counterclockwise rotation. The value must be an integer.
* @param { int } [speed] - Rotation speed.
* <br>Unit: ticks/s.
* <br>Value range: [1, 500]
* <br>Throws error code 17000007 if negative.
* <br>Default value: 20
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 801 - Capability not supported. Failed to call the API due to limited device capabilities.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
crownRotate(d: int, speed?: int): Promise<void>;
* Long-clicks at the specified coordinates and checks whether the target component exists. This API uses a promise
* to return the result.
*
* @param { On } on - Attributes of the target {@link Component}.
* @param { Point } point - Coordinates of the long-clicked point.
* @param { int } [duration] - Long-click duration.
* <br>Value range: The value should be >= 1500
* <br>Default value: 1500
* @returns { Promise<boolean> } - Promise used to return whether the target component exists during a long-click
* operation. The value **true** indicates that the target component exists, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 26.0.0]
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
isComponentPresentWhenLongClick(on: On, point: Point, duration?: int): Promise<boolean>;
* Drags from the start point to the end point and checks whether the target component exists. This API uses a
* promise to return the result.
*
* @param { On } on - Attributes of the target {@link Component}.
* @param { Point } from - Point object, which transfers the coordinates of the start point and the ID
* of the display to which the start point belongs.
* @param { Point } to - Point object, which transfers the coordinates of the target point and the ID
* of the display to which it belongs.
* <br> **Note**: The target point and the start point must be on the same screen. Otherwise, the **17000007**
* exception is thrown.
* @param { int } [speed] - Drag speed.
* <br>Value range:[200, 40000]
* <br>Throws error code 17000007 if negative.
* <br>Default value: 600
* @param { int } [duration] - The duration of the long press before dragging.
* <br>Value range: The value should be >= 1500
* <br>Default value: 1500
* @returns { Promise<boolean> } - Promise used to return whether the target component exists during the dragging
* operation. The value **true** indicates that the target component exists, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
isComponentPresentWhenDrag(on: On, from: Point, to: Point, speed?: int, duration?: int): Promise<boolean>;
* Swipes from the start point to the end point and checks whether the target component exists. This API uses a
* promise to return the result.
*
* @param { On } on - Attributes of the target component.
* @param { Point } from - Point object, which transfers the coordinates of the start point and the ID of
* the display to which the start point belongs.
* @param { Point } to - Point object, which transfers the coordinates of the target point and the ID
* of the display to
* which it belongs.
* <br> **Note**: The target point and the start point must be on the same screen. Otherwise, the **17000007**
* exception is thrown.
* @param { int } [speed] - Scroll speed.
* <br>Value range:[200, 40000]
* <br>Throws error code 17000007 if negative.
* <br>Default value: 600
* @returns { Promise<boolean> } - Promise used to return whether the target component exists during the swiping
* operation.The value **true** indicates that the target component exists, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
isComponentPresentWhenSwipe(on: On, from: Point, to: Point, speed?: int): Promise<boolean>;
* Simulates a two-finger scroll gesture on the touchpad. This API uses a promise to return the result.
*
* @param { Point } point - Point of the mouse cursor when the two-finger scrolling is performed on the touchpad.
* @param { UiDirection } direction - Direction of two-finger scrolling on the touchpad.
* @param { int } d - Number of grids scrolled by two fingers on the touchpad. A grid indicates a 120 px shift to the
* target point. The value is an integer greater than or equal to 0.
* @param { int } [speed] - Speed of two-finger scrolling on the touchpad.
* <br>Unit: ticks/s.
* <br>Value range: [1, 500]
* <br>Throws error code 17000007 if negative.
* <br>Default value: 20
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
touchPadTwoFingersScroll(point: Point, direction: UiDirection, d: int, speed?: int): Promise<void>;
* Simulates a knuckle knock on the display. This API uses a promise to return the result.
*
* > **NOTE**
* >
* > If the knuckle gesture is disabled on the device<!--RP4--><!--RP4End-->, 17000005 is returned.
*
* @param { Array<Point> } pointers - Array of knuckle knock coordinates on the display. The array length can be 1 or 2.
* @param { int } times - Number of consecutive knocks on the display.
* <br>Value range:[1,2]
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
knuckleKnock(pointers: Array<Point>, times: int): Promise<void>;
* Simulates a multi-point knuckle scrolling operation. This API uses a promise to return the result.
*
* > **NOTE**
* >
* > If the knuckle gesture is disabled on the device<!--RP4--><!--RP4End-->, 17000005 is returned.
*
* @param { PointerMatrix } pointers - Scroll trajectory, including the number of fingers and an array of
* coordinates along the trajectory.
*
* **Note**: Currently, only the single-finger operation is supported. The value of **fingers** in
* **PointerMatrix** must be set to **1**.
* @param { int } [speed] - Knuckle pointer action speed.
* <br>Value range:[200, 40000]
* <br>Unit: px/s.
* <br>Throws error code 17000007 if negative.
* <br>Default value: 600
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 22 dynamic
* @since 23 static
* @test
*/
injectKnucklePointerAction(pointers: PointerMatrix, speed?: int): Promise<void>;
}
* The **UiWindow** class represents a window on the UI and provides APIs for obtaining window attributes, dragging a
* window, and adjusting the window size.
* All APIs provided in this class use a promise to return the result and must be invoked using **await**.
*
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
declare class UiWindow {
* Obtains the bundle name of the application to which a window belongs. This API uses a promise to return the result.
*
* @returns { Promise<string> } - Promise used to return the bundle name of the application to which the window belongs.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getBundleName(): Promise<string>;
* Obtains the bounds information of a window. This API uses a promise to return the result.
*
* @returns { Promise<Rect> } - Promise used to return the window border information.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getBounds(): Promise<Rect>;
* Obtains the window title. This API uses a promise to return the result.
*
* @returns { Promise<string> } - Promise used to return the window title.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getTitle(): Promise<string>;
* Obtains the window mode. This API uses a promise to return the result.
*
* @returns { Promise<WindowMode> } - Promise used to return the window mode information.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
getWindowMode(): Promise<WindowMode>;
* Checks whether a window is focused. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the window is focused. The value **true** indicates that
* the component is focused, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
isFocused(): Promise<boolean>;
* Checks whether a window is active. This API uses a promise to return the result.
*
*
* @returns { Promise<boolean> } - Promise used to return whether the window is active. The value **true** indicates that
* the window is active, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @since 9 dynamiconly
* @deprecated since 11
* @useinstead UiWindow#isActive
* @test
*/
isActived(): Promise<boolean>;
* Focuses a window. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
focus(): Promise<void>;
* Moves a window to the target point. This API uses a promise to return the result. This API is applicable to
* moveable windows.
*
* @param { int } x - Number, which indicates the horizontal coordinate of the target point. The value is an integer
* greater than or equal to 0.
* <br>Unit: px
* @param { int } y - Number, which indicates the vertical coordinate of the target point. The value is an integer greater
* than or equal to 0.
* <br>Unit: px
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
moveTo(x: int, y: int): Promise<void>;
* Resizes a window based on the specified width, height, and direction. This API uses a promise to return the
* result. This API is applicable to resizable windows.
*
* @param { int } wide - Width of the adjusted window, in number format.
* The value is an integer greater than or equal to 0.
* <br>Unit: px
* @param { int } height - Height of the adjusted window, in number format.
* The value is an integer greater than or equal to 0.
* <br>Unit: px
* @param { ResizeDirection } direction - Resize direction.
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
resize(wide: int, height: int, direction: ResizeDirection): Promise<void>;
* Switches to the split-screen mode. This API uses a promise to return the result. This API is applicable to
* windows that support screen splitting.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
split(): Promise<void>;
* Maximizes a window. This API uses a promise to return the result. This API is applicable to windows that can be
* maximized.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
maximize(): Promise<void>;
* Minimizes a window. This API uses a promise to return the result. This API is applicable to windows that can be
* minimized.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
minimize(): Promise<void>;
* Resumes a window to its previous mode. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
resume(): Promise<void>;
* Closes a window. This API uses a promise to return the result.
*
* @returns { Promise<void> } - Promise that returns no value.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @throws { BusinessError } 17000005 - This operation is not supported.
* @syscap SystemCapability.Test.UiTest
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
close(): Promise<void>;
* Checks whether a window is active. This API uses a promise to return the result.
*
* @returns { Promise<boolean> } - Promise used to return whether the window is active. The value **true** indicates that
* the window is active, and **false** indicates the opposite.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 11 dynamic
* @since 23 static
* @test
*/
isActive(): Promise<boolean>;
* Obtains the ID of the display to which a window belongs. This API uses a promise to return the result.
*
* @returns { Promise<int> } - Promise used to return the ID of the display to which the window belongs.
* @throws { BusinessError } 17000002 - The API does not support concurrent calls.
* @throws { BusinessError } 17000004 - The window or component is invisible or destroyed.
* @syscap SystemCapability.Test.UiTest
* @atomicservice
* @since 20 dynamic
* @since 23 static
* @test
*/
getDisplayId(): Promise<int>;
}
* Represents a two-dimensional array of pointers on the device display, it's used to build a
* multi-finger trace which can be injected with UiDriver.
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
declare class PointerMatrix {
* Creates a **PointerMatrix** object and returns the object created. This API is a static API.
*
* @param { int } fingers - Number of fingers injected during the multi-finger operation.
* <br>Value range:[1, 10]
* @param { int } steps - Number of steps performed by a finger.
* <br>Value range:[1, 1000]
* @returns { PointerMatrix } - **PointerMatrix** object created.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
static create(fingers: int, steps: int): PointerMatrix;
* Sets the coordinates for the action corresponding to the specified finger and step in the **PointerMatrix**
* object.
*
* @param { int } finger - Number of fingers. The value is an integer greater than or equal to 0 and cannot exceed the
* number of fingers set when the **PointerMatrix** object is constructed.
* @param { int } step - Number of steps. The value is an integer greater than or equal to 0 and cannot exceed the number
* of steps set when the **PointerMatrix** object is constructed.
* @param { Point } point - Coordinates of the action. It is recommended that the distance between adjacent coordinates be
* within the range of 10 px to 80 px.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.
* Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @since 23 static
* @test
*/
setPoint(finger: int, step: int, point: Point): void;
}
* The static builder for building {@link By}object conveniently,usage example:BY.text('txt').enabled(true).
*
* @syscap SystemCapability.Test.UiTest
* @since 8 dynamiconly
* @deprecated since 9
* @useinstead ohos.UiTest.ON
* @test
*/
declare const BY: By;
* The static builder for building {@link On}object conveniently,usage example:ON.text('txt').enabled(true).
*
* @syscap SystemCapability.Test.UiTest
* @crossplatform [since 11]
* @atomicservice [since 11]
* @since 9 dynamic
* @test
*/
declare const ON: On;
* The static builder for building {@link On}object conveniently,usage example:ON.text('txt').enabled(true).
*
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
declare namespace ON {
* Specifies the text for the target Component.
*
* @param { string } txt - the text value.
* @param { MatchPattern } [pattern] - the {@link MatchPattern} of the text value.
* <br>Default value: MatchPattern.EQUALS
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function text(txt: string, pattern?: MatchPattern): On;
* Specifies the id of the target Component.
*
* @param { string } id - the id value.
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function id(id: string): On;
* Specifies the type of the target Component.
*
* @param { string } tp - The type value.
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function type(tp: string): On;
* Specifies the clickable status of the target Component.
*
* @param { boolean } [b] - the clickable status.
* <br>Default value: true
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function clickable(b?: boolean): On;
* Specifies the longClickable status of the target Component.
*
* @param { boolean } [b] - the longClickable status.
* <br>Default value: true
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function longClickable(b?: boolean): On;
* Specifies the scrollable status of the target Component.
*
* @param { boolean } [b] - the scrollable status.
* <br>Default value: true
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function scrollable(b?: boolean): On;
* Specifies the enabled status of the target Component.
*
* @param { boolean } [b] - the enabled status.
* <br>Default value: true
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function enabled(b?: boolean): On;
* Specifies the focused status of the target Component.
*
* @param { boolean } [b] - the focused status.
* <br>Default value: true
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function focused(b?: boolean): On;
* Specifies the selected status of the target Component.
*
* @param { boolean } [b] - the - selected status.
* <br>Default value: true
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function selected(b?: boolean): On;
* Specifies the checked status of the target Component.
*
* @param { boolean } [b] - the checked status.
* <br>Default value: true
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function checked(b?: boolean): On;
* Specifies the checkable status of the target Component.
*
* @param { boolean } [b] - the checkable status.
* <br>Default value: true
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function checkable(b?: boolean): On;
* Requires that the target Component which is before another Component that specified by the given {@link On}
* object,used to locate Component relatively.
*
* @param { On } on - describes the attribute requirements of Component which the target one is in front of.
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function isBefore(on: On): On;
* Requires that the target Component is before another Component that is specified by the given {@link Component}
* object, used to locate Component relatively.
*
* @param { Component } com - Describes the Component which the target one is in front of.
* @returns { On } this {@link On} object.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @since 26.0.0 static
* @test
*/
export function isBefore(com: Component): On;
* Requires that the target Component which is after another Component that specified by the given {@link On}
* object,used to locate Component relatively.
*
* @param { On } on - describes the attribute requirements of Component which the target one is in back of.
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function isAfter(on: On): On;
* Requires that the target Component which is after another Component specified by the given {@link Component}
* object, used to locate Component relatively.
*
* @param { Component } com - Describes the Component which the target one is in back of.
* @returns { On } this {@link On} object.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @since 26.0.0 static
* @test
*/
export function isAfter(com: Component): On;
* Requires that the target Component which is inside of another Component that specified by the given {@link On}
* object,used to locate Component relatively.
*
* @param { On } on - describes the attribute requirements of Component which the target one is inside of.
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function within(on: On): On;
* Requires that the target Component which is inside of another Component specified by the given {@link Component}
* object, used to locate Component relatively.
*
* @param { Component } com - Describes the Component which the target one is inside of.
* @returns { On } this {@link On} object.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @FaAndStageModel
* @since 26.0.0 static
* @test
*/
export function within(com: Component): On;
* Specifies the bundleName of the application which the window that the target Component is located belongs.
*
* @param { string } bundleName - the bundleName of the specified window.
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function inWindow(bundleName: string): On;
* Specifies the displayId to which the target Component belongs.
*
* @param { int } displayId - the Id of the specified display.
* @returns { On } this {@link On} object.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function belongingDisplay(displayId: int): On;
* Specifies the description for the target Component.
*
* @param { string } val - the description value.
* @param { MatchPattern } [pattern] - the {@link MatchPattern} of description value.
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function description(val: string, pattern?: MatchPattern): On;
* Specifies the id of the target Component.
*
* @param { string } id - the id value.
* @param { MatchPattern } pattern - the {@link MatchPattern} of the text value.
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function id(id: string, pattern: MatchPattern): On;
* Specifies the type of the target Component.
*
* @param { string } tp - The type value.
* @param { MatchPattern } pattern - the {@link MatchPattern} of the text value.
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function type(tp: string, pattern: MatchPattern): On;
* Specifies the hint for the target Component.
*
* @param { string } val - the hint value.
* @param { MatchPattern } [pattern] - the {@link MatchPattern} of the text value.
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { On } this {@link On} object.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function hint(val: string, pattern?: MatchPattern): On;
* Specifies the original text for the target Component.
* If the accessibility property
* [accessibilityLevel]{@link ./@internal/component/ets/common:CommonMethod#accessibilityLevel}
* of a component is set to 'no' or 'no-hide-descendants',
* you will not be able to use {@link On.text} to match the component with the specified original text, but you can
* use this method to achieve it;
* if the component does not set the above accessibility property, this method has no difference with {@link On.text}
*
* @param { string } text - the original text value.
* @param { MatchPattern } [pattern] - the {@link MatchPattern} of the text value.
* <br>Default value: {@link MatchPattern.EQUALS}
* @returns { On } this {@link On} object.
* @throws { BusinessError } 17000007 - Parameter verification failed.
* @syscap SystemCapability.Test.UiTest
* @since 23 static
* @test
*/
export function originalText(text: string, pattern?: MatchPattern): On;
}
export {
UiComponent,
UiDriver,
BY,
By
};
export {
Component,
Driver,
UiWindow,
ON,
On,
MatchPattern,
DisplayRotation,
ResizeDirection,
WindowMode,
Point,
WindowFilter,
Rect,
PointerMatrix,
UiDirection,
MouseButton,
UIElementInfo,
UIEventObserver,
TouchPadSwipeOptions,
InputTextMode,
WindowChangeType,
ComponentEventType,
WindowChangeOptions,
ComponentEventOptions,
KeyOptions,
TouchOptions,
PenKey,
PenKeyOperation,
PenMode,
PenKeyOperationOptions
};