1# @ohos.UiTest 2 3UiTest提供模拟UI操作的能力,供开发者在测试场景使用,主要支持如点击、双击、长按、滑动等UI操作能力。 4 5该模块提供以下功能: 6 7- [On<sup>9+</sup>](#on9):提供控件特征描述能力,用于控件筛选匹配查找。 8- [Component<sup>9+</sup>](#component9):代表UI界面上的指定控件,提供控件属性获取,控件点击,滑动查找,文本注入等能力。 9- [Driver<sup>9+</sup>](#driver9):入口类,提供控件匹配/查找,按键注入,坐标点击/滑动,截图等能力。 10- [UiWindow<sup>9+</sup>](#uiwindow9):入口类,提供窗口属性获取,窗口拖动、调整窗口大小等能力。 11- [By<sup>(deprecated)</sup>](#bydeprecated):提供控件特征描述能力,用于控件筛选匹配查找。从API version 9开始不再维护,建议使用[On<sup>9+</sup>](#on9)。 12- [UiComponent<sup>(deprecated)</sup>](#uicomponentdeprecated):代表UI界面上的指定控件,提供控件属性获取,控件点击,滑动查找,文本注入等能力。从API version 9开始不再维护,建议使用[Component<sup>9+</sup>](#component9)。 13- [UiDriver<sup>(deprecated)</sup>](#uidriverdeprecated):入口类,提供控件匹配/查找,按键注入,坐标点击/滑动,截图等能力。从API version 9开始不再维护,建议使用[Driver<sup>9+</sup>](#driver9)。 14 15>**说明:** 16> 17>本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 18 19 20## 导入模块 21 22```ts 23import {UiComponent, UiDriver, Component, Driver, UiWindow, ON, BY, MatchPattern, DisplayRotation, ResizeDirection, WindowMode, PointerMatrix, UiDirection, MouseButton, UIElementInfo, UIEventObserver} from '@ohos.UiTest'; 24``` 25 26## MatchPattern 27 28控件属性支持的匹配模式。 29 30**系统能力**:SystemCapability.Test.UiTest 31 32| 名称 | 值 | 说明 | 33| ----------- | ---- | -------------- | 34| EQUALS | 0 | 等于给定值。 | 35| CONTAINS | 1 | 包含给定值。 | 36| STARTS_WITH | 2 | 以给定值开始。 | 37| ENDS_WITH | 3 | 以给定值结束。 | 38 39## ResizeDirection<sup>9+</sup> 40 41窗口调整大小的方向。 42 43**系统能力**:SystemCapability.Test.UiTest 44 45| 名称 | 值 | 说明 | 46| ---------- | ---- | -------- | 47| LEFT | 0 | 左方。 | 48| RIGHT | 1 | 右方。 | 49| UP | 2 | 上方。 | 50| DOWN | 3 | 下方。 | 51| LEFT_UP | 4 | 左上方。 | 52| LEFT_DOWN | 5 | 左下方。 | 53| RIGHT_UP | 6 | 右上方。 | 54| RIGHT_DOWN | 7 | 右下方。 | 55 56## Point<sup>9+</sup> 57 58坐标点信息。 59 60**系统能力**:SystemCapability.Test.UiTest 61 62| 名称 | 类型 | 可读 | 可写 | 说明 | 63| ---- | ------ | ---- | ---- | ---------------- | 64| x | number | 是 | 否 | 坐标点的横坐标。 | 65| y | number | 是 | 否 | 坐标点的纵坐标。 | 66 67## Rect<sup>9+</sup> 68 69控件的边框信息。 70 71**系统能力**:SystemCapability.Test.UiTest 72 73| 名称 | 类型 | 可读 | 可写 | 说明 | 74| ------ | ------ | ---- | ---- | ------------------------- | 75| left | number | 是 | 否 | 控件边框的左上角的X坐标。 | 76| top | number | 是 | 否 | 控件边框的左上角的Y坐标。 | 77| right | number | 是 | 否 | 控件边框的右下角的X坐标。 | 78| bottom | number | 是 | 否 | 控件边框的右下角的Y坐标。 | 79 80## WindowMode<sup>9+</sup> 81 82窗口的窗口模式。 83 84**系统能力**:SystemCapability.Test.UiTest 85 86| 名称 | 值 | 说明 | 87| ---------- | ---- | ---------- | 88| FULLSCREEN | 0 | 全屏模式。 | 89| PRIMARY | 1 | 主窗口。 | 90| SECONDARY | 2 | 第二窗口。 | 91| FLOATING | 3 | 浮动窗口。 | 92 93## DisplayRotation<sup>9+</sup> 94 95设备显示器的显示方向。 96 97**系统能力**:SystemCapability.Test.UiTest 98 99| 名称 | 值 | 说明 | 100| ------------ | ---- | ---------------------------------------- | 101| ROTATION_0 | 0 | 设备显示器不旋转,初始形态垂直显示。 | 102| ROTATION_90 | 1 | 设备显示器顺时针旋转90°,水平显示。 | 103| ROTATION_180 | 2 | 设备显示器顺时针旋转180°,逆向垂直显示。 | 104| ROTATION_270 | 3 | 设备显示器顺时针旋转270°,逆向水平显示。 | 105 106## WindowFilter<sup>9+</sup> 107 108窗口的标志属性信息。 109 110**系统能力**:SystemCapability.Test.UiTest 111 112| 名称 | 类型 | 可读 | 可写 | 说明 | 113| ---------- | ------- | ---- | ---- | -------------------------- | 114| bundleName | string | 是 | 否 | 窗口归属应用的包名。 | 115| title | string | 是 | 否 | 窗口的标题信息。 | 116| focused | boolean | 是 | 否 | 窗口是否处于获焦状态。 | 117| actived | boolean | 是 | 否 | 窗口是否正与用户进行交互。 | 118 119## UiDirection<sup>10+</sup> 120 121进行抛滑等UI操作时的方向。 122 123**系统能力**:SystemCapability.Test.UiTest 124 125| 名称 | 值 | 说明 | 126| ----- | ---- | ------ | 127| LEFT | 0 | 向左。 | 128| RIGHT | 1 | 向右。 | 129| UP | 2 | 向上。 | 130| DOWN | 3 | 向下。 | 131 132## MouseButton<sup>10+</sup> 133 134模拟注入的鼠标按钮。 135 136**系统能力**:SystemCapability.Test.UiTest 137 138| 名称 | 值 | 说明 | 139| ------------------- | ---- | ------------ | 140| MOUSE_BUTTON_LEFT | 0 | 鼠标左键。 | 141| MOUSE_BUTTON_RIGHT | 1 | 鼠标右键。 | 142| MOUSE_BUTTON_MIDDLE | 2 | 鼠标中间键。 | 143 144## UIElementInfo<sup>10+</sup> 145 146UI事件的相关信息。 147 148**系统能力**:SystemCapability.Test.UiTest 149 150| 名称 | 类型 | 可读 | 可写 | 说明 | 151| ---------- | ------ | ---- | ---- | --------------------- | 152| bundleName | string | 是 | 否 | 归属应用的包名。 | 153| type | string | 是 | 否 | 控件/窗口类型。 | 154| text | string | 是 | 否 | 控件/窗口的文本信息。 | 155 156## On<sup>9+</sup> 157 158UiTest框架在API 9中,通过On类提供了丰富的控件特征描述API,用于进行控件筛选来匹配/查找出目标控件。<br> 159On提供的API能力具有以下几个特点:<br>1、支持单属性匹配和多属性组合匹配,例如同时指定目标控件text和id。<br>2、控件属性支持多种匹配模式。<br>3、支持控件绝对定位,相对定位,可通过[ON.isBefore](#isbefore9)和[ON.isAfter](#isafter9)等API限定邻近控件特征进行辅助定位。<br>On类提供的所有API均为同步接口,建议使用者通过静态构造器ON来链式创建On对象。 160 161```ts 162import { ON } from '@ohos.UiTest'; 163ON.text('123').type('Button'); 164``` 165 166### text<sup>9+</sup> 167 168text(txt: string, pattern?: MatchPattern): On 169 170指定目标控件文本属性,支持多种匹配模式,返回On对象自身。 171 172**系统能力**:SystemCapability.Test.UiTest 173 174**参数:** 175 176| 参数名 | 类型 | 必填 | 说明 | 177| ------- | ----------------------------- | ---- | --------------------------------------------------- | 178| txt | string | 是 | 指定控件文本,用于匹配目标控件文本。 | 179| pattern | [MatchPattern](#matchpattern) | 否 | 指定的文本匹配模式,默认为[EQUALS](#matchpattern)。 | 180 181**返回值:** 182 183| 类型 | 说明 | 184| ---------- | ---------------------------------- | 185| [On](#on9) | 返回指定目标控件文本属性的On对象。 | 186 187**示例:** 188 189```ts 190import { On, ON } from '@ohos.UiTest'; 191let on:On = ON.text('123'); // 使用静态构造器ON创建On对象,指定目标控件的text属性。 192``` 193 194### id<sup>9+</sup> 195 196id(id: string): On 197 198指定目标控件id属性,返回On对象自身。 199 200**系统能力**:SystemCapability.Test.UiTest 201 202**参数:** 203 204| 参数名 | 类型 | 必填 | 说明 | 205| ------ | ------ | ---- | ---------------- | 206| id | string | 是 | 指定控件的id值。 | 207 208**返回值:** 209 210| 类型 | 说明 | 211| ---------- | -------------------------------- | 212| [On](#on9) | 返回指定目标控件id属性的On对象。 | 213 214**示例:** 215 216```ts 217import { On, ON } from '@ohos.UiTest'; 218let on:On = ON.id('123'); // 使用静态构造器ON创建On对象,指定目标控件的id属性。 219``` 220 221 222### type<sup>9+</sup> 223 224type(tp: string): On 225 226指定目标控件的控件类型属性,返回On对象自身。 227 228**系统能力**:SystemCapability.Test.UiTest 229 230**参数:** 231 232| 参数名 | 类型 | 必填 | 说明 | 233| ------ | ------ | ---- | -------------- | 234| tp | string | 是 | 指定控件类型。 | 235 236**返回值:** 237 238| 类型 | 说明 | 239| ---------- | ---------------------------------------- | 240| [On](#on9) | 返回指定目标控件的控件类型属性的On对象。 | 241 242**示例:** 243 244```ts 245import { On, ON } from '@ohos.UiTest'; 246let on:On = ON.type('Button'); // 使用静态构造器ON创建On对象,指定目标控件的控件类型属性。 247``` 248 249 250### clickable<sup>9+</sup> 251 252clickable(b?: boolean): On 253 254指定目标控件的可点击状态属性,返回On对象自身。 255 256**系统能力**:SystemCapability.Test.UiTest 257 258**参数:** 259 260| 参数名 | 类型 | 必填 | 说明 | 261| ------ | ------- | ---- | ------------------------------------------------------------ | 262| b | boolean | 否 | 指定控件可点击状态,true:可点击,false:不可点击。默认为true。 | 263 264**返回值:** 265 266| 类型 | 说明 | 267| ---------- | ------------------------------------------ | 268| [On](#on9) | 返回指定目标控件的可点击状态属性的On对象。 | 269 270**示例:** 271 272```ts 273import { On, ON } from '@ohos.UiTest'; 274let on:On = ON.clickable(true); // 使用静态构造器ON创建On对象,指定目标控件的可点击状态属性。 275``` 276 277### longClickable<sup>9+</sup> 278 279longClickable(b?: boolean): On 280 281指定目标控件的可长按点击状态属性,返回On对象自身。 282 283**系统能力**:SystemCapability.Test.UiTest 284 285**参数:** 286 287| 参数名 | 类型 | 必填 | 说明 | 288| ------ | ------- | ---- | ------------------------------------------------------------ | 289| b | boolean | 否 | 指定控件可长按点击状态,true:可长按点击,false:不可长按点击。默认为true。 | 290 291**返回值:** 292 293| 类型 | 说明 | 294| ---------- | ---------------------------------------------- | 295| [On](#on9) | 返回指定目标控件的可长按点击状态属性的On对象。 | 296 297**示例:** 298 299```ts 300import { On, ON } from '@ohos.UiTest'; 301let on:On = ON.longClickable(true); // 使用静态构造器ON创建On对象,指定目标控件的可长按点击状态属性。 302``` 303 304 305### scrollable<sup>9+</sup> 306 307scrollable(b?: boolean): On 308 309指定目标控件的可滑动状态属性,返回On对象自身。 310 311**系统能力**:SystemCapability.Test.UiTest 312 313**参数:** 314 315| 参数名 | 类型 | 必填 | 说明 | 316| ------ | ------- | ---- | ----------------------------------------------------------- | 317| b | boolean | 否 | 控件可滑动状态,true:可滑动,false:不可滑动。默认为true。 | 318 319**返回值:** 320 321| 类型 | 说明 | 322| ---------- | ------------------------------------------ | 323| [On](#on9) | 返回指定目标控件的可滑动状态属性的On对象。 | 324 325**示例:** 326 327```ts 328import { On, ON } from '@ohos.UiTest'; 329let on:On = ON.scrollable(true); // 使用静态构造器ON创建On对象,指定目标控件的可滑动状态属性。 330``` 331 332### enabled<sup>9+</sup> 333 334enabled(b?: boolean): On 335 336指定目标控件的使能状态属性,返回On对象自身。 337 338**系统能力**:SystemCapability.Test.UiTest 339 340**参数:** 341 342| 参数名 | 类型 | 必填 | 说明 | 343| ------ | ------- | ---- | --------------------------------------------------------- | 344| b | boolean | 否 | 指定控件使能状态,true:使能,false:未使能。默认为true。 | 345 346**返回值:** 347 348| 类型 | 说明 | 349| ---------- | ---------------------------------------- | 350| [On](#on9) | 返回指定目标控件的使能状态属性的On对象。 | 351 352**示例:** 353 354```ts 355import { On, ON } from '@ohos.UiTest'; 356let on:On = ON.enabled(true); // 使用静态构造器ON创建On对象,指定目标控件的使能状态属性。 357``` 358 359### focused<sup>9+</sup> 360 361focused(b?: boolean): On 362 363指定目标控件的获焦状态属性,返回On对象自身。 364 365**系统能力**:SystemCapability.Test.UiTest 366 367**参数:** 368 369| 参数名 | 类型 | 必填 | 说明 | 370| ------ | ------- | ---- | ----------------------------------------------------- | 371| b | boolean | 否 | 控件获焦状态,true:获焦,false:未获焦。默认为true。 | 372 373**返回值:** 374 375| 类型 | 说明 | 376| ---------- | ---------------------------------------- | 377| [On](#on9) | 返回指定目标控件的获焦状态属性的On对象。 | 378 379**示例:** 380 381```ts 382import { On, ON } from '@ohos.UiTest'; 383let on:On = ON.focused(true); // 使用静态构造器ON创建On对象,指定目标控件的获焦状态属性。 384``` 385 386### selected<sup>9+</sup> 387 388selected(b?: boolean): On 389 390指定目标控件的被选中状态属性,返回On对象自身。 391 392**系统能力**:SystemCapability.Test.UiTest 393 394**参数:** 395 396| 参数名 | 类型 | 必填 | 说明 | 397| ------ | ------- | ---- | ------------------------------------------------------------ | 398| b | boolean | 否 | 指定控件被选中状态,true:被选中,false:未被选中。默认为true。 | 399 400**返回值:** 401 402| 类型 | 说明 | 403| ---------- | ------------------------------------------ | 404| [On](#on9) | 返回指定目标控件的被选中状态属性的On对象。 | 405 406**示例:** 407 408```ts 409import { On, ON } from '@ohos.UiTest'; 410let on:On = ON.selected(true); // 使用静态构造器ON创建On对象,指定目标控件的被选中状态属性。 411``` 412 413### checked<sup>9+</sup> 414 415checked(b?: boolean): On 416 417指定目标控件的被勾选状态属性,返回On对象自身。 418 419**系统能力**:SystemCapability.Test.UiTest 420 421**参数:** 422 423| 参数名 | 类型 | 必填 | 说明 | 424| ------ | ------- | ---- | ------------------------------------------------------------ | 425| b | boolean | 否 | 指定控件被勾选状态,true:被勾选,false:未被勾选。默认为false。 | 426 427**返回值:** 428 429| 类型 | 说明 | 430| ---------- | ------------------------------------------ | 431| [On](#on9) | 返回指定目标控件的被勾选状态属性的On对象。 | 432 433**示例:** 434 435```ts 436import { On, ON } from '@ohos.UiTest'; 437let on:On = ON.checked(true); // 使用静态构造器ON创建On对象,指定目标控件的被勾选状态属性 438``` 439 440### checkable<sup>9+</sup> 441 442checkable(b?: boolean): On 443 444指定目标控件能否被勾选状态属性,返回On对象自身。 445 446**系统能力**:SystemCapability.Test.UiTest 447 448**参数:** 449 450| 参数名 | 类型 | 必填 | 说明 | 451| ------ | ------- | ---- | ------------------------------------------------------------ | 452| b | boolean | 否 | 指定控件能否被勾选状态,true:能被勾选,false:不能被勾选。默认为false。 | 453 454**返回值:** 455 456| 类型 | 说明 | 457| ---------- | -------------------------------------------- | 458| [On](#on9) | 返回指定目标控件能否被勾选状态属性的On对象。 | 459 460**示例:** 461 462```ts 463import { On, ON } from '@ohos.UiTest'; 464let on:On = ON.checkable(true); // 使用静态构造器ON创建On对象,指定目标控件的能否被勾选状态属性。 465``` 466 467### isBefore<sup>9+</sup> 468 469isBefore(on: On): On 470 471指定目标控件位于给出的特征属性控件之前,返回On对象自身。 472 473**系统能力**:SystemCapability.Test.UiTest 474 475**参数:** 476 477| 参数名 | 类型 | 必填 | 说明 | 478| ------ | ---------- | ---- | -------------------- | 479| on | [On](#on9) | 是 | 特征控件的属性要求。 | 480 481**返回值:** 482 483| 类型 | 说明 | 484| ---------- | ---------------------------------------------------- | 485| [On](#on9) | 返回指定目标控件位于给出的特征属性控件之前的On对象。 | 486 487**示例:** 488 489```ts 490import { On, ON } from '@ohos.UiTest'; 491 492// 使用静态构造器ON创建On对象,指定目标控件位于给出的特征属性控件之前。 493let on:On = ON.type('Button').isBefore(ON.text('123')); // 查找text为123之前的第一个Button组件 494``` 495 496### isAfter<sup>9+</sup> 497 498isAfter(on: On): On 499 500指定目标控件位于给出的特征属性控件之后,返回On对象自身。 501 502**系统能力**:SystemCapability.Test.UiTest 503 504**参数:** 505 506| 参数名 | 类型 | 必填 | 说明 | 507| ------ | ---------- | ---- | -------------------- | 508| on | [On](#on9) | 是 | 特征控件的属性要求。 | 509 510**返回值:** 511 512| 类型 | 说明 | 513| ---------- | ---------------------------------------------------- | 514| [On](#on9) | 返回指定目标控件位于给出的特征属性控件之后的On对象。 | 515 516**示例:** 517 518```ts 519import { On, ON } from '@ohos.UiTest'; 520 521// 使用静态构造器ON创建On对象,指定目标控件位于给出的特征属性控件之后。 522let on:On = ON.type('Text').isAfter(ON.text('123')) // 查找 text为123之后的第一个Text组件 523``` 524 525### within<sup>10+</sup> 526 527within(on: On): On 528 529指定目标控件位于给出的特征属性控件之内,返回On对象自身。 530 531**系统能力**:SystemCapability.Test.UiTest 532 533**参数:** 534 535| 参数名 | 类型 | 必填 | 说明 | 536| ------ | ---------- | ---- | -------------------- | 537| on | [On](#on9) | 是 | 特征控件的属性要求。 | 538 539**返回值:** 540 541| 类型 | 说明 | 542| ---------- | -------------------------------------------------- | 543| [On](#on9) | 返回指定目标控件位于给出的特征属性控件内的On对象。 | 544 545**示例:** 546 547```ts 548import { On, ON } from '@ohos.UiTest'; 549// 使用静态构造器ON创建On对象,指定目标控件位于给出的特征属性控件之内。 550let on:On = ON.text('java').within(ON.type('Scroll')); // 查找Scroller里面的text为java的子组件 551``` 552 553### inWindow<sup>10+</sup> 554 555inWindow(bundleName: string): On; 556 557指定目标控件位于给出的应用窗口内,返回On对象自身。 558 559**系统能力**:SystemCapability.Test.UiTest 560 561**参数:** 562 563| 参数名 | 类型 | 必填 | 说明 | 564| ---------- | ------ | ---- | ---------------- | 565| bundleName | string | 是 | 应用窗口的包名。 | 566 567**返回值:** 568 569| 类型 | 说明 | 570| ---------- | ---------------------------------------------- | 571| [On](#on9) | 返回指定目标控件位于给出的应用窗口内的On对象。 | 572 573**示例:** 574 575```ts 576import { On, ON } from '@ohos.UiTest'; 577let on:On = ON.inWindow('com.uitestScene.acts'); // 使用静态构造器ON创建On对象,指定目标控件位于给出的应用窗口内。 578``` 579 580## Component<sup>9+</sup> 581 582UiTest框架在API9中,Component类代表了UI界面上的一个控件,提供控件属性获取,控件点击,滑动查找,文本注入等API。 583该类提供的所有方法都使用Promise方式作为异步方法,需使用await调用。 584 585### click<sup>9+</sup> 586 587click(): Promise\<void> 588 589控件对象进行点击操作。 590 591**系统能力**:SystemCapability.Test.UiTest 592 593**错误码:** 594 595以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 596 597| 错误码ID | 错误信息 | 598| -------- | ---------------------------------------- | 599| 17000002 | if the async function was not called with await. | 600| 17000004 | if the component is invisible or destroyed. | 601 602**示例:** 603 604```ts 605import { Driver, ON, Component } from '@ohos.UiTest'; 606async function demo() { 607 let driver:Driver = Driver.create(); 608 let button: Component = await driver.findComponent(ON.type('Button')); 609 await button.click(); 610} 611``` 612 613### doubleClick<sup>9+</sup> 614 615doubleClick(): Promise\<void> 616 617控件对象进行双击操作。 618 619**系统能力**:SystemCapability.Test.UiTest 620 621**错误码:** 622 623以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 624 625| 错误码ID | 错误信息 | 626| -------- | ---------------------------------------- | 627| 17000002 | if the async function was not called with await. | 628| 17000004 | if the component is invisible or destroyed. | 629 630**示例:** 631 632```ts 633import {Component, Driver, ON } from '@ohos.UiTest'; 634async function demo() { 635 let driver: Driver = Driver.create(); 636 let button: Component = await driver.findComponent(ON.type('Button')); 637 await button.doubleClick(); 638} 639``` 640 641### longClick<sup>9+</sup> 642 643longClick(): Promise\<void> 644 645控件对象进行长按操作。 646 647**系统能力**:SystemCapability.Test.UiTest 648 649**错误码:** 650 651以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 652 653| 错误码ID | 错误信息 | 654| -------- | ---------------------------------------- | 655| 17000002 | if the async function was not called with await. | 656| 17000004 | if the component is invisible or destroyed. | 657 658**示例:** 659 660```ts 661import { Component, Driver, ON } from '@ohos.UiTest'; 662async function demo() { 663 let driver: Driver = Driver.create(); 664 let button: Component = await driver.findComponent(ON.type('Button')); 665 await button.longClick(); 666} 667``` 668 669### getId<sup>9+</sup> 670 671getId(): Promise\<string> 672 673获取控件对象的id值。 674 675**系统能力**:SystemCapability.Test.UiTest 676 677**返回值:** 678 679| 类型 | 说明 | 680| ---------------- | ------------------------------- | 681| Promise\<string> | 以Promise形式返回的控件的id值。 | 682 683**错误码:** 684 685以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 686 687| 错误码ID | 错误信息 | 688| -------- | ---------------------------------------- | 689| 17000002 | if the async function was not called with await. | 690| 17000004 | if the component is invisible or destroyed. | 691 692**示例:** 693 694```ts 695import { Component, Driver, ON } from '@ohos.UiTest'; 696async function demo() { 697 let driver: Driver = Driver.create(); 698 let button: Component = await driver.findComponent(ON.type('Button')); 699 let id = await button.getId(); 700} 701``` 702 703### getText<sup>9+</sup> 704 705getText(): Promise\<string> 706 707获取控件对象的文本信息。 708 709**系统能力**:SystemCapability.Test.UiTest 710 711**返回值:** 712 713| 类型 | 说明 | 714| ---------------- | --------------------------------- | 715| Promise\<string> | 以Promise形式返回控件的文本信息。 | 716 717**错误码:** 718 719以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 720 721| 错误码ID | 错误信息 | 722| -------- | ---------------------------------------- | 723| 17000002 | if the async function was not called with await. | 724| 17000004 | if the component is invisible or destroyed. | 725 726**示例:** 727 728```ts 729import { Component, Driver, ON } from '@ohos.UiTest'; 730async function demo() { 731 let driver: Driver = Driver.create(); 732 let button: Component = await driver.findComponent(ON.type('Button')); 733 let text = await button.getText(); 734} 735``` 736 737### getType<sup>9+</sup> 738 739getType(): Promise\<string> 740 741获取控件对象的控件类型。 742 743**系统能力**:SystemCapability.Test.UiTest 744 745**返回值:** 746 747| 类型 | 说明 | 748| ---------------- | ----------------------------- | 749| Promise\<string> | 以Promise形式返回控件的类型。 | 750 751**错误码:** 752 753以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 754 755| 错误码ID | 错误信息 | 756| -------- | ---------------------------------------- | 757| 17000002 | if the async function was not called with await. | 758| 17000004 | if the component is invisible or destroyed. | 759 760**示例:** 761 762```ts 763import { Component, Driver, ON } from '@ohos.UiTest'; 764async function demo() { 765 let driver: Driver = Driver.create(); 766 let button: Component = await driver.findComponent(ON.type('Button')); 767 let type = await button.getType(); 768} 769``` 770 771### getBounds<sup>9+</sup> 772 773getBounds(): Promise\<Rect> 774 775获取控件对象的边框信息。 776 777**系统能力**:SystemCapability.Test.UiTest 778 779**返回值:** 780 781| 类型 | 说明 | 782| ------------------------ | ------------------------------------- | 783| Promise\<[Rect](#rect9)> | 以Promise形式返回控件对象的边框信息。 | 784 785**错误码:** 786 787以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 788 789| 错误码ID | 错误信息 | 790| -------- | ---------------------------------------- | 791| 17000002 | if the async function was not called with await. | 792| 17000004 | if the component is invisible or destroyed. | 793 794**示例:** 795 796```ts 797import { Component, Driver, ON } from '@ohos.UiTest'; 798async function demo() { 799 let driver: Driver = Driver.create(); 800 let button: Component = await driver.findComponent(ON.type('Button')); 801 let rect = await button.getBounds(); 802} 803``` 804 805### getBoundsCenter<sup>9+</sup> 806 807getBoundsCenter(): Promise\<Point> 808 809获取控件对象所占区域的中心点信息。 810 811**系统能力**:SystemCapability.Test.UiTest 812 813**返回值:** 814 815| 类型 | 说明 | 816| -------------------------- | ----------------------------------------------- | 817| Promise\<[Point](#point9)> | 以Promise形式返回控件对象所占区域的中心点信息。 | 818 819**错误码:** 820 821以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 822 823| 错误码ID | 错误信息 | 824| -------- | ---------------------------------------- | 825| 17000002 | if the async function was not called with await. | 826| 17000004 | if the component is invisible or destroyed. | 827 828**示例:** 829 830```ts 831import { Component, Driver, ON } from '@ohos.UiTest'; 832async function demo() { 833 let driver: Driver = Driver.create(); 834 let button: Component = await driver.findComponent(ON.type('Button')); 835 let point = await button.getBoundsCenter(); 836} 837``` 838 839### isClickable<sup>9+</sup> 840 841isClickable(): Promise\<boolean> 842 843获取控件对象可点击属性。 844 845**系统能力**:SystemCapability.Test.UiTest 846 847**返回值:** 848 849| 类型 | 说明 | 850| ----------------- | ------------------------------------------------------------ | 851| Promise\<boolean> | 以Promise形式返回控件对象是否可点击,true:可点击,false:不可点击。 | 852 853**错误码:** 854 855以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 856 857| 错误码ID | 错误信息 | 858| -------- | ---------------------------------------- | 859| 17000002 | if the async function was not called with await. | 860| 17000004 | if the component is invisible or destroyed. | 861 862**示例:** 863 864```ts 865import { Component, Driver, ON } from '@ohos.UiTest'; 866async function demo() { 867 let driver: Driver = Driver.create(); 868 let button: Component = await driver.findComponent(ON.type('Button')); 869 if(await button.isClickable()) { 870 console.info('This button can be Clicked'); 871 } else { 872 console.info('This button can not be Clicked'); 873 } 874} 875``` 876 877### isLongClickable<sup>9+</sup> 878 879isLongClickable(): Promise\<boolean> 880 881获取控件对象可长按点击属性。 882 883**系统能力**:SystemCapability.Test.UiTest 884 885**返回值:** 886 887| 类型 | 说明 | 888| ----------------- |--------------------------------------------------| 889| Promise\<boolean> | 以Promise形式返回控件对象是否可长按点击,true:可长按点击,false:不可长按点击。 | 890 891**错误码:** 892 893以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 894 895| 错误码ID | 错误信息 | 896| -------- | ---------------------------------------- | 897| 17000002 | if the async function was not called with await. | 898| 17000004 | if the component is invisible or destroyed. | 899 900**示例:** 901 902```ts 903import { Component, Driver, ON } from '@ohos.UiTest'; 904async function demo() { 905 let driver: Driver = Driver.create(); 906 let button: Component = await driver.findComponent(ON.type('Button')); 907 if(await button.isLongClickable()) { 908 console.info('This button can longClick'); 909 } else { 910 console.info('This button can not longClick'); 911 } 912} 913``` 914 915### isChecked<sup>9+</sup> 916 917isChecked(): Promise\<boolean> 918 919获取控件对象被勾选状态。 920 921**系统能力**:SystemCapability.Test.UiTest 922 923**返回值:** 924 925| 类型 | 说明 | 926| ----------------- | ------------------------------------------------------------ | 927| Promise\<boolean> | 以Promise形式返回控件对象被勾选状态,true:被勾选,false:未被勾选。 | 928 929**错误码:** 930 931以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 932 933| 错误码ID | 错误信息 | 934| -------- | ---------------------------------------- | 935| 17000002 | if the async function was not called with await. | 936| 17000004 | if the component is invisible or destroyed. | 937 938**示例:** 939 940```ts 941import { Component, Driver, ON } from '@ohos.UiTest'; 942async function demo() { 943 let driver: Driver = Driver.create(); 944 let checkBox: Component = await driver.findComponent(ON.type('Checkbox')); 945 if(await checkBox.isChecked()) { 946 console.info('This checkBox is checked'); 947 } else { 948 console.info('This checkBox is not checked'); 949 } 950} 951``` 952 953### isCheckable<sup>9+</sup> 954 955isCheckable(): Promise\<boolean> 956 957获取控件对象能否被勾选属性。 958 959**系统能力**:SystemCapability.Test.UiTest 960 961**返回值:** 962 963| 类型 | 说明 | 964| ----------------- | ------------------------------------------------------------ | 965| Promise\<boolean> | 以Promise形式返回控件对象能否可被勾选属性,true:可被勾选,false:不可被勾选。 | 966 967**错误码:** 968 969以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 970 971| 错误码ID | 错误信息 | 972| -------- | ---------------------------------------- | 973| 17000002 | if the async function was not called with await. | 974| 17000004 | if the component is invisible or destroyed. | 975 976**示例:** 977 978```ts 979import { Component, Driver, ON } from '@ohos.UiTest'; 980async function demo() { 981 let driver: Driver = Driver.create(); 982 let checkBox: Component = await driver.findComponent(ON.type('Checkbox')); 983 if(await checkBox.isCheckable()) { 984 console.info('This checkBox is checkable'); 985 } else { 986 console.info('This checkBox is not checkable'); 987 } 988} 989``` 990 991### isScrollable<sup>9+</sup> 992 993isScrollable(): Promise\<boolean> 994 995获取控件对象可滑动属性。 996 997**系统能力**:SystemCapability.Test.UiTest 998 999**返回值:** 1000 1001| 类型 | 说明 | 1002| ----------------- | ------------------------------------------------------------ | 1003| Promise\<boolean> | 以Promise形式返回控件对象是否可滑动,true:可滑动,false:不可滑动。 | 1004 1005**错误码:** 1006 1007以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1008 1009| 错误码ID | 错误信息 | 1010| -------- | ---------------------------------------- | 1011| 17000002 | if the async function was not called with await. | 1012| 17000004 | if the component is invisible or destroyed. | 1013 1014**示例:** 1015 1016```ts 1017import { Component, Driver, ON } from '@ohos.UiTest'; 1018async function demo() { 1019 let driver: Driver = Driver.create(); 1020 let scrollBar: Component = await driver.findComponent(ON.scrollable(true)); 1021 if(await scrollBar.isScrollable()) { 1022 console.info('This scrollBar can be operated'); 1023 } else { 1024 console.info('This scrollBar can not be operated'); 1025 } 1026} 1027``` 1028 1029 1030### isEnabled<sup>9+</sup> 1031 1032isEnabled(): Promise\<boolean> 1033 1034获取控件使能状态。 1035 1036**系统能力**:SystemCapability.Test.UiTest 1037 1038**返回值:** 1039 1040| 类型 | 说明 | 1041| ----------------- | ---------------------------------------------------------- | 1042| Promise\<boolean> | 以Promise形式返回控件使能状态,true:使能,false:未使能。 | 1043 1044**错误码:** 1045 1046以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1047 1048| 错误码ID | 错误信息 | 1049| -------- | ---------------------------------------- | 1050| 17000002 | if the async function was not called with await. | 1051| 17000004 | if the component is invisible or destroyed. | 1052 1053**示例:** 1054 1055```ts 1056import { Component, Driver, ON } from '@ohos.UiTest'; 1057async function demo() { 1058 let driver: Driver = Driver.create(); 1059 let button: Component = await driver.findComponent(ON.type('Button')); 1060 if(await button.isEnabled()) { 1061 console.info('This button can be operated'); 1062 } else { 1063 console.info('This button can not be operated'); 1064 } 1065} 1066``` 1067 1068### isFocused<sup>9+</sup> 1069 1070isFocused(): Promise\<boolean> 1071 1072判断控件对象获焦状态。 1073 1074**系统能力**:SystemCapability.Test.UiTest 1075 1076**返回值:** 1077 1078| 类型 | 说明 | 1079| ----------------- | ------------------------------------------------------------ | 1080| Promise\<boolean> | 以Promise形式返回控件对象获焦状态,true:获焦,false:未获焦。 | 1081 1082**错误码:** 1083 1084以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1085 1086| 错误码ID | 错误信息 | 1087| -------- | ---------------------------------------- | 1088| 17000002 | if the async function was not called with await. | 1089| 17000004 | if the component is invisible or destroyed. | 1090 1091**示例:** 1092 1093```ts 1094import { Component, Driver, ON } from '@ohos.UiTest'; 1095async function demo() { 1096 let driver: Driver = Driver.create(); 1097 let button: Component = await driver.findComponent(ON.type('Button')); 1098 if(await button.isFocused()) { 1099 console.info('This button is focused'); 1100 } else { 1101 console.info('This button is not focused'); 1102 } 1103} 1104``` 1105 1106### isSelected<sup>9+</sup> 1107 1108isSelected(): Promise\<boolean> 1109 1110获取控件对象被选中状态。 1111 1112**系统能力**:SystemCapability.Test.UiTest 1113 1114**返回值:** 1115 1116| 类型 | 说明 | 1117| ----------------- | --------------------------------------------------- | 1118| Promise\<boolean> | 以Promise形式返回控件对象被选中状态,true:被选中,false:未被选中。 | 1119 1120**错误码:** 1121 1122以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1123 1124| 错误码ID | 错误信息 | 1125| -------- | ---------------------------------------- | 1126| 17000002 | if the async function was not called with await. | 1127| 17000004 | if the component is invisible or destroyed. | 1128 1129**示例:** 1130 1131```ts 1132import { Component, Driver, ON } from '@ohos.UiTest'; 1133async function demo() { 1134 let driver: Driver = Driver.create(); 1135 let button: Component = await driver.findComponent(ON.type('Button')); 1136 if(await button.isSelected()) { 1137 console.info('This button is selected'); 1138 } else { 1139 console.info('This button is not selected'); 1140 } 1141} 1142``` 1143 1144### inputText<sup>9+</sup> 1145 1146inputText(text: string): Promise\<void> 1147 1148向控件中输入文本(适用于文本框控件)。 1149 1150**系统能力**:SystemCapability.Test.UiTest 1151 1152**参数:** 1153 1154| 参数名 | 类型 | 必填 | 说明 | 1155| ------ | ------ | ---- | ---------------------------------------- | 1156| text | string | 是 | 输入的文本信息,当前支持英文和特殊字符。 | 1157 1158**错误码:** 1159 1160以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1161 1162| 错误码ID | 错误信息 | 1163| -------- | ---------------------------------------- | 1164| 17000002 | if the async function was not called with await. | 1165| 17000004 | if the component is invisible or destroyed. | 1166 1167**示例:** 1168 1169```ts 1170import { Component, Driver, ON } from '@ohos.UiTest'; 1171async function demo() { 1172 let driver: Driver = Driver.create(); 1173 let text: Component = await driver.findComponent(ON.text('hello world')); 1174 await text.inputText('123'); 1175} 1176``` 1177 1178### clearText<sup>9+</sup> 1179 1180clearText(): Promise\<void> 1181 1182清除控件的文本信息(适用于文本框控件)。 1183 1184**系统能力**:SystemCapability.Test.UiTest 1185 1186**错误码:** 1187以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1188 1189| 错误码ID | 错误信息 | 1190| -------- | ---------------------------------------- | 1191| 17000002 | if the async function was not called with await. | 1192| 17000004 | if the component is invisible or destroyed. | 1193 1194**示例:** 1195 1196```ts 1197import { Component, Driver, ON } from '@ohos.UiTest'; 1198async function demo() { 1199 let driver: Driver = Driver.create(); 1200 let text: Component = await driver.findComponent(ON.text('hello world')); 1201 await text.clearText(); 1202} 1203``` 1204 1205### scrollSearch<sup>9+</sup> 1206 1207scrollSearch(on: On): Promise\<Component> 1208 1209在控件上滑动查找目标控件(适用支持滑动的控件)。 1210 1211**系统能力**:SystemCapability.Test.UiTest 1212 1213**参数:** 1214 1215| 参数名 | 类型 | 必填 | 说明 | 1216| ------ | ---------- | ---- | -------------------- | 1217| on | [On](#on9) | 是 | 目标控件的属性要求。 | 1218 1219**返回值:** 1220 1221| 类型 | 说明 | 1222| ---------------------------------- | ------------------------------------- | 1223| Promise\<[Component](#component9)> | 以Promise形式返回找到的目标控件对象。 | 1224 1225**错误码:** 1226 1227以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1228 1229| 错误码ID | 错误信息 | 1230| -------- | ---------------------------------------- | 1231| 17000002 | if the async function was not called with await. | 1232| 17000004 | if the component is invisible or destroyed. | 1233 1234**示例:** 1235 1236```ts 1237import { Component, Driver, ON } from '@ohos.UiTest'; 1238async function demo() { 1239 let driver: Driver = Driver.create(); 1240 let scrollBar: Component = await driver.findComponent(ON.type('Scroll')); 1241 let button = await scrollBar.scrollSearch(ON.text('next page')); 1242} 1243``` 1244 1245### scrollToTop<sup>9+</sup> 1246 1247scrollToTop(speed?: number): Promise\<void> 1248 1249在控件上滑动到顶部(适用支持滑动的控件)。 1250 1251**系统能力**:SystemCapability.Test.UiTest 1252 1253**参数:** 1254 1255| 参数名 | 类型 | 必填 | 说明 | 1256| ------ | ------ | ---- | ------------------------------------------------------------ | 1257| speed | number | 否 | 滑动速率,范围:200-40000,不在范围内设为默认值为600,单位:像素点/秒。 | 1258 1259**错误码:** 1260 1261以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1262 1263| 错误码ID | 错误信息 | 1264| -------- | ---------------------------------------- | 1265| 17000002 | if the async function was not called with await. | 1266| 17000004 | if the component is invisible or destroyed. | 1267 1268**示例:** 1269 1270```ts 1271import { Component, Driver, ON } from '@ohos.UiTest'; 1272async function demo() { 1273 let driver: Driver = Driver.create(); 1274 let scrollBar: Component = await driver.findComponent(ON.type('Scroll')); 1275 await scrollBar.scrollToTop(); 1276} 1277``` 1278 1279### scrollToBottom<sup>9+</sup> 1280 1281scrollToBottom(speed?: number): Promise\<void> 1282 1283在控件上滑动到底部(适用支持滑动的控件)。 1284 1285**系统能力**:SystemCapability.Test.UiTest 1286 1287**参数:** 1288 1289| 参数名 | 类型 | 必填 | 说明 | 1290| ------ | ------ | ---- | ------------------------------------------------------------ | 1291| speed | number | 否 | 滑动速率,范围:200-40000,不在范围内设为默认值为600,单位:像素点/秒。 | 1292 1293**错误码:** 1294 1295以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1296 1297| 错误码ID | 错误信息 | 1298| -------- | ---------------------------------------- | 1299| 17000002 | if the async function was not called with await. | 1300| 17000004 | if the component is invisible or destroyed. | 1301 1302**示例:** 1303 1304```ts 1305import { Component, Driver, ON } from '@ohos.UiTest'; 1306async function demo() { 1307 let driver: Driver = Driver.create(); 1308 let scrollBar: Component = await driver.findComponent(ON.type('Scroll')); 1309 await scrollBar.scrollToBottom(); 1310} 1311``` 1312 1313### dragTo<sup>9+</sup> 1314 1315dragTo(target: Component): Promise\<void> 1316 1317将控件拖拽至目标控件处。 1318 1319**系统能力**:SystemCapability.Test.UiTest 1320 1321**参数:** 1322 1323| 参数名 | 类型 | 必填 | 说明 | 1324| ------ | ------------------------ | ---- | ---------- | 1325| target | [Component](#component9) | 是 | 目标控件。 | 1326 1327**错误码:** 1328 1329以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1330 1331| 错误码ID | 错误信息 | 1332| -------- | ---------------------------------------- | 1333| 17000002 | if the async function was not called with await. | 1334| 17000004 | if the component is invisible or destroyed. | 1335 1336**示例:** 1337 1338```ts 1339import { Component, Driver, ON } from '@ohos.UiTest'; 1340async function demo() { 1341 let driver: Driver = Driver.create(); 1342 let button: Component = await driver.findComponent(ON.type('Button')); 1343 let text: Component = await driver.findComponent(ON.text('hello world')); 1344 await button.dragTo(text); 1345} 1346``` 1347 1348### pinchOut<sup>9+</sup> 1349 1350pinchOut(scale: number): Promise\<void> 1351 1352将控件按指定的比例进行捏合放大。 1353 1354**系统能力**:SystemCapability.Test.UiTest 1355 1356**参数:** 1357 1358| 参数名 | 类型 | 必填 | 说明 | 1359| ------ | ------ | ---- | ---------------- | 1360| scale | number | 是 | 指定放大的比例。 | 1361 1362**错误码:** 1363 1364以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1365 1366| 错误码ID | 错误信息 | 1367| -------- | ---------------------------------------- | 1368| 17000002 | if the async function was not called with await. | 1369| 17000004 | if the component is invisible or destroyed. | 1370 1371**示例:** 1372 1373```ts 1374import { Component, Driver, ON } from '@ohos.UiTest'; 1375async function demo() { 1376 let driver: Driver = Driver.create(); 1377 let image: Component = await driver.findComponent(ON.type('Image')); 1378 await image.pinchOut(1.5); 1379} 1380``` 1381 1382### pinchIn<sup>9+</sup> 1383 1384pinchIn(scale: number): Promise\<void> 1385 1386将控件按指定的比例进行捏合缩小。 1387 1388**系统能力**:SystemCapability.Test.UiTest 1389 1390**参数:** 1391 1392| 参数名 | 类型 | 必填 | 说明 | 1393| ------ | ------ | ---- | ---------------- | 1394| scale | number | 是 | 指定缩小的比例。 | 1395 1396**错误码:** 1397 1398以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1399 1400| 错误码ID | 错误信息 | 1401| -------- | ---------------------------------------- | 1402| 17000002 | if the async function was not called with await. | 1403| 17000004 | if the component is invisible or destroyed. | 1404 1405**示例:** 1406 1407```ts 1408import { Component, Driver, ON } from '@ohos.UiTest'; 1409async function demo() { 1410 let driver: Driver = Driver.create(); 1411 let image: Component = await driver.findComponent(ON.type('Image')); 1412 await image.pinchIn(0.5); 1413} 1414``` 1415 1416## Driver<sup>9+</sup> 1417 1418Driver类为uitest测试框架的总入口,提供控件匹配/查找,按键注入,坐标点击/滑动,截图等能力。 1419该类提供的方法除Driver.create()以外的所有方法都使用Promise方式作为异步方法,需使用await方式调用。 1420 1421### create<sup>9+</sup> 1422 1423static create(): Driver 1424 1425静态方法,构造一个Driver对象,并返回该对象。 1426 1427**系统能力**:SystemCapability.Test.UiTest 1428 1429**返回值:** 1430 1431| 类型 | 说明 | 1432| -------- | ---------------------- | 1433| Driver | 返回构造的Driver对象。 | 1434 1435**错误码:** 1436 1437以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1438 1439| 错误码ID | 错误信息 | 1440| -------- | ------------------ | 1441| 17000001 | if the test framework failed to initialize. | 1442 1443**示例:** 1444 1445```ts 1446import { Driver } from '@ohos.UiTest'; 1447async function demo() { 1448 let driver: Driver = Driver.create(); 1449} 1450``` 1451 1452### delayMs<sup>9+</sup> 1453 1454delayMs(duration: number): Promise\<void> 1455 1456Driver对象在给定的时间内延时。 1457 1458**系统能力**:SystemCapability.Test.UiTest 1459 1460**参数:** 1461 1462| 参数名 | 类型 | 必填 | 说明 | 1463| -------- | ------ | ---- | ---------------------- | 1464| duration | number | 是 | 给定的时间,单位:ms。 | 1465 1466**错误码:** 1467 1468以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1469 1470| 错误码ID | 错误信息 | 1471| -------- | ---------------------------------------- | 1472| 17000002 | if the async function was not called with await. | 1473 1474**示例:** 1475 1476```ts 1477import { Driver } from '@ohos.UiTest'; 1478async function demo() { 1479 let driver: Driver = Driver.create(); 1480 await driver.delayMs(1000); 1481} 1482``` 1483 1484### findComponent<sup>9+</sup> 1485 1486findComponent(on: On): Promise\<Component> 1487 1488在Driver对象中,根据给出的目标控件属性要求查找目标控件。 1489 1490**系统能力**:SystemCapability.Test.UiTest 1491 1492**参数:** 1493 1494| 参数名 | 类型 | 必填 | 说明 | 1495| ------ | ---------- | ---- | -------------------- | 1496| on | [On](#on9) | 是 | 目标控件的属性要求。 | 1497 1498**返回值:** 1499 1500| 类型 | 说明 | 1501| ---------------------------------- | --------------------------------- | 1502| Promise\<[Component](#component9)> | 以Promise形式返回找到的控件对象。 | 1503 1504**错误码:** 1505 1506以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1507 1508| 错误码ID | 错误信息 | 1509| -------- | ---------------------------------------- | 1510| 17000002 | if the async function was not called with await. | 1511 1512**示例:** 1513 1514```ts 1515import { Component, Driver, ON } from '@ohos.UiTest'; 1516async function demo() { 1517 let driver: Driver = Driver.create(); 1518 let button: Component = await driver.findComponent(ON.text('next page')); 1519} 1520``` 1521 1522### findComponents<sup>9+</sup> 1523 1524findComponents(on: On): Promise\<Array\<Component>> 1525 1526在Driver对象中,根据给出的目标控件属性要求查找出所有匹配控件,以列表保存。 1527 1528**系统能力**:SystemCapability.Test.UiTest 1529 1530**参数:** 1531 1532| 参数名 | 类型 | 必填 | 说明 | 1533| ------ | ---------- | ---- | -------------------- | 1534| on | [On](#on9) | 是 | 目标控件的属性要求。 | 1535 1536**返回值:** 1537 1538| 类型 | 说明 | 1539| ------------------------------------------ | --------------------------------------- | 1540| Promise\<Array\<[Component](#component9)>> | 以Promise形式返回找到的控件对象的列表。 | 1541 1542**错误码:** 1543 1544以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1545 1546| 错误码ID | 错误信息 | 1547| -------- | ---------------------------------------- | 1548| 17000002 | if the async function was not called with await. | 1549 1550**示例:** 1551 1552```ts 1553import { Component, Driver, ON } from '@ohos.UiTest'; 1554async function demo() { 1555 let driver: Driver = Driver.create(); 1556 let buttonList: Array<Component> = await driver.findComponents(ON.text('next page')); 1557} 1558``` 1559 1560### findWindow<sup>9+</sup> 1561 1562findWindow(filter: WindowFilter): Promise\<UiWindow> 1563 1564通过指定窗口的属性来查找目标窗口。 1565 1566**系统能力**:SystemCapability.Test.UiTest 1567 1568**参数:** 1569 1570| 参数名 | 类型 | 必填 | 说明 | 1571| ------ | ------------------------------ | ---- | ---------------- | 1572| filter | [WindowFilter](#windowfilter9) | 是 | 目标窗口的属性。 | 1573 1574**返回值:** 1575 1576| 类型 | 说明 | 1577| -------------------------------- | ------------------------------------- | 1578| Promise\<[UiWindow](#uiwindow9)> | 以Promise形式返回找到的目标窗口对象。 | 1579 1580**错误码:** 1581 1582以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1583 1584| 错误码ID | 错误信息 | 1585| -------- | ---------------------------------------- | 1586| 17000002 | if the async function was not called with await. | 1587 1588**示例:** 1589 1590```ts 1591import { Driver, UiWindow } from '@ohos.UiTest'; 1592async function demo() { 1593 let driver: Driver = Driver.create(); 1594 let window: UiWindow = await driver.findWindow({actived: true}); 1595} 1596``` 1597 1598### waitForComponent<sup>9+</sup> 1599 1600waitForComponent(on: On, time: number): Promise\<Component> 1601 1602在Driver对象中,在用户给定的时间内,持续查找满足控件属性要求的目标控件。 1603 1604**系统能力**:SystemCapability.Test.UiTest 1605 1606**参数:** 1607 1608| 参数名 | 类型 | 必填 | 说明 | 1609| ------ | ---------- | ---- | -------------------------------- | 1610| On | [On](#on9) | 是 | 目标控件的属性要求。 | 1611| time | number | 是 | 查找目标控件的持续时间。单位ms。 | 1612 1613**返回值:** 1614 1615| 类型 | 说明 | 1616| --------------------------------- | --------------------------------- | 1617| Promise\<[Component](#component9)> | 以Promise形式返回找到的控件对象。 | 1618 1619**错误码:** 1620 1621以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1622 1623| 错误码ID | 错误信息 | 1624| -------- | ---------------------------------------- | 1625| 17000002 | if the async function was not called with await. | 1626 1627**示例:** 1628 1629```ts 1630import { Component, Driver, ON } from '@ohos.UiTest'; 1631async function demo() { 1632 let driver: Driver = Driver.create(); 1633 let button: Component = await driver.waitForComponent(ON.text('next page'),500); 1634} 1635``` 1636 1637### assertComponentExist<sup>9+</sup> 1638 1639assertComponentExist(on: On): Promise\<void> 1640 1641断言API,用于断言当前界面是否存在满足给出的目标属性的控件。 1642 1643**系统能力**:SystemCapability.Test.UiTest 1644 1645**参数:** 1646 1647| 参数名 | 类型 | 必填 | 说明 | 1648| ------ | ---------- | ---- | -------------------- | 1649| on | [On](#on9) | 是 | 目标控件的属性要求。 | 1650 1651**错误码:** 1652 1653以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1654 1655| 错误码ID | 错误信息 | 1656| -------- | ---------------------------------------- | 1657| 17000002 | if the async function was not called with await. | 1658| 17000003 | if the assertion failed. | 1659 1660**示例:** 1661 1662```ts 1663import { Driver, ON } from '@ohos.UiTest'; 1664async function demo() { 1665 let driver: Driver = Driver.create(); 1666 await driver.assertComponentExist(ON.text('next page')); 1667} 1668``` 1669 1670### pressBack<sup>9+</sup> 1671 1672pressBack(): Promise\<void> 1673 1674Driver对象进行点击BACK键的操作。 1675 1676**系统能力**:SystemCapability.Test.UiTest 1677 1678**错误码:** 1679 1680以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1681 1682| 错误码ID | 错误信息 | 1683| -------- | ---------------------------------------- | 1684| 17000002 | if the async function was not called with await. | 1685 1686**示例:** 1687 1688```ts 1689import { Driver } from '@ohos.UiTest'; 1690async function demo() { 1691 let driver: Driver = Driver.create(); 1692 await driver.pressBack(); 1693} 1694``` 1695 1696### triggerKey<sup>9+</sup> 1697 1698triggerKey(keyCode: number): Promise\<void> 1699 1700Driver对象采取如下操作:传入key值实现模拟点击对应按键的效果。 1701 1702**系统能力**:SystemCapability.Test.UiTest 1703 1704**参数:** 1705 1706| 参数名 | 类型 | 必填 | 说明 | 1707| ------- | ------ | ---- | ------------- | 1708| keyCode | number | 是 | 指定的key值。 | 1709 1710**错误码:** 1711 1712以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1713 1714| 错误码ID | 错误信息 | 1715| -------- | ---------------------------------------- | 1716| 17000002 | if the async function was not called with await. | 1717 1718**示例:** 1719 1720```ts 1721import { Driver } from '@ohos.UiTest'; 1722async function demo() { 1723 let driver: Driver = Driver.create(); 1724 await driver.triggerKey(123); 1725} 1726``` 1727 1728### triggerCombineKeys<sup>9+</sup> 1729 1730triggerCombineKeys(key0: number, key1: number, key2?: number): Promise\<void> 1731 1732Driver对象通过给定的key值,找到对应组合键并点击。例如,Key值为(2072, 2019)时,Driver对象找到key值对应的组合键并点击,如ctrl+c。 1733 1734**系统能力**:SystemCapability.Test.UiTest 1735 1736**参数:** 1737 1738| 参数名 | 类型 | 必填 | 说明 | 1739| ------ | ------ | ---- | ------------------------------ | 1740| key0 | number | 是 | 指定的第一个key值。 | 1741| key1 | number | 是 | 指定的第二个key值。 | 1742| key2 | number | 否 | 指定的第三个key值。默认值为0。 | 1743 1744**错误码:** 1745 1746以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1747 1748| 错误码ID | 错误信息 | 1749| -------- | ---------------------------------------- | 1750| 17000002 | if the async function was not called with await. | 1751 1752**示例:** 1753 1754```ts 1755import { Driver } from '@ohos.UiTest'; 1756async function demo() { 1757 let driver: Driver = Driver.create(); 1758 await driver.triggerCombineKeys(2072, 2047, 2035); 1759} 1760``` 1761 1762 1763### click<sup>9+</sup> 1764 1765click(x: number, y: number): Promise\<void> 1766 1767Driver对象采取如下操作:在目标坐标点单击。 1768 1769**系统能力**:SystemCapability.Test.UiTest 1770 1771**参数:** 1772 1773| 参数名 | 类型 | 必填 | 说明 | 1774| ------ | ------ | ---- | -------------------------------------- | 1775| x | number | 是 | 以number的形式传入目标点的横坐标信息。 | 1776| y | number | 是 | 以number的形式传入目标点的纵坐标信息。 | 1777 1778**错误码:** 1779 1780以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1781 1782| 错误码ID | 错误信息 | 1783| -------- | ---------------------------------------- | 1784| 17000002 | if the async function was not called with await. | 1785 1786**示例:** 1787 1788```ts 1789import { Driver } from '@ohos.UiTest'; 1790async function demo() { 1791 let driver: Driver = Driver.create(); 1792 await driver.click(100,100); 1793} 1794``` 1795 1796### doubleClick<sup>9+</sup> 1797 1798doubleClick(x: number, y: number): Promise\<void> 1799 1800Driver对象采取如下操作:在目标坐标点双击。 1801 1802**系统能力**:SystemCapability.Test.UiTest 1803 1804**参数:** 1805 1806| 参数名 | 类型 | 必填 | 说明 | 1807| ------ | ------ | ---- | -------------------------------------- | 1808| x | number | 是 | 以number的形式传入目标点的横坐标信息。 | 1809| y | number | 是 | 以number的形式传入目标点的纵坐标信息。 | 1810 1811**错误码:** 1812 1813以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1814 1815| 错误码ID | 错误信息 | 1816| -------- | ---------------------------------------- | 1817| 17000002 | if the async function was not called with await. | 1818 1819**示例:** 1820 1821```ts 1822import { Driver } from '@ohos.UiTest'; 1823async function demo() { 1824 let driver: Driver = Driver.create(); 1825 await driver.doubleClick(100,100); 1826} 1827``` 1828 1829### longClick<sup>9+</sup> 1830 1831longClick(x: number, y: number): Promise\<void> 1832 1833Driver对象采取如下操作:在目标坐标点长按。 1834 1835**系统能力**:SystemCapability.Test.UiTest 1836 1837**参数:** 1838 1839| 参数名 | 类型 | 必填 | 说明 | 1840| ------ | ------ | ---- | -------------------------------------- | 1841| x | number | 是 | 以number的形式传入目标点的横坐标信息。 | 1842| y | number | 是 | 以number的形式传入目标点的纵坐标信息。 | 1843 1844**错误码:** 1845 1846以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1847 1848| 错误码ID | 错误信息 | 1849| -------- | ---------------------------------------- | 1850| 17000002 | if the async function was not called with await. | 1851 1852**示例:** 1853 1854```ts 1855import { Driver } from '@ohos.UiTest'; 1856async function demo() { 1857 let driver: Driver = Driver.create(); 1858 await driver.longClick(100,100); 1859} 1860``` 1861 1862### swipe<sup>9+</sup> 1863 1864swipe(startx: number, starty: number, endx: number, endy: number, speed?: number): Promise\<void> 1865 1866Driver对象采取如下操作:从起始坐标点滑向目的坐标点。 1867 1868**系统能力**:SystemCapability.Test.UiTest 1869 1870**参数:** 1871 1872| 参数名 | 类型 | 必填 | 说明 | 1873| ------ | ------ | ---- | ------------------------------------------------------------ | 1874| startx | number | 是 | 以number的形式传入起始点的横坐标信息。 | 1875| starty | number | 是 | 以number的形式传入起始点的纵坐标信息。 | 1876| endx | number | 是 | 以number的形式传入目的点的横坐标信息。 | 1877| endy | number | 是 | 以number的形式传入目的点的纵坐标信息。 | 1878| speed | number | 否 | 滑动速率,范围:200-40000,不在范围内设为默认值为600,单位:像素点/秒。 | 1879 1880**错误码:** 1881 1882以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1883 1884| 错误码ID | 错误信息 | 1885| -------- | ---------------------------------------- | 1886| 17000002 | if the async function was not called with await. | 1887 1888**示例:** 1889 1890```ts 1891import { Driver } from '@ohos.UiTest'; 1892async function demo() { 1893 let driver: Driver = Driver.create(); 1894 await driver.swipe(100,100,200,200,600); 1895} 1896``` 1897 1898### drag<sup>9+</sup> 1899 1900drag(startx: number, starty: number, endx: number, endy: number, speed?: number): Promise\<void> 1901 1902Driver对象采取如下操作:从起始坐标点拖拽至目的坐标点。 1903 1904**系统能力**:SystemCapability.Test.UiTest 1905 1906**参数:** 1907 1908| 参数名 | 类型 | 必填 | 说明 | 1909| ------ | ------ | ---- | ------------------------------------------------------------ | 1910| startx | number | 是 | 以number的形式传入起始点的横坐标信息。 | 1911| starty | number | 是 | 以number的形式传入起始点的纵坐标信息。 | 1912| endx | number | 是 | 以number的形式传入目的点的横坐标信息。 | 1913| endy | number | 是 | 以number的形式传入目的点的纵坐标信息。 | 1914| speed | number | 否 | 滑动速率,范围:200-15000,不在范围内设为默认值为600,单位:像素点/秒。 | 1915 1916**错误码:** 1917 1918以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1919 1920| 错误码ID | 错误信息 | 1921| -------- | ---------------------------------------- | 1922| 17000002 | if the async function was not called with await. | 1923 1924**示例:** 1925 1926```ts 1927import { Driver } from '@ohos.UiTest'; 1928async function demo() { 1929 let driver: Driver = Driver.create(); 1930 await driver.drag(100,100,200,200,600); 1931} 1932``` 1933 1934### screenCap<sup>9+</sup> 1935 1936screenCap(savePath: string): Promise\<boolean> 1937 1938Driver对象采取如下操作:捕获当前屏幕,并保存为PNG格式的图片至给出的保存路径中。 1939 1940**系统能力**:SystemCapability.Test.UiTest 1941 1942**参数:** 1943 1944| 参数名 | 类型 | 必填 | 说明 | 1945| -------- | ------ | ---- | -------------- | 1946| savePath | string | 是 | 文件保存路径。 | 1947 1948**返回值:** 1949 1950| 类型 | 说明 | 1951| ----------------- | -------------------------------------- | 1952| Promise\<boolean> | 以Promise形式返回截图操作是否成功完成。成功完成为true。 | 1953 1954**错误码:** 1955 1956以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1957 1958| 错误码ID | 错误信息 | 1959| -------- | ---------------------------------------- | 1960| 17000002 | if the async function was not called with await. | 1961 1962**示例:** 1963 1964```ts 1965import { Driver } from '@ohos.UiTest'; 1966async function demo() { 1967 let driver: Driver = Driver.create(); 1968 await driver.screenCap('/data/storage/el2/base/cache/1.png'); 1969} 1970``` 1971 1972### setDisplayRotation<sup>9+</sup> 1973 1974setDisplayRotation(rotation: DisplayRotation): Promise\<void> 1975 1976将设备的屏幕显示方向设置为指定的显示方向。 1977 1978**系统能力**:SystemCapability.Test.UiTest 1979 1980**参数:** 1981 1982| 参数名 | 类型 | 必填 | 说明 | 1983| -------- | ------------------------------------ | ---- | ---------------- | 1984| rotation | [DisplayRotation](#displayrotation9) | 是 | 设备的显示方向。 | 1985 1986**错误码:** 1987 1988以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 1989 1990| 错误码ID | 错误信息 | 1991| -------- | ---------------------------------------- | 1992| 17000002 | if the async function was not called with await. | 1993 1994**示例:** 1995 1996```ts 1997import { Driver, DisplayRotation } from '@ohos.UiTest'; 1998async function demo() { 1999 let driver: Driver = Driver.create(); 2000 await driver.setDisplayRotation(DisplayRotation.ROTATION_180); 2001} 2002``` 2003 2004### getDisplayRotation<sup>9+</sup> 2005 2006getDisplayRotation(): Promise\<DisplayRotation> 2007 2008获取当前设备的屏幕显示方向。 2009 2010**系统能力**:SystemCapability.Test.UiTest 2011 2012**返回值:** 2013 2014| 类型 | 说明 | 2015| ---------------------------------------------- | --------------------------------------- | 2016| Promise\<[DisplayRotation](#displayrotation9)> | 以Promise的形式返回当前设备的显示方向。 | 2017 2018**错误码:** 2019 2020以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2021 2022| 错误码ID | 错误信息 | 2023| -------- | ---------------------------------------- | 2024| 17000002 | if the async function was not called with await. | 2025 2026**示例:** 2027 2028```ts 2029import { DisplayRotation, Driver } from '@ohos.UiTest'; 2030async function demo() { 2031 let driver: Driver = Driver.create(); 2032 let rotation: DisplayRotation = await driver.getDisplayRotation(); 2033} 2034``` 2035 2036### setDisplayRotationEnabled<sup>9+</sup> 2037 2038setDisplayRotationEnabled(enabled: boolean): Promise\<void> 2039 2040启用/禁用设备旋转屏幕的功能。 2041 2042**系统能力**:SystemCapability.Test.UiTest 2043 2044**参数:** 2045 2046| 参数名 | 类型 | 必填 | 说明 | 2047| ------- | ------- | ---- | ------------------------------------------------------- | 2048| enabled | boolean | 是 | 能否旋转屏幕的标识,true:可以旋转,false:不可以旋转。 | 2049 2050**错误码:** 2051 2052以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2053 2054| 错误码ID | 错误信息 | 2055| -------- | ---------------------------------------- | 2056| 17000002 | if the async function was not called with await. | 2057 2058**示例:** 2059 2060```ts 2061import { Driver } from '@ohos.UiTest'; 2062async function demo() { 2063 let driver: Driver = Driver.create(); 2064 await driver.setDisplayRotationEnabled(false); 2065} 2066``` 2067 2068### getDisplaySize<sup>9+</sup> 2069 2070getDisplaySize(): Promise\<Point> 2071 2072获取当前设备的屏幕大小。 2073 2074**系统能力**:SystemCapability.Test.UiTest 2075 2076**返回值:** 2077 2078| 类型 | 说明 | 2079| -------------------------- | --------------------------------------- | 2080| Promise\<[Point](#point9)> | 以Promise的形式返回当前设备的屏幕大小。 | 2081 2082**错误码:** 2083 2084以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2085 2086| 错误码ID | 错误信息 | 2087| -------- | ---------------------------------------- | 2088| 17000002 | if the async function was not called with await. | 2089 2090**示例:** 2091 2092```ts 2093import { Driver, } from '@ohos.UiTest'; 2094 2095async function demo() { 2096 let driver: Driver = Driver.create(); 2097 let size = await driver.getDisplaySize(); 2098} 2099``` 2100 2101### getDisplayDensity<sup>9+</sup> 2102 2103getDisplayDensity(): Promise\<Point> 2104 2105获取当前设备屏幕的分辨率。 2106 2107**系统能力**:SystemCapability.Test.UiTest 2108 2109**返回值:** 2110 2111| 类型 | 说明 | 2112| -------------------------- | ----------------------------------------- | 2113| Promise\<[Point](#point9)> | 以Promise的形式返回当前设备屏幕的分辨率。 | 2114 2115**错误码:** 2116 2117以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2118 2119| 错误码ID | 错误信息 | 2120| -------- | ---------------------------------------- | 2121| 17000002 | if the async function was not called with await. | 2122 2123**示例:** 2124 2125```ts 2126import { Driver } from '@ohos.UiTest'; 2127async function demo() { 2128 let driver: Driver = Driver.create(); 2129 let density = await driver.getDisplayDensity(); 2130} 2131``` 2132 2133### wakeUpDisplay<sup>9+</sup> 2134 2135wakeUpDisplay(): Promise\<void> 2136 2137唤醒当前设备即设备亮屏。 2138 2139**系统能力**:SystemCapability.Test.UiTest 2140 2141**错误码:** 2142 2143以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2144 2145| 错误码ID | 错误信息 | 2146| -------- | ---------------------------------------- | 2147| 17000002 | if the async function was not called with await. | 2148 2149**示例:** 2150 2151```ts 2152import { Driver } from '@ohos.UiTest'; 2153async function demo() { 2154 let driver: Driver = Driver.create(); 2155 await driver.wakeUpDisplay(); 2156} 2157``` 2158 2159### pressHome<sup>9+</sup> 2160 2161pressHome(): Promise\<void> 2162 2163设备返回到桌面。 2164 2165**系统能力**:SystemCapability.Test.UiTest 2166 2167**错误码:** 2168 2169以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2170 2171| 错误码ID | 错误信息 | 2172| -------- | ---------------------------------------- | 2173| 17000002 | if the async function was not called with await. | 2174 2175**示例:** 2176 2177```ts 2178import { Driver } from '@ohos.UiTest'; 2179async function demo() { 2180 let driver: Driver = Driver.create(); 2181 await driver.pressHome(); 2182} 2183``` 2184 2185### waitForIdle<sup>9+</sup> 2186 2187waitForIdle(idleTime: number, timeout: number): Promise\<boolean> 2188 2189判断当前界面的所有控件是否已经空闲。 2190 2191**系统能力**:SystemCapability.Test.UiTest 2192 2193**参数:** 2194 2195| 参数名 | 类型 | 必填 | 说明 | 2196| -------- | ------ | ---- | ------------------------------------------------------------ | 2197| idleTime | number | 是 | 空闲时间的阈值。在这个时间段控件不发生变化,视为该控件空闲,单位:毫秒。 | 2198| timeout | number | 是 | 等待空闲的最大时间,单位:毫秒。 | 2199 2200**返回值:** 2201 2202| 类型 | 说明 | 2203| ----------------- | --------------------------------------------------- | 2204| Promise\<boolean> | 以Promise的形式返回当前界面的所有控件是否已经空闲。 | 2205 2206**错误码:** 2207 2208以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2209 2210| 错误码ID | 错误信息 | 2211| -------- | ---------------------------------------- | 2212| 17000002 | if the async function was not called with await. | 2213 2214**示例:** 2215 2216```ts 2217import { Driver } from '@ohos.UiTest'; 2218async function demo() { 2219 let driver: Driver = Driver.create(); 2220 let idled:boolean = await driver.waitForIdle(4000,5000); 2221} 2222``` 2223 2224### fling<sup>9+</sup> 2225 2226fling(from: Point, to: Point, stepLen: number, speed: number): Promise\<void> 2227 2228模拟手指滑动后脱离屏幕的快速滑动操作。 2229 2230**系统能力**:SystemCapability.Test.UiTest 2231 2232**参数:** 2233 2234| 参数名 | 类型 | 必填 | 说明 | 2235| ------- | ---------------- | ---- | ------------------------------------------------------------ | 2236| from | [Point](#point9) | 是 | 手指接触屏幕的起始点坐标。 | 2237| to | [Point](#point9) | 是 | 手指离开屏幕时的坐标点。 | 2238| stepLen | number | 是 | 间隔距离,单位:像素点。 | 2239| speed | number | 是 | 滑动速率,范围:200-40000,不在范围内设为默认值为600,单位:像素点/秒。 | 2240 2241**错误码:** 2242 2243以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2244 2245| 错误码ID | 错误信息 | 2246| -------- | ---------------------------------------- | 2247| 17000002 | if the async function was not called with await. | 2248 2249**示例:** 2250 2251```ts 2252import { Driver } from '@ohos.UiTest'; 2253async function demo() { 2254 let driver: Driver = Driver.create(); 2255 await driver.fling({x: 500, y: 480},{x: 450, y: 480},5,600); 2256} 2257``` 2258 2259### injectMultiPointerAction<sup>9+</sup> 2260 2261injectMultiPointerAction(pointers: PointerMatrix, speed?: number): Promise\<boolean> 2262 2263向设备注入多指操作。 2264 2265**系统能力**:SystemCapability.Test.UiTest 2266 2267**参数:** 2268 2269| 参数名 | 类型 | 必填 | 说明 | 2270| -------- | -------------------------------- | ---- | ------------------------------------------------------------ | 2271| pointers | [PointerMatrix](#pointermatrix9) | 是 | 滑动轨迹,包括操作手指个数和滑动坐标序列。 | 2272| speed | number | 否 | 滑动速率,范围:200-40000,不在范围内设为默认值为600,单位:像素点/秒。 | 2273 2274**返回值:** 2275 2276| 类型 | 说明 | 2277| ----------------- | ------------------------------------- | 2278| Promise\<boolean> | 以Promise的形式返回操作是否成功完成。 | 2279 2280**错误码:** 2281 2282以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2283 2284| 错误码ID | 错误信息 | 2285| -------- | ---------------------------------------- | 2286| 17000002 | if the async function was not called with await. | 2287 2288**示例:** 2289 2290```ts 2291import { Driver, PointerMatrix } from '@ohos.UiTest'; 2292async function demo() { 2293 let driver: Driver = Driver.create(); 2294 let pointers: PointerMatrix = PointerMatrix.create(2,3); 2295 pointers.setPoint(0,0,{x:230,y:480}); 2296 pointers.setPoint(0,1,{x:250,y:380}); 2297 pointers.setPoint(0,2,{x:270,y:280}); 2298 pointers.setPoint(1,0,{x:230,y:680}); 2299 pointers.setPoint(1,1,{x:240,y:580}); 2300 pointers.setPoint(1,2,{x:250,y:480}); 2301 await driver.injectMultiPointerAction(pointers); 2302} 2303``` 2304 2305### fling<sup>10+</sup> 2306 2307fling(direction: UiDirection, speed: number): Promise\<void>; 2308 2309指定方向和速度,模拟手指滑动后脱离屏幕的快速滑动操作。 2310 2311**系统能力**:SystemCapability.Test.UiTest 2312 2313**参数:** 2314 2315| 参数名 | 类型 | 必填 | 说明 | 2316| --------- | ----------------------------- | ---- | ------------------------------------------------------------ | 2317| direction | [UiDirection](#uidirection10) | 是 | 进行抛滑的方向。 | 2318| speed | number | 是 | 滑动速率,范围:200-40000,不在范围内设为默认值为600,单位:像素点/秒。 | 2319 2320**错误码:** 2321 2322以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2323 2324| 错误码ID | 错误信息 | 2325| -------- | ---------------------------------------- | 2326| 17000002 | if the async function was not called with await. | 2327 2328**示例:** 2329 2330```ts 2331import { Driver, UiDirection } from '@ohos.UiTest'; 2332async function demo() { 2333 let driver: Driver = Driver.create(); 2334 await driver.fling(UiDirection.DOWN, 10000); 2335} 2336``` 2337 2338### screenCapture<sup>10+</sup> 2339 2340screenCapture(savePath: string, rect?: Rect): Promise\<boolean>; 2341 2342捕获当前屏幕的指定区域,并保存为PNG格式的图片至给出的保存路径中。 2343 2344**系统能力**:SystemCapability.Test.UiTest 2345 2346**参数:** 2347 2348| 参数名 | 类型 | 必填 | 说明 | 2349| -------- | -------------- | ---- | ---------------------- | 2350| savePath | string | 是 | 文件保存路径。 | 2351| rect | [Rect](#rect9) | 否 | 截图区域,默认为全屏。 | 2352 2353**返回值:** 2354 2355| 类型 | 说明 | 2356| ----------------- | -------------------------------------- | 2357| Promise\<boolean> | 以Promise形式返回截图操作是否成功完成。成功完成为true。 | 2358 2359**错误码:** 2360 2361以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2362 2363| 错误码ID | 错误信息 | 2364| -------- | ---------------------------------------- | 2365| 17000002 | if the async function was not called with await. | 2366 2367**示例:** 2368 2369```ts 2370import { Driver } from '@ohos.UiTest'; 2371async function demo() { 2372 let driver: Driver = Driver.create(); 2373 await driver.screenCapture('/data/storage/el2/base/cache/1.png', {left: 0, top: 0, right: 100, bottom: 100}); 2374} 2375``` 2376 2377### mouseClick<sup>10+</sup> 2378 2379mouseClick(p: Point, btnId: MouseButton, key1?: number, key2?: number): Promise\<void>; 2380 2381在指定坐标点注入鼠标点击动作,支持同时按下对应键盘组合键。例如,Key值为2072时,按下ctrl并进行鼠标点击动作。 2382 2383**系统能力**:SystemCapability.Test.UiTest 2384 2385**参数:** 2386 2387| 参数名 | 类型 | 必填 | 说明 | 2388| ------ | ----------------------------- | ---- | ------------------------------ | 2389| p | [Point](#point9) | 是 | 鼠标点击的坐标。 | 2390| btnId | [MouseButton](#mousebutton10) | 是 | 按下的鼠标按钮。 | 2391| key1 | number | 否 | 指定的第一个key值。默认值为0。 | 2392| key2 | number | 否 | 指定的第二个key值。默认值为0。 | 2393 2394**错误码:** 2395 2396以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2397 2398| 错误码ID | 错误信息 | 2399| -------- | ---------------------------------------- | 2400| 17000002 | if the async function was not called with await. | 2401 2402**示例:** 2403 2404```ts 2405import { Driver,MouseButton } from '@ohos.UiTest'; 2406async function demo() { 2407 let driver: Driver = Driver.create(); 2408 await driver.mouseClick({x:248, y:194}, MouseButton.MOUSE_BUTTON_LEFT, 2072); 2409} 2410``` 2411 2412### mouseScroll<sup>10+</sup> 2413 2414mouseScroll(p: Point, down: boolean, d: number, key1?: number, key2?: number): Promise\<void>; 2415 2416在指定坐标点注入鼠标滚轮滑动动作,支持同时按下对应键盘组合键。例如,Key值为2072时,按下ctrl并进行鼠标滚轮滑动动作。 2417 2418**系统能力**:SystemCapability.Test.UiTest 2419 2420**参数:** 2421 2422| 参数名 | 类型 | 必填 | 说明 | 2423| ------ | ---------------- | ---- | ----------------------------------------------------------- | 2424| p | [Point](#point9) | 是 | 鼠标点击的坐标。 | 2425| down | boolean | 是 | 滚轮滑动方向是否向下,true表示向下滑动,false表示向上滚动。 | 2426| d | number | 是 | 鼠标滚轮滚动的格数,每格对应目标点位移120个像素点。 | 2427| key1 | number | 否 | 指定的第一个key值。默认值为0。 | 2428| key2 | number | 否 | 指定的第二个key值。默认值为0。 | 2429 2430**错误码:** 2431 2432以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2433 2434| 错误码ID | 错误信息 | 2435| -------- | ---------------------------------------- | 2436| 17000002 | if the async function was not called with await. | 2437 2438**示例:** 2439 2440```ts 2441import { Driver } from '@ohos.UiTest'; 2442async function demo() { 2443 let driver: Driver = Driver.create(); 2444 await driver.mouseScroll({x:360, y:640}, true, 30, 2072) 2445} 2446``` 2447 2448### mouseMoveTo<sup>10+</sup> 2449 2450mouseMoveTo(p: Point): Promise\<void>; 2451 2452将鼠标光标移到目标点。 2453 2454**系统能力**:SystemCapability.Test.UiTest 2455 2456**参数:** 2457 2458| 参数名 | 类型 | 必填 | 说明 | 2459| ------ | ---------------- | ---- | -------------- | 2460| p | [Point](#point9) | 是 | 目标点的坐标。 | 2461 2462**错误码:** 2463 2464以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2465 2466| 错误码ID | 错误信息 | 2467| -------- | ---------------------------------------- | 2468| 17000002 | if the async function was not called with await. | 2469 2470**示例:** 2471 2472```ts 2473import { Driver } from '@ohos.UiTest'; 2474async function demo() { 2475 let driver: Driver = Driver.create(); 2476 await driver.mouseMoveTo({x:100, y:100}) 2477} 2478``` 2479 2480### createUIEventObserver<sup>10+</sup> 2481 2482createUIEventObserver(): UIEventObserver; 2483 2484创建一个UI事件监听器。 2485 2486**系统能力**:SystemCapability.Test.UiTest 2487 2488**返回值:** 2489 2490| 类型 | 说明 | 2491| ------------------------------------ | ------------------------------------- | 2492|[UIEventObserver](#uieventobserver10) | 返回找到的目标窗口对象。 | 2493 2494**错误码:** 2495 2496以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2497 2498| 错误码ID | 错误信息 | 2499| -------- | ---------------------------------------- | 2500| 17000002 | if the async function was not called with await. | 2501 2502**示例:** 2503 2504```ts 2505import { Driver, UIEventObserver } from '@ohos.UiTest'; 2506async function demo() { 2507 let driver: Driver = Driver.create(); 2508 let observer: UIEventObserver = await driver.createUIEventObserver() 2509} 2510``` 2511 2512## PointerMatrix<sup>9+</sup> 2513 2514存储多指操作中每根手指每一步动作的坐标点及其行为的二维数组。 2515 2516### create<sup>9+</sup> 2517 2518static create(fingers: number, steps: number): PointerMatrix 2519 2520静态方法,构造一个PointerMatrix对象,并返回该对象。 2521 2522**系统能力**:SystemCapability.Test.UiTest 2523 2524**参数:** 2525 2526| 参数名 | 类型 | 必填 | 说明 | 2527| ------- | ------ | ---- | ------------------------------------------ | 2528| fingers | number | 是 | 多指操作中注入的手指数,取值范围:[1,10]。 | 2529| steps | number | 是 | 每根手指操作的步骤数,取值范围:[1,1000]。 | 2530 2531**返回值:** 2532 2533| 类型 | 说明 | 2534| -------------------------------- | ----------------------------- | 2535| [PointerMatrix](#pointermatrix9) | 返回构造的PointerMatrix对象。 | 2536 2537**示例:** 2538 2539```ts 2540import { PointerMatrix } from '@ohos.UiTest'; 2541async function demo() { 2542 let pointerMatrix: PointerMatrix = PointerMatrix.create(2,3); 2543} 2544``` 2545 2546### setPoint<sup>9+</sup> 2547 2548setPoint(finger: number, step: number, point: Point): void 2549 2550设置PointerMatrix对象中指定手指和步骤对应动作的坐标点。 2551 2552**系统能力**:SystemCapability.Test.UiTest 2553 2554**参数:** 2555 2556| 参数名 | 类型 | 必填 | 说明 | 2557| ------ | ---------------- | ---- | ---------------- | 2558| finger | number | 是 | 手指的序号。 | 2559| step | number | 是 | 步骤的序号。 | 2560| point | [Point](#point9) | 是 | 该行为的坐标点。 | 2561 2562**示例:** 2563 2564```ts 2565import { PointerMatrix } from '@ohos.UiTest'; 2566async function demo() { 2567 let pointers: PointerMatrix = PointerMatrix.create(2,3); 2568 pointers.setPoint(0,0,{x:230,y:480}); 2569 pointers.setPoint(0,1,{x:250,y:380}); 2570 pointers.setPoint(0,2,{x:270,y:280}); 2571 pointers.setPoint(1,0,{x:230,y:680}); 2572 pointers.setPoint(1,1,{x:240,y:580}); 2573 pointers.setPoint(1,2,{x:250,y:480}); 2574} 2575``` 2576 2577## UiWindow<sup>9+</sup> 2578 2579UiWindow代表了UI界面上的一个窗口,提供窗口属性获取,窗口拖动、调整窗口大小等能力。 2580该类提供的所有方法都使用Promise方式作为异步方法,需使用await方式调用。 2581 2582### getBundleName<sup>9+</sup> 2583 2584getBundleName(): Promise\<string> 2585 2586获取窗口归属应用的包名信息。 2587 2588**系统能力**:SystemCapability.Test.UiTest 2589 2590**返回值:** 2591 2592| 类型 | 说明 | 2593| ---------------- | ----------------------------------------- | 2594| Promise\<string> | 以Promise形式返回窗口归属应用的包名信息。 | 2595 2596**错误码:** 2597 2598以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2599 2600| 错误码ID | 错误信息 | 2601| -------- | ---------------------------------------- | 2602| 17000002 | if the async function was not called with await. | 2603| 17000004 | if the window is invisible or destroyed. | 2604 2605**示例:** 2606 2607```ts 2608import { Driver, UiWindow } from '@ohos.UiTest'; 2609 2610async function demo() { 2611 let driver: Driver = Driver.create(); 2612 let window: UiWindow = await driver.findWindow({actived: true}); 2613 let name: string = await window.getBundleName(); 2614} 2615``` 2616 2617### getBounds<sup>9+</sup> 2618 2619getBounds(): Promise\<Rect> 2620 2621获取窗口的边框信息。 2622 2623**系统能力**:SystemCapability.Test.UiTest 2624 2625**返回值:** 2626 2627| 类型 | 说明 | 2628| ------------------------ | --------------------------------- | 2629| Promise\<[Rect](#rect9)> | 以Promise形式返回窗口的边框信息。 | 2630 2631**错误码:** 2632 2633以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2634 2635| 错误码ID | 错误信息 | 2636| -------- | ---------------------------------------- | 2637| 17000002 | if the async function was not called with await. | 2638| 17000004 | if the window is invisible or destroyed. | 2639 2640**示例:** 2641 2642```ts 2643import { Driver, UiWindow } from '@ohos.UiTest'; 2644async function demo() { 2645 let driver: Driver = Driver.create(); 2646 let window: UiWindow = await driver.findWindow({actived: true}); 2647 let rect = await window.getBounds(); 2648} 2649``` 2650 2651### getTitle<sup>9+</sup> 2652 2653getTitle(): Promise\<string> 2654 2655获取窗口的标题信息。 2656 2657**系统能力**:SystemCapability.Test.UiTest 2658 2659**返回值:** 2660 2661| 类型 | 说明 | 2662| ---------------- | --------------------------------- | 2663| Promise\<string> | 以Promise形式返回窗口的标题信息。 | 2664 2665**错误码:** 2666 2667以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2668 2669| 错误码ID | 错误信息 | 2670| -------- | ---------------------------------------- | 2671| 17000002 | if the async function was not called with await. | 2672| 17000004 | if the window is invisible or destroyed. | 2673 2674**示例:** 2675 2676```ts 2677import { Driver, UiWindow } from '@ohos.UiTest'; 2678async function demo() { 2679 let driver: Driver = Driver.create(); 2680 let window: UiWindow = await driver.findWindow({actived: true}); 2681 let rect = await window.getTitle(); 2682} 2683``` 2684 2685### getWindowMode<sup>9+</sup> 2686 2687getWindowMode(): Promise\<WindowMode> 2688 2689获取窗口的窗口模式信息。 2690 2691**系统能力**:SystemCapability.Test.UiTest 2692 2693**返回值:** 2694 2695| 类型 | 说明 | 2696| ------------------------------------ | ------------------------------------- | 2697| Promise\<[WindowMode](#windowmode9)> | 以Promise形式返回窗口的窗口模式信息。 | 2698 2699**错误码:** 2700 2701以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2702 2703| 错误码ID | 错误信息 | 2704| -------- | ---------------------------------------- | 2705| 17000002 | if the async function was not called with await. | 2706| 17000004 | if the window is invisible or destroyed. | 2707 2708**示例:** 2709 2710```ts 2711import { Driver, UiWindow } from '@ohos.UiTest'; 2712async function demo() { 2713 let driver: Driver = Driver.create(); 2714 let window: UiWindow = await driver.findWindow({actived: true}); 2715 let mode = await window.getWindowMode(); 2716} 2717``` 2718 2719### isFocused<sup>9+</sup> 2720 2721isFocused(): Promise\<boolean> 2722 2723判断窗口是否处于获焦状态。 2724 2725**系统能力**:SystemCapability.Test.UiTest 2726 2727**返回值:** 2728 2729| 类型 | 说明 | 2730| ----------------- | ------------------------------------------------------------ | 2731| Promise\<boolean> | 以Promise形式返回窗口对象是否获取获焦状态,true:获焦,false:未获焦。 | 2732 2733**错误码:** 2734 2735以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2736 2737| 错误码ID | 错误信息 | 2738| -------- | ---------------------------------------- | 2739| 17000002 | if the async function was not called with await. | 2740| 17000004 | if the window is invisible or destroyed. | 2741 2742**示例:** 2743 2744```ts 2745import { Driver, UiWindow } from '@ohos.UiTest'; 2746async function demo() { 2747 let driver: Driver = Driver.create(); 2748 let window: UiWindow = await driver.findWindow({actived: true}); 2749 let focused = await window.isFocused(); 2750} 2751``` 2752 2753### isActived<sup>9+</sup> 2754 2755isActived(): Promise\<boolean> 2756 2757判断窗口是否为用户正在交互窗口。 2758 2759**系统能力**:SystemCapability.Test.UiTest 2760 2761**返回值:** 2762 2763| 类型 | 说明 | 2764| ----------------- | ------------------------------------------------------------ | 2765| Promise\<boolean> | 以Promise形式返回窗口对象是否为用户正在交互窗口,true:交互窗口,false:非交互窗口。 | 2766 2767**错误码:** 2768 2769以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2770 2771| 错误码ID | 错误信息 | 2772| -------- | ---------------------------------------- | 2773| 17000002 | if the async function was not called with await. | 2774| 17000004 | if the window is invisible or destroyed. | 2775 2776**示例:** 2777 2778```ts 2779import { Driver, UiWindow } from '@ohos.UiTest'; 2780async function demo() { 2781 let driver: Driver = Driver.create(); 2782 let window: UiWindow = await driver.findWindow({actived: true}); 2783 let focused = await window.isActived(); 2784} 2785``` 2786 2787### focus<sup>9+</sup> 2788 2789focus(): Promise\<void> 2790 2791让窗口获焦。 2792 2793**系统能力**:SystemCapability.Test.UiTest 2794 2795**错误码:** 2796 2797以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2798 2799| 错误码ID | 错误信息 | 2800| -------- | ---------------------------------------- | 2801| 17000002 | if the async function was not called with await. | 2802| 17000004 | if the window is invisible or destroyed. | 2803 2804**示例:** 2805 2806```ts 2807import { Driver, UiWindow } from '@ohos.UiTest'; 2808async function demo() { 2809 let driver: Driver = Driver.create(); 2810 let window: UiWindow = await driver.findWindow({actived: true}); 2811 await window.focus(); 2812} 2813``` 2814 2815### moveTo<sup>9+</sup> 2816 2817moveTo(x: number, y: number): Promise\<void> 2818 2819将窗口移动到目标点。适用于支持移动的窗口。 2820 2821**系统能力**:SystemCapability.Test.UiTest 2822 2823**参数:** 2824 2825| 参数名 | 类型 | 必填 | 说明 | 2826| ------ | ------ | ---- | -------------------------------------- | 2827| x | number | 是 | 以number的形式传入目标点的横坐标信息。 | 2828| y | number | 是 | 以number的形式传入目标点的纵坐标信息。 | 2829 2830**错误码:** 2831 2832以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2833 2834| 错误码ID | 错误信息 | 2835| -------- | ---------------------------------------- | 2836| 17000002 | if the async function was not called with await. | 2837| 17000004 | if the window is invisible or destroyed. | 2838| 17000005 | if the action is not supported on this window. | 2839 2840**示例:** 2841 2842```ts 2843import { Driver, UiWindow } from '@ohos.UiTest'; 2844async function demo() { 2845 let driver: Driver = Driver.create(); 2846 let window: UiWindow = await driver.findWindow({actived: true}); 2847 await window.moveTo(100, 100); 2848} 2849``` 2850 2851### resize<sup>9+</sup> 2852 2853resize(wide: number, height: number, direction: ResizeDirection): Promise\<void> 2854 2855根据传入的宽、高和调整方向来调整窗口的大小。适用于支持调整大小的窗口。 2856 2857**系统能力**:SystemCapability.Test.UiTest 2858 2859**参数:** 2860 2861| 参数名 | 类型 | 必填 | 说明 | 2862| --------- | ------------------------------------ | ---- | ------------------------------------------------------------ | 2863| wide | number | 是 | 以number的形式传入调整后窗口的宽度。 | 2864| height | number | 是 | 以number的形式传入调整后窗口的高度。 | 2865| direction | [ResizeDirection](#resizedirection9) | 是 | 以[ResizeDirection](#resizedirection9)的形式传入窗口调整的方向。 | 2866 2867**错误码:** 2868 2869以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2870 2871| 错误码ID | 错误信息 | 2872| -------- | ---------------------------------------- | 2873| 17000002 | if the async function was not called with await. | 2874| 17000004 | if the window is invisible or destroyed. | 2875| 17000005 | if the action is not supported on this window. | 2876 2877**示例:** 2878 2879```ts 2880import { Driver, ResizeDirection, UiWindow } from '@ohos.UiTest'; 2881async function demo() { 2882 let driver: Driver = Driver.create(); 2883 let window: UiWindow = await driver.findWindow({actived: true}); 2884 await window.resize(100, 100, ResizeDirection.LEFT); 2885} 2886``` 2887 2888### split<sup>9+</sup> 2889 2890split(): Promise\<void> 2891 2892将窗口模式切换成分屏模式。适用于支持切换分屏模式的窗口。 2893 2894**系统能力**:SystemCapability.Test.UiTest 2895 2896**错误码:** 2897 2898以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2899 2900| 错误码ID | 错误信息 | 2901| -------- | ---------------------------------------- | 2902| 17000002 | if the async function was not called with await. | 2903| 17000004 | if the window is invisible or destroyed. | 2904| 17000005 | if the action is not supported on this window. | 2905 2906**示例:** 2907 2908```ts 2909import { Driver, UiWindow } from '@ohos.UiTest'; 2910async function demo() { 2911 let driver: Driver = Driver.create(); 2912 let window: UiWindow = await driver.findWindow({actived: true}); 2913 await window.split(); 2914} 2915``` 2916 2917### maximize<sup>9+</sup> 2918 2919maximize(): Promise\<void> 2920 2921将窗口最大化。适用于支持窗口最大化操作的窗口。 2922 2923**系统能力**:SystemCapability.Test.UiTest 2924 2925**错误码:** 2926 2927以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2928 2929| 错误码ID | 错误信息 | 2930| -------- | ---------------------------------------- | 2931| 17000002 | if the async function was not called with await. | 2932| 17000004 | if the window is invisible or destroyed. | 2933| 17000005 | if the action is not supported on this window. | 2934 2935**示例:** 2936 2937```ts 2938import { Driver, UiWindow } from '@ohos.UiTest'; 2939async function demo() { 2940 let driver: Driver = Driver.create(); 2941 let window: UiWindow = await driver.findWindow({actived: true}); 2942 await window.maximize(); 2943} 2944``` 2945 2946### minimize<sup>9+</sup> 2947 2948minimize(): Promise\<void> 2949 2950将窗口最小化。适用于支持窗口最小化操作的窗口。 2951 2952**系统能力**:SystemCapability.Test.UiTest 2953 2954**错误码:** 2955 2956以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2957 2958| 错误码ID | 错误信息 | 2959| -------- | ---------------------------------------- | 2960| 17000002 | if the async function was not called with await. | 2961| 17000004 | if the window is invisible or destroyed. | 2962| 17000005 | if the action is not supported on this window. | 2963 2964**示例:** 2965 2966```ts 2967import { Driver, UiWindow } from '@ohos.UiTest'; 2968async function demo() { 2969 let driver: Driver = Driver.create(); 2970 let window: UiWindow = await driver.findWindow({actived: true}); 2971 await window.minimize(); 2972} 2973``` 2974 2975### resume<sup>9+</sup> 2976 2977resume(): Promise\<void> 2978 2979将窗口恢复到之前的窗口模式。 2980 2981**系统能力**:SystemCapability.Test.UiTest 2982 2983**错误码:** 2984 2985以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 2986 2987| 错误码ID | 错误信息 | 2988| -------- | ---------------------------------------- | 2989| 17000002 | if the async function was not called with await. | 2990| 17000004 | if the window is invisible or destroyed. | 2991| 17000005 | if the action is not supported on this window. | 2992 2993**示例:** 2994 2995```ts 2996import { Driver, UiWindow } from '@ohos.UiTest'; 2997async function demo() { 2998 let driver: Driver = Driver.create(); 2999 let window: UiWindow = await driver.findWindow({actived: true}); 3000 await window.resume(); 3001} 3002``` 3003 3004### close<sup>9+</sup> 3005 3006close(): Promise\<void> 3007 3008将窗口关闭。 3009 3010**系统能力**:SystemCapability.Test.UiTest 3011 3012**错误码:** 3013 3014以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 3015 3016| 错误码ID | 错误信息 | 3017| -------- | ---------------------------------------- | 3018| 17000002 | if the async function was not called with await. | 3019| 17000004 | if the window is invisible or destroyed. | 3020| 17000005 | if the action is not supported on this window. | 3021 3022**示例:** 3023 3024```ts 3025import { Driver, UiWindow } from '@ohos.UiTest'; 3026async function demo() { 3027 let driver:Driver = Driver.create(); 3028 let window: UiWindow = await driver.findWindow({actived: true}); 3029 await window.close(); 3030} 3031``` 3032 3033## UIEventObserver<sup>10+</sup> 3034 3035UI事件监听器。 3036 3037### once('toastShow') 3038 3039once(type: 'toastShow', callback: Callback\<UIElementInfo>): void; 3040 3041开始监听toast控件出现的事件,使用callback的形式返回结果。 3042 3043**系统能力**:SystemCapability.Test.UiTest 3044 3045**参数:** 3046 3047| 参数名 | 类型 | 必填 | 说明 | 3048| -------- | -------------------------------------------- | ---- | --------------------------------- | 3049| type | string | 是 | 订阅的事件类型,取值为'toastShow' | 3050| callback | Callback\<[UIElementInfo](#uielementinfo10)> | 是 | 事件发生时执行的回调函数 | 3051 3052**示例:** 3053 3054```ts 3055import { Driver, UIElementInfo, UIEventObserver } from '@ohos.UiTest'; 3056async function demo() { 3057 let driver: Driver = Driver.create(); 3058 let observer: UIEventObserver = await driver.createUIEventObserver() 3059 let callback = (UIElementInfo: UIElementInfo)=>{ 3060 console.info(UIElementInfo.bundleName) 3061 console.info(UIElementInfo.text) 3062 console.info(UIElementInfo.type) 3063 } 3064 observer.once('toastShow', callback) 3065} 3066``` 3067 3068### once('dialogShow') 3069 3070once(type: 'dialogShow', callback: Callback\<UIElementInfo>): void; 3071 3072开始监听dialog控件出现的事件,使用callback的形式返回结果。 3073 3074**系统能力**:SystemCapability.Test.UiTest 3075 3076**参数:** 3077 3078| 参数名 | 类型 | 必填 | 说明 | 3079| -------- | -------------------------------------------- | ---- | ---------------------------------- | 3080| type | string | 是 | 订阅的事件类型,取值为'dialogShow' | 3081| callback | Callback\<[UIElementInfo](#uielementinfo10)> | 是 | 事件发生时执行的回调函数 | 3082 3083**示例:** 3084 3085```ts 3086import { Driver, UIElementInfo, UIEventObserver } from '@ohos.UiTest'; 3087async function demo() { 3088 let driver: Driver = Driver.create(); 3089 let observer: UIEventObserver = await driver.createUIEventObserver() 3090 let callback = (UIElementInfo: UIElementInfo)=>{ 3091 console.info(UIElementInfo.bundleName) 3092 console.info(UIElementInfo.text) 3093 console.info(UIElementInfo.type) 3094 } 3095 observer.once('dialogShow', callback) 3096} 3097``` 3098 3099## By<sup>(deprecated)</sup> 3100 3101UiTest框架通过By类提供了丰富的控件特征描述API,用于进行控件筛选来匹配/查找出目标控件。<br> 3102By提供的API能力具有以下几个特点:<br>1、支持单属性匹配和多属性组合匹配,例如同时指定目标控件text和id。<br>2、控件属性支持多种匹配模式。<br>3、支持控件绝对定位,相对定位,可通过[By.isBefore<sup>(deprecated)</sup>](#isbeforedeprecated)和[By.isAfter<sup>(deprecated)</sup>](#isafterdeprecated)等API限定邻近控件特征进行辅助定位。<br>By类提供的所有API均为同步接口,建议使用者通过静态构造器BY来链式创建By对象。 3103 3104从API version 9开始不再维护,建议使用[On<sup>9+</sup>](#on9)。 3105 3106```ts 3107import { BY } from '@ohos.UiTest'; 3108BY.text('123').type('Button'); 3109``` 3110 3111### text<sup>(deprecated)</sup> 3112 3113text(txt: string, pattern?: MatchPattern): By 3114 3115指定目标控件文本属性,支持多种匹配模式,返回By对象自身。 3116 3117从API version 9开始不再维护,建议使用[text<sup>9+</sup>](#text9)。 3118 3119**系统能力**:SystemCapability.Test.UiTest 3120 3121**参数:** 3122 3123| 参数名 | 类型 | 必填 | 说明 | 3124| ------- | ----------------------------- | ---- | --------------------------------------------------- | 3125| txt | string | 是 | 指定控件文本,用于匹配目标控件文本。 | 3126| pattern | [MatchPattern](#matchpattern) | 否 | 指定的文本匹配模式,默认为[EQUALS](#matchpattern)。 | 3127 3128**返回值:** 3129 3130| 类型 | 说明 | 3131| ------------------- | ---------------------------------- | 3132| [By](#bydeprecated) | 返回指定目标控件文本属性的By对象。 | 3133 3134**示例:** 3135 3136```ts 3137import { BY, By } from '@ohos.UiTest'; 3138let by: By = BY.text('123'); // 使用静态构造器BY创建by对象,指定目标控件的text属性。 3139``` 3140 3141 3142### key<sup>(deprecated)</sup> 3143 3144key(key: string): By 3145 3146指定目标控件key值属性,返回By对象自身。 3147 3148从API version 9开始不再维护,建议使用[id<sup>9+</sup>](#id9)。 3149 3150**系统能力**:SystemCapability.Test.UiTest 3151 3152**参数:** 3153 3154| 参数名 | 类型 | 必填 | 说明 | 3155| ------ | ------ | ---- | ----------------- | 3156| key | string | 是 | 指定控件的Key值。 | 3157 3158**返回值:** 3159 3160| 类型 | 说明 | 3161| ------------------- | ----------------------------------- | 3162| [By](#bydeprecated) | 返回指定目标控件key值属性的By对象。 | 3163 3164**示例:** 3165 3166```ts 3167import { By, BY } from '@ohos.UiTest'; 3168let by: By = BY.key('123'); // 使用静态构造器BY创建by对象,指定目标控件的key值属性。 3169``` 3170 3171 3172### id<sup>(deprecated)</sup> 3173 3174id(id: number): By 3175 3176指定目标控件id属性,返回By对象自身。 3177 3178从API version 9开始废弃。 3179 3180**系统能力**:SystemCapability.Test.UiTest 3181 3182**参数:** 3183 3184| 参数名 | 类型 | 必填 | 说明 | 3185| ------ | ------ | ---- | ---------------- | 3186| id | number | 是 | 指定控件的id值。 | 3187 3188**返回值:** 3189 3190| 类型 | 说明 | 3191| ------------------- | -------------------------------- | 3192| [By](#bydeprecated) | 返回指定目标控件id属性的By对象。 | 3193 3194**示例:** 3195 3196```ts 3197import { By, BY } from '@ohos.UiTest'; 3198let by: By = BY.id(123); // 使用静态构造器BY创建by对象,指定目标控件的id属性。 3199``` 3200 3201 3202### type<sup>(deprecated)</sup> 3203 3204type(tp: string): By 3205 3206指定目标控件的控件类型属性,返回By对象自身。 3207 3208从API version 9开始不再维护,建议使用[type<sup>9+</sup>](#type9)。 3209 3210**系统能力**:SystemCapability.Test.UiTest 3211 3212**参数:** 3213 3214| 参数名 | 类型 | 必填 | 说明 | 3215| ------ | ------ | ---- | -------------- | 3216| tp | string | 是 | 指定控件类型。 | 3217 3218**返回值:** 3219 3220| 类型 | 说明 | 3221| ------------------- | ---------------------------------------- | 3222| [By](#bydeprecated) | 返回指定目标控件的控件类型属性的By对象。 | 3223 3224**示例:** 3225 3226```ts 3227import { By, BY } from '@ohos.UiTest'; 3228let by: By = BY.type('Button'); // 使用静态构造器BY创建by对象,指定目标控件的控件类型属性。 3229``` 3230 3231 3232### clickable<sup>(deprecated)</sup> 3233 3234clickable(b?: boolean): By 3235 3236指定目标控件的可点击状态属性,返回By对象自身。 3237 3238从API version 9开始不再维护,建议使用[clickable<sup>9+</sup>](#clickable9)。 3239 3240**系统能力**:SystemCapability.Test.UiTest 3241 3242**参数:** 3243 3244| 参数名 | 类型 | 必填 | 说明 | 3245| ------ | ------- | ---- | ------------------------------------------------------------ | 3246| b | boolean | 否 | 指定控件可点击状态,true:可点击,false:不可点击。默认为true。 | 3247 3248**返回值:** 3249 3250| 类型 | 说明 | 3251| ------------------- | ------------------------------------------ | 3252| [By](#bydeprecated) | 返回指定目标控件的可点击状态属性的By对象。 | 3253 3254**示例:** 3255 3256```ts 3257import { By, BY } from '@ohos.UiTest'; 3258let by: By = BY.clickable(true); // 使用静态构造器BY创建by对象,指定目标控件的可点击状态属性。 3259``` 3260 3261 3262### scrollable<sup>(deprecated)</sup> 3263 3264scrollable(b?: boolean): By 3265 3266指定目标控件的可滑动状态属性,返回By对象自身。 3267 3268从API version 9开始不再维护,建议使用[scrollable<sup>9+</sup>](#scrollable9)。 3269 3270**系统能力**:SystemCapability.Test.UiTest 3271 3272**参数:** 3273 3274| 参数名 | 类型 | 必填 | 说明 | 3275| ------ | ------- | ---- | ----------------------------------------------------------- | 3276| b | boolean | 否 | 控件可滑动状态,true:可滑动,false:不可滑动。默认为true。 | 3277 3278**返回值:** 3279 3280| 类型 | 说明 | 3281| ------------------- | ------------------------------------------ | 3282| [By](#bydeprecated) | 返回指定目标控件的可滑动状态属性的By对象。 | 3283 3284**示例:** 3285 3286```ts 3287import { By, BY } from '@ohos.UiTest'; 3288let by: By = BY.scrollable(true); // 使用静态构造器BY创建by对象,指定目标控件的可滑动状态属性。 3289``` 3290 3291### enabled<sup>(deprecated)</sup> 3292 3293enabled(b?: boolean): By 3294 3295指定目标控件的使能状态属性,返回By对象自身。 3296 3297从API version 9开始不再维护,建议使用[enabled<sup>9+</sup>](#enabled9)。 3298 3299**系统能力**:SystemCapability.Test.UiTest 3300 3301**参数:** 3302 3303| 参数名 | 类型 | 必填 | 说明 | 3304| ------ | ------- | ---- | --------------------------------------------------------- | 3305| b | boolean | 否 | 指定控件使能状态,true:使能,false:未使能。默认为true。 | 3306 3307**返回值:** 3308 3309| 类型 | 说明 | 3310| ------------------- | ---------------------------------------- | 3311| [By](#bydeprecated) | 返回指定目标控件的使能状态属性的By对象。 | 3312 3313**示例:** 3314 3315```ts 3316import { By, BY } from '@ohos.UiTest'; 3317let by: By = BY.enabled(true); // 使用静态构造器BY创建by对象,指定目标控件的使能状态属性。 3318``` 3319 3320### focused<sup>(deprecated)</sup> 3321 3322focused(b?: boolean): By 3323 3324指定目标控件的获焦状态属性,返回By对象自身。 3325 3326从API version 9开始不再维护,建议使用[focused<sup>9+</sup>](#focused9)。 3327 3328**系统能力**:SystemCapability.Test.UiTest 3329 3330**参数:** 3331 3332| 参数名 | 类型 | 必填 | 说明 | 3333| ------ | ------- | ---- | ----------------------------------------------------- | 3334| b | boolean | 否 | 控件获焦状态,true:获焦,false:未获焦。默认为true。 | 3335 3336**返回值:** 3337 3338| 类型 | 说明 | 3339| ------------------- | ---------------------------------------- | 3340| [By](#bydeprecated) | 返回指定目标控件的获焦状态属性的By对象。 | 3341 3342**示例:** 3343 3344```ts 3345import { By, BY } from '@ohos.UiTest'; 3346let by: By = BY.focused(true); // 使用静态构造器BY创建by对象,指定目标控件的获焦状态属性。 3347``` 3348 3349### selected<sup>(deprecated)</sup> 3350 3351selected(b?: boolean): By 3352 3353指定目标控件的被选中状态属性,返回By对象自身。 3354 3355从API version 9开始不再维护,建议使用[selected<sup>9+</sup>](#selected9)。 3356 3357**系统能力**:SystemCapability.Test.UiTest 3358 3359**参数:** 3360 3361| 参数名 | 类型 | 必填 | 说明 | 3362| ------ | ------- | ---- | ------------------------------------------------------------ | 3363| b | boolean | 否 | 指定控件被选中状态,true:被选中,false:未被选中。默认为true。 | 3364 3365**返回值:** 3366 3367| 类型 | 说明 | 3368| ------------------- | ------------------------------------------ | 3369| [By](#bydeprecated) | 返回指定目标控件的被选中状态属性的By对象。 | 3370 3371**示例:** 3372 3373```ts 3374import { By, BY } from '@ohos.UiTest'; 3375let by: By = BY.selected(true); // 使用静态构造器BY创建by对象,指定目标控件的被选中状态属性。 3376``` 3377 3378### isBefore<sup>(deprecated)</sup> 3379 3380isBefore(by: By): By 3381 3382指定目标控件位于给出的特征属性控件之前,返回By对象自身。 3383 3384从API version 9开始不再维护,建议使用[isBefore<sup>9+</sup>](#isbefore9)。 3385 3386**系统能力**:SystemCapability.Test.UiTest 3387 3388**参数:** 3389 3390| 参数名 | 类型 | 必填 | 说明 | 3391| ------ | ------------------- | ---- | ---------------- | 3392| by | [By](#bydeprecated) | 是 | 特征控件的属性。 | 3393 3394**返回值:** 3395 3396| 类型 | 说明 | 3397| ------------------- | ---------------------------------------------------- | 3398| [By](#bydeprecated) | 返回指定目标控件位于给出的特征属性控件之前的By对象。 | 3399 3400**示例:** 3401 3402```ts 3403import { By, BY } from '@ohos.UiTest'; 3404 3405// 使用静态构造器BY创建by对象,指定目标控件位于给出的特征属性控件之前。 3406let by: By = BY.type('Button').isBefore(BY.text('123')); // 查找text为123之前的第一个Button组件 3407``` 3408 3409### isAfter<sup>(deprecated)</sup> 3410 3411isAfter(by: By): By 3412 3413指定目标控件位于给出的特征属性控件之后,返回By对象自身。 3414 3415从API version 9开始不再维护,建议使用[isAfter<sup>9+</sup>](#isafter9)。 3416 3417**系统能力**:SystemCapability.Test.UiTest 3418 3419**参数:** 3420 3421| 参数名 | 类型 | 必填 | 说明 | 3422| ------ | ------------------- | ---- | ---------------- | 3423| by | [By](#bydeprecated) | 是 | 特征控件的属性。 | 3424 3425**返回值:** 3426 3427| 类型 | 说明 | 3428| ------------------- | ---------------------------------------------------- | 3429| [By](#bydeprecated) | 返回指定目标控件位于给出的特征属性控件之后的By对象。 | 3430 3431**示例:** 3432 3433```ts 3434import { By, BY } from '@ohos.UiTest'; 3435 3436// 使用静态构造器BY创建by对象,指定目标控件位于给出的特征属性控件之后。 3437let by: By = BY.type('Text').isAfter(BY.text('123')); // 查找 text为123之后的第一个Text组件 3438``` 3439 3440## UiComponent<sup>(deprecated)</sup> 3441 3442UiTest中,UiComponent类代表了UI界面上的一个控件,提供控件属性获取,控件点击,滑动查找,文本注入等API。 3443该类提供的所有方法都使用Promise方式作为异步方法,需使用await调用。 3444 3445从API version 9开始不再维护,建议使用[Component<sup>9+</sup>](#component9)。 3446 3447### click<sup>(deprecated)</sup> 3448 3449click(): Promise\<void> 3450 3451控件对象进行点击操作。 3452 3453从API version 9开始不再维护,建议使用[click<sup>9+</sup>](#click9)。 3454 3455**系统能力**:SystemCapability.Test.UiTest 3456 3457**示例:** 3458 3459```ts 3460import { UiDriver, BY, Driver, UiComponent } from '@ohos.UiTest'; 3461async function demo() { 3462 let driver: UiDriver = UiDriver.create(); 3463 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3464 await button.click(); 3465} 3466``` 3467 3468### doubleClick<sup>(deprecated)</sup> 3469 3470doubleClick(): Promise\<void> 3471 3472控件对象进行双击操作。 3473 3474从API version 9开始不再维护,建议使用[doubleClick<sup>9+</sup>](#doubleclick9)。 3475 3476**系统能力**:SystemCapability.Test.UiTest 3477 3478**示例:** 3479 3480```ts 3481import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3482async function demo() { 3483 let driver: UiDriver = UiDriver.create(); 3484 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3485 await button.doubleClick(); 3486} 3487``` 3488 3489### longClick<sup>(deprecated)</sup> 3490 3491longClick(): Promise\<void> 3492 3493控件对象进行长按操作。 3494 3495从API version 9开始不再维护,建议使用[longClick<sup>9+</sup>](#longclick9)。 3496 3497**系统能力**:SystemCapability.Test.UiTest 3498 3499**示例:** 3500 3501```ts 3502import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3503async function demo() { 3504 let driver: UiDriver = UiDriver.create(); 3505 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3506 await button.longClick(); 3507} 3508``` 3509 3510### getId<sup>(deprecated)</sup> 3511 3512getId(): Promise\<number> 3513 3514获取控件对象的id值。 3515 3516从API version 9开始不再维护,被废弃。 3517 3518**系统能力**:SystemCapability.Test.UiTest 3519 3520**返回值:** 3521 3522| 类型 | 说明 | 3523| ---------------- | ------------------------------- | 3524| Promise\<number> | 以Promise形式返回的控件的id值。 | 3525 3526**示例:** 3527 3528```ts 3529import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3530async function demo() { 3531 let driver: UiDriver = UiDriver.create(); 3532 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3533 let id = await button.getId(); 3534} 3535``` 3536 3537### getKey<sup>(deprecated)</sup> 3538 3539getKey(): Promise\<string> 3540 3541获取控件对象的key值。 3542 3543从API version 9开始不再维护,建议使用[getId<sup>9+</sup>](#getid9) 3544 3545**系统能力**:SystemCapability.Test.UiTest 3546 3547**返回值:** 3548 3549| 类型 | 说明 | 3550| ---------------- | ------------------------------ | 3551| Promise\<string> | 以Promise形式返回控件的key值。 | 3552 3553**示例:** 3554 3555```ts 3556import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3557async function demo() { 3558 let driver: UiDriver = UiDriver.create(); 3559 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3560 let str_key = await button.getKey(); 3561} 3562``` 3563 3564### getText<sup>(deprecated)</sup> 3565 3566getText(): Promise\<string> 3567 3568获取控件对象的文本信息。 3569 3570从API version 9开始不再维护,建议使用[getText<sup>9+</sup>](#gettext9)。 3571 3572**系统能力**:SystemCapability.Test.UiTest 3573 3574**返回值:** 3575 3576| 类型 | 说明 | 3577| ---------------- | --------------------------------- | 3578| Promise\<string> | 以Promise形式返回控件的文本信息。 | 3579 3580**示例:** 3581 3582```ts 3583import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3584async function demo() { 3585 let driver: UiDriver = UiDriver.create(); 3586 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3587 let text = await button.getText(); 3588} 3589``` 3590 3591### getType<sup>(deprecated)</sup> 3592 3593getType(): Promise\<string> 3594 3595获取控件对象的控件类型。 3596 3597从API version 9开始不再维护,建议使用[getType<sup>9+</sup>](#gettype9)。 3598 3599**系统能力**:SystemCapability.Test.UiTest 3600 3601**返回值:** 3602 3603| 类型 | 说明 | 3604| ---------------- | ----------------------------- | 3605| Promise\<string> | 以Promise形式返回控件的类型。 | 3606 3607**示例:** 3608 3609```ts 3610import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3611async function demo() { 3612 let driver: UiDriver = UiDriver.create(); 3613 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3614 let type = await button.getType(); 3615} 3616``` 3617 3618### isClickable<sup>(deprecated)</sup> 3619 3620isClickable(): Promise\<boolean> 3621 3622获取控件对象可点击状态。 3623 3624从API version 9开始不再维护,建议使用[isClickable<sup>9+</sup>](#isclickable9)。 3625 3626**系统能力**:SystemCapability.Test.UiTest 3627 3628**返回值:** 3629 3630| 类型 | 说明 | 3631| ----------------- | ------------------------------------------------------------ | 3632| Promise\<boolean> | 以Promise形式返回控件对象可点击状态,true:可点击,false:不可点击。 | 3633 3634**示例:** 3635 3636```ts 3637import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3638async function demo() { 3639 let driver: UiDriver = UiDriver.create(); 3640 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3641 if(await button.isClickable()) { 3642 console.info('This button can be Clicked'); 3643 } else { 3644 console.info('This button can not be Clicked'); 3645 } 3646} 3647``` 3648 3649### isScrollable<sup>(deprecated)</sup> 3650 3651isScrollable(): Promise\<boolean> 3652 3653获取控件对象可滑动状态。 3654 3655从API version 9开始不再维护,建议使用[isScrollable<sup>9+</sup>](#isscrollable9)。 3656 3657**系统能力**:SystemCapability.Test.UiTest 3658 3659**返回值:** 3660 3661| 类型 | 说明 | 3662| ----------------- | ------------------------------------------------------------ | 3663| Promise\<boolean> | 以Promise形式返回控件对象可滑动状态,true:可滑动,false:不可滑动。 | 3664 3665**示例:** 3666 3667```ts 3668import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3669async function demo() { 3670 let driver: UiDriver = UiDriver.create(); 3671 let scrollBar: UiComponent = await driver.findComponent(BY.scrollable(true)); 3672 if(await scrollBar.isScrollable()) { 3673 console.info('This scrollBar can be operated'); 3674 } else { 3675 console.info('This scrollBar can not be operated'); 3676 } 3677} 3678``` 3679 3680 3681### isEnabled<sup>(deprecated)</sup> 3682 3683isEnabled(): Promise\<boolean> 3684 3685获取控件使能状态。 3686 3687从API version 9开始不再维护,建议使用[isEnabled<sup>9+</sup>](#isenabled9)。 3688 3689**系统能力**:SystemCapability.Test.UiTest 3690 3691**返回值:** 3692 3693| 类型 | 说明 | 3694| ----------------- | ---------------------------------------------------------- | 3695| Promise\<boolean> | 以Promise形式返回控件使能状态,true:使能,false:未使能。 | 3696 3697**示例:** 3698 3699```ts 3700import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3701async function demo() { 3702 let driver: UiDriver = UiDriver.create(); 3703 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3704 if(await button.isEnabled()) { 3705 console.info('This button can be operated'); 3706 } else { 3707 console.info('This button can not be operated'); 3708 } 3709} 3710 3711``` 3712 3713### isFocused<sup>(deprecated)</sup> 3714 3715isFocused(): Promise\<boolean> 3716 3717判断控件对象是否获焦。 3718 3719从API version 9开始不再维护,建议使用[isFocused<sup>9+</sup>](#isfocused9)。 3720 3721**系统能力**:SystemCapability.Test.UiTest 3722 3723**返回值:** 3724 3725| 类型 | 说明 | 3726| ----------------- | ------------------------------------------------------------ | 3727| Promise\<boolean> | 以Promise形式返回控件对象是否获焦,true:获焦,false:未获焦。 | 3728 3729**示例:** 3730 3731```ts 3732import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3733async function demo() { 3734 let driver: UiDriver = UiDriver.create(); 3735 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3736 if(await button.isFocused()) { 3737 console.info('This button is focused'); 3738 } else { 3739 console.info('This button is not focused'); 3740 } 3741} 3742``` 3743 3744### isSelected<sup>(deprecated)</sup> 3745 3746isSelected(): Promise\<boolean> 3747 3748获取控件对象被选中状态。 3749 3750从API version 9开始不再维护,建议使用[isSelected<sup>9+</sup>](#isselected9)。 3751 3752**系统能力**:SystemCapability.Test.UiTest 3753 3754**返回值:** 3755 3756| 类型 | 说明 | 3757| ----------------- | ----------------------------------------------------- | 3758| Promise\<boolean> | 以Promise形式返回控件对象被选中的状态,true:被选中,false:未被选中。 | 3759 3760**示例:** 3761 3762```ts 3763import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3764async function demo() { 3765 let driver: UiDriver = UiDriver.create(); 3766 let button: UiComponent = await driver.findComponent(BY.type('Button')); 3767 if(await button.isSelected()) { 3768 console.info('This button is selected'); 3769 } else { 3770 console.info('This button is not selected'); 3771 } 3772} 3773``` 3774 3775### inputText<sup>(deprecated)</sup> 3776 3777inputText(text: string): Promise\<void> 3778 3779向控件中输入文本(适用于文本框控件)。 3780 3781从API version 9开始不再维护,建议使用[inputText<sup>9+</sup>](#inputtext9)。 3782 3783**系统能力**:SystemCapability.Test.UiTest 3784 3785**参数:** 3786 3787| 参数名 | 类型 | 必填 | 说明 | 3788| ------ | ------ | ---- | ---------------- | 3789| text | string | 是 | 输入的文本信息。 | 3790 3791**示例:** 3792 3793```ts 3794import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3795async function demo() { 3796 let driver: UiDriver = UiDriver.create(); 3797 let text: UiComponent = await driver.findComponent(BY.text('hello world')); 3798 await text.inputText('123'); 3799} 3800``` 3801 3802### scrollSearch<sup>(deprecated)</sup> 3803 3804scrollSearch(by: By): Promise\<UiComponent> 3805 3806在控件上滑动查找目标控件(适用于List等支持滑动的控件)。 3807 3808从API version 9开始不再维护,建议使用[scrollSearch<sup>9+</sup>](#scrollsearch9)。 3809 3810**系统能力**:SystemCapability.Test.UiTest 3811 3812**参数:** 3813 3814| 参数名 | 类型 | 必填 | 说明 | 3815| ------ | ------------------- | ---- | -------------------- | 3816| by | [By](#bydeprecated) | 是 | 目标控件的属性要求。 | 3817 3818**返回值:** 3819 3820| 类型 | 说明 | 3821| ----------------------------------------------- | ------------------------------------- | 3822| Promise\<[UiComponent](#uicomponentdeprecated)> | 以Promise形式返回找到的目标控件对象。 | 3823 3824**示例:** 3825 3826```ts 3827import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3828async function demo() { 3829 let driver: UiDriver = UiDriver.create(); 3830 let scrollBar: UiComponent = await driver.findComponent(BY.type('Scroll')); 3831 let button = await scrollBar.scrollSearch(BY.text('next page')); 3832} 3833``` 3834 3835## UiDriver<sup>(deprecated)</sup> 3836 3837UiDriver类为uitest测试框架的总入口,提供控件匹配/查找,按键注入,坐标点击/滑动,截图等API。 3838该类提供的方法除UiDriver.create()以外的所有方法都使用Promise方式作为异步方法,需使用await调用。 3839 3840从API version 9开始不再维护,建议使用[Driver<sup>9+</sup>](#driver9)。 3841 3842### create<sup>(deprecated)</sup> 3843 3844static create(): UiDriver 3845 3846静态方法,构造一个UiDriver对象,并返回该对象。 3847 3848从API version 9开始不再维护,建议使用[create<sup>9+</sup>](#create9)。 3849 3850**系统能力**:SystemCapability.Test.UiTest 3851 3852**返回值:** 3853 3854| 类型 | 说明 | 3855| -------- | ------------------------ | 3856| UiDriver | 返回构造的UiDriver对象。 | 3857 3858**示例:** 3859 3860```ts 3861import { UiDriver } from '@ohos.UiTest'; 3862async function demo() { 3863 let driver: UiDriver = UiDriver.create(); 3864} 3865``` 3866 3867### delayMs<sup>(deprecated)</sup> 3868 3869delayMs(duration: number): Promise\<void> 3870 3871UiDriver对象在给定的时间内延时。 3872 3873从API version 9开始不再维护,建议使用[delayMs<sup>9+</sup>](#delayms9)。 3874 3875**系统能力**:SystemCapability.Test.UiTest 3876 3877**参数:** 3878 3879| 参数名 | 类型 | 必填 | 说明 | 3880| -------- | ------ | ---- | ------------ | 3881| duration | number | 是 | 给定的时间。 | 3882 3883**示例:** 3884 3885```ts 3886import { UiDriver } from '@ohos.UiTest'; 3887async function demo() { 3888 let driver: UiDriver = UiDriver.create(); 3889 await driver.delayMs(1000); 3890} 3891``` 3892 3893### findComponent<sup>(deprecated)</sup> 3894 3895findComponent(by: By): Promise\<UiComponent> 3896 3897在UiDriver对象中,根据给出的目标控件属性要求查找目标控件。 3898 3899从API version 9开始不再维护,建议使用[findComponent<sup>9+</sup>](#findcomponent9)。 3900 3901**系统能力**:SystemCapability.Test.UiTest 3902 3903**参数:** 3904 3905| 参数名 | 类型 | 必填 | 说明 | 3906| ------ | ------------------- | ---- | -------------------- | 3907| by | [By](#bydeprecated) | 是 | 目标控件的属性要求。 | 3908 3909**返回值:** 3910 3911| 类型 | 说明 | 3912| ----------------------------------------------- | --------------------------------- | 3913| Promise\<[UiComponent](#uicomponentdeprecated)> | 以Promise形式返回找到的控件对象。 | 3914 3915**示例:** 3916 3917```ts 3918import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3919async function demo() { 3920 let driver: UiDriver = UiDriver.create(); 3921 let button: UiComponent = await driver.findComponent(BY.text('next page')); 3922} 3923``` 3924 3925### findComponents<sup>(deprecated)</sup> 3926 3927findComponents(by: By): Promise\<Array\<UiComponent>> 3928 3929在UiDriver对象中,根据给出的目标控件属性要求查找出所有匹配控件,以列表保存。 3930 3931从API version 9开始不再维护,建议使用[findComponents<sup>9+</sup>](#findcomponents9)。 3932 3933**系统能力**:SystemCapability.Test.UiTest 3934 3935**参数:** 3936 3937| 参数名 | 类型 | 必填 | 说明 | 3938| ------ | ------------------- | ---- | -------------------- | 3939| by | [By](#bydeprecated) | 是 | 目标控件的属性要求。 | 3940 3941**返回值:** 3942 3943| 类型 | 说明 | 3944| ------------------------------------------------------- | --------------------------------------- | 3945| Promise\<Array\<[UiComponent](#uicomponentdeprecated)>> | 以Promise形式返回找到的控件对象的列表。 | 3946 3947**示例:** 3948 3949```ts 3950import { UiDriver, BY, UiComponent } from '@ohos.UiTest'; 3951async function demo() { 3952 let driver: UiDriver = UiDriver.create(); 3953 let buttonList: Array<UiComponent> = await driver.findComponents(BY.text('next page')); 3954} 3955``` 3956 3957### assertComponentExist<sup>(deprecated)</sup> 3958 3959assertComponentExist(by: By): Promise\<void> 3960 3961断言API,用于断言当前界面存在满足给出的目标控件属性的控件; 如果控件不存在,该API将抛出JS异常,使当前测试用例失败。 3962 3963从API version 9开始不再维护,建议使用[assertComponentExist<sup>9+</sup>](#assertcomponentexist9)。 3964 3965**系统能力**:SystemCapability.Test.UiTest 3966 3967**参数:** 3968 3969| 参数名 | 类型 | 必填 | 说明 | 3970| ------ | ------------------- | ---- | -------------------- | 3971| by | [By](#bydeprecated) | 是 | 目标控件的属性要求。 | 3972 3973**错误码:** 3974 3975以下错误码的详细介绍请参见[uitest测试框架错误码](../errorcodes/errorcode-uitest.md)。 3976 3977| 错误码ID | 错误信息 | 3978| -------- | ------------------------------------------------ | 3979| 17000002 | if the async function was not called with await. | 3980| 17000003 | if the assertion failed. | 3981 3982**示例:** 3983 3984```ts 3985import { UiDriver, BY } from '@ohos.UiTest'; 3986async function demo() { 3987 let driver: UiDriver = UiDriver.create(); 3988 await driver.assertComponentExist(BY.text('next page')); 3989} 3990``` 3991 3992### pressBack<sup>(deprecated)</sup> 3993 3994pressBack(): Promise\<void> 3995 3996UiDriver对象进行点击BACK键的操作。 3997 3998从API version 9开始不再维护,建议使用[pressBack<sup>9+</sup>](#pressback9)。 3999 4000**系统能力**:SystemCapability.Test.UiTest 4001 4002**示例:** 4003 4004```ts 4005import { UiDriver } from '@ohos.UiTest'; 4006async function demo() { 4007 let driver: UiDriver = UiDriver.create(); 4008 await driver.pressBack(); 4009} 4010``` 4011 4012### triggerKey<sup>(deprecated)</sup> 4013 4014triggerKey(keyCode: number): Promise\<void> 4015 4016UiDriver对象采取如下操作:通过key值找到对应键并点击。 4017 4018从API version 9开始不再维护,建议使用[triggerKey<sup>9+</sup>](#triggerkey9)。 4019 4020**系统能力**:SystemCapability.Test.UiTest 4021 4022**参数:** 4023 4024| 参数名 | 类型 | 必填 | 说明 | 4025| ------- | ------ | ---- | ------------- | 4026| keyCode | number | 是 | 指定的key值。 | 4027 4028**示例:** 4029 4030```ts 4031import { Driver, UiDriver } from '@ohos.UiTest'; 4032async function demo() { 4033 let driver: UiDriver = UiDriver.create(); 4034 await driver.triggerKey(123); 4035} 4036``` 4037 4038 4039### click<sup>(deprecated)</sup> 4040 4041click(x: number, y: number): Promise\<void> 4042 4043UiDriver对象采取如下操作:在目标坐标点单击。 4044 4045从API version 9开始不再维护,建议使用[click<sup>9+</sup>](#click9)。 4046 4047**系统能力**:SystemCapability.Test.UiTest 4048 4049**参数:** 4050 4051| 参数名 | 类型 | 必填 | 说明 | 4052| ------ | ------ | ---- | -------------------------------------- | 4053| x | number | 是 | 以number的形式传入目标点的横坐标信息。 | 4054| y | number | 是 | 以number的形式传入目标点的纵坐标信息。 | 4055 4056**示例:** 4057 4058```ts 4059import { UiDriver } from '@ohos.UiTest'; 4060async function demo() { 4061 let driver: UiDriver = UiDriver.create(); 4062 await driver.click(100,100); 4063} 4064``` 4065 4066### doubleClick<sup>(deprecated)</sup> 4067 4068doubleClick(x: number, y: number): Promise\<void> 4069 4070UiDriver对象采取如下操作:在目标坐标点双击。 4071 4072从API version 9开始不再维护,建议使用[doubleClick<sup>9+</sup>](#doubleclick9)。 4073 4074**系统能力**:SystemCapability.Test.UiTest 4075 4076**参数:** 4077 4078| 参数名 | 类型 | 必填 | 说明 | 4079| ------ | ------ | ---- | -------------------------------------- | 4080| x | number | 是 | 以number的形式传入目标点的横坐标信息。 | 4081| y | number | 是 | 以number的形式传入目标点的纵坐标信息。 | 4082 4083**示例:** 4084 4085```ts 4086import { UiDriver } from '@ohos.UiTest'; 4087async function demo() { 4088 let driver: UiDriver = UiDriver.create(); 4089 await driver.doubleClick(100,100); 4090} 4091``` 4092 4093### longClick<sup>(deprecated)</sup> 4094 4095longClick(x: number, y: number): Promise\<void> 4096 4097UiDriver对象采取如下操作:在目标坐标点长按下鼠标左键。 4098 4099从API version 9开始不再维护,建议使用[longClick<sup>9+</sup>](#longclick9)。 4100 4101**系统能力**:SystemCapability.Test.UiTest 4102 4103**参数:** 4104 4105| 参数名 | 类型 | 必填 | 说明 | 4106| ------ | ------ | ---- | -------------------------------------- | 4107| x | number | 是 | 以number的形式传入目标点的横坐标信息。 | 4108| y | number | 是 | 以number的形式传入目标点的纵坐标信息。 | 4109 4110**示例:** 4111 4112```ts 4113import { UiDriver } from '@ohos.UiTest'; 4114async function demo() { 4115 let driver: UiDriver = UiDriver.create(); 4116 await driver.longClick(100,100); 4117} 4118``` 4119 4120### swipe<sup>(deprecated)</sup> 4121 4122swipe(startx: number, starty: number, endx: number, endy: number): Promise\<void> 4123 4124UiDriver对象采取如下操作:从给出的起始坐标点滑向给出的目的坐标点。 4125 4126从API version 9开始不再维护,建议使用[swipe<sup>9+</sup>](#swipe9)。 4127 4128**系统能力**:SystemCapability.Test.UiTest 4129 4130**参数:** 4131 4132| 参数名 | 类型 | 必填 | 说明 | 4133| ------ | ------ | ---- | -------------------------------------- | 4134| startx | number | 是 | 以number的形式传入起始点的横坐标信息。 | 4135| starty | number | 是 | 以number的形式传入起始点的纵坐标信息。 | 4136| endx | number | 是 | 以number的形式传入目的点的横坐标信息。 | 4137| endy | number | 是 | 以number的形式传入目的点的纵坐标信息。 | 4138 4139**示例:** 4140 4141```ts 4142import { UiDriver } from '@ohos.UiTest'; 4143async function demo() { 4144 let driver: UiDriver = UiDriver.create(); 4145 await driver.swipe(100,100,200,200); 4146} 4147``` 4148 4149### screenCap<sup>(deprecated)</sup> 4150 4151screenCap(savePath: string): Promise\<boolean> 4152 4153UiDriver对象采取如下操作:捕获当前屏幕,并保存为PNG格式的图片至给出的保存路径中。 4154 4155从API version 9开始不再维护,建议使用[screenCap<sup>9+</sup>](#screencap9)。 4156 4157**系统能力**:SystemCapability.Test.UiTest 4158 4159**参数:** 4160 4161| 参数名 | 类型 | 必填 | 说明 | 4162| -------- | ------ | ---- | -------------- | 4163| savePath | string | 是 | 文件保存路径。 | 4164 4165**返回值:** 4166 4167| 类型 | 说明 | 4168| ----------------- | -------------------------------------- | 4169| Promise\<boolean> | 以Promise形式返回截图操作是否成功完成。成功完成为true。 | 4170 4171**示例:** 4172 4173```ts 4174import { UiDriver } from '@ohos.UiTest'; 4175async function demo() { 4176 let driver: UiDriver = UiDriver.create(); 4177 await driver.screenCap('/data/storage/el2/base/cache/1.png'); 4178} 4179```