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