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