Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
7aac5317
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7aac5317
编写于
3月 07, 2023
作者:
Z
zhouke
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
js-apis-uitest.md 修改.Signed-off-by: <zhouke35@huawei.com>.
Signed-off-by:
N
zhouke
<
zhouke35@huawei.com
>
上级
2747f55f
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
278 addition
and
18 deletion
+278
-18
zh-cn/application-dev/reference/apis/js-apis-UiTest.md
zh-cn/application-dev/reference/apis/js-apis-UiTest.md
+278
-18
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-UiTest.md
浏览文件 @
7aac5317
# @ohos.UiTest
(UiTest)
# @ohos.UiTest
UiTest提供模拟UI操作的能力,供开发者在测试场景使用,主要支持如点击、双击、长按、滑动等UI操作能力。
UiTest提供模拟UI操作的能力,供开发者在测试场景使用,主要支持如点击、双击、长按、滑动等UI操作能力。
...
@@ -20,7 +20,7 @@ UiTest提供模拟UI操作的能力,供开发者在测试场景使用,主要
...
@@ -20,7 +20,7 @@ UiTest提供模拟UI操作的能力,供开发者在测试场景使用,主要
## 导入模块
## 导入模块
```
js
```
js
import
{
UiComponent
,
UiDriver
,
Component
,
Driver
,
UiWindow
,
ON
,
BY
,
MatchPattern
,
DisplayRotation
,
ResizeDirection
,
WindowMode
,
PointerMatrix
}
from
'
@ohos.uit
est
'
;
import
{
UiComponent
,
UiDriver
,
Component
,
Driver
,
UiWindow
,
ON
,
BY
,
MatchPattern
,
DisplayRotation
,
ResizeDirection
,
WindowMode
,
PointerMatrix
,
UiDirection
,
MouseButton
}
from
'
@ohos.UiT
est
'
;
```
```
## MatchPattern
## MatchPattern
...
@@ -103,6 +103,19 @@ import {UiComponent, UiDriver, Component, Driver, UiWindow, ON, BY, MatchPattern
...
@@ -103,6 +103,19 @@ import {UiComponent, UiDriver, Component, Driver, UiWindow, ON, BY, MatchPattern
| ROTATION_180 | 2 | 设备显示器顺时针旋转180°,逆向垂直显示。 |
| ROTATION_180 | 2 | 设备显示器顺时针旋转180°,逆向垂直显示。 |
| ROTATION_270 | 3 | 设备显示器顺时针旋转270°,逆向水平显示。 |
| ROTATION_270 | 3 | 设备显示器顺时针旋转270°,逆向水平显示。 |
## DisplayRotation<sup>9+</sup>
**系统能力**
:SystemCapability.Test.UiTest
设备显示器的显示方向。
| 名称 | 值 | 说明 |
| ------------ | ---- | ---------------------------------------- |
| ROTATION_0 | 0 | 设备显示器不旋转,初始形态垂直显示。 |
| ROTATION_90 | 1 | 设备显示器顺时针旋转90°,水平显示。 |
| ROTATION_180 | 2 | 设备显示器顺时针旋转180°,逆向垂直显示。 |
| ROTATION_270 | 3 | 设备显示器顺时针旋转270°,逆向水平显示。 |
## WindowFilter<sup>9+</sup>
## WindowFilter<sup>9+</sup>
窗口的标志属性信息。
窗口的标志属性信息。
...
@@ -116,6 +129,31 @@ import {UiComponent, UiDriver, Component, Driver, UiWindow, ON, BY, MatchPattern
...
@@ -116,6 +129,31 @@ import {UiComponent, UiDriver, Component, Driver, UiWindow, ON, BY, MatchPattern
| focused | boolean | 是 | 否 | 窗口是否处于获焦状态。 |
| focused | boolean | 是 | 否 | 窗口是否处于获焦状态。 |
| actived | boolean | 是 | 否 | 窗口是否正与用户进行交互。 |
| actived | boolean | 是 | 否 | 窗口是否正与用户进行交互。 |
## UiDirection<sup>10+</sup>
**系统能力**
:SystemCapability.Test.UiTest
进行抛滑等UI操作时的方向。
| 名称 | 值 | 说明 |
| ----- | ---- | ------ |
| LEFT | 0 | 向左。 |
| RIGHT | 1 | 向右。 |
| UP | 2 | 向上。 |
| DOWN | 3 | 向下。 |
## MouseButton<sup>10+</sup>
**系统能力**
:SystemCapability.Test.UiTest
模拟注入的鼠标按钮。
| 名称 | 值 | 说明 |
| ------------------- | ---- | ------------ |
| MOUSE_BUTTON_LEFT | 0 | 鼠标左键。 |
| MOUSE_BUTTON_RIGHT | 1 | 鼠标右键。 |
| MOUSE_BUTTON_MIDDLE | 2 | 鼠标中间键。 |
## On<sup>9+</sup>
## On<sup>9+</sup>
UiTest框架在API 9中,通过On类提供了丰富的控件特征描述API,用于进行控件筛选来匹配/查找出目标控件。
<br>
UiTest框架在API 9中,通过On类提供了丰富的控件特征描述API,用于进行控件筛选来匹配/查找出目标控件。
<br>
...
@@ -468,6 +506,58 @@ isAfter(on: On): On
...
@@ -468,6 +506,58 @@ isAfter(on: On): On
let
on
=
ON
.
isAfter
(
ON
.
text
(
'
123
'
));
// 使用静态构造器ON创建On对象,指定目标控件位于给出的特征属性控件之后。
let
on
=
ON
.
isAfter
(
ON
.
text
(
'
123
'
));
// 使用静态构造器ON创建On对象,指定目标控件位于给出的特征属性控件之后。
```
```
### within<sup>10+</sup>
within(on: On): On
指定目标控件位于给出的特征属性控件之内,返回On对象自身。
**系统能力**
:SystemCapability.Test.UiTest
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------- | ---- | -------------------- |
| on |
[
On
](
#on9
)
| 是 | 特征控件的属性要求。 |
**返回值:**
| 类型 | 说明 |
| ---------- | -------------------------------------------------- |
|
[
On
](
#on9
)
| 返回指定目标控件位于给出的特征属性控件内的On对象。 |
**示例:**
```
js
let
on
=
ON
.
within
(
ON
.
type
(
'
List
'
));
// 使用静态构造器ON创建On对象,指定目标控件位于给出的特征属性控件之内。
```
### inWindow<sup>10+</sup>
inWindow(bundleName: string): On;
指定目标控件位于给出的应用窗口内,返回On对象自身。
**系统能力**
:SystemCapability.Test.UiTest
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ---------------- |
| bundleName | string | 是 | 应用窗口的包名。 |
**返回值:**
| 类型 | 说明 |
| ---------- | ---------------------------------------------- |
|
[
On
](
#on9
)
| 返回指定目标控件位于给出的应用窗口内的On对象。 |
**示例:**
```
js
let
on
=
ON
.
inWindow
(
ON
.
inWindow
(
'
com.uitestScene.acts
'
));
// 使用静态构造器ON创建On对象,指定目标控件位于给出的应用窗口内。
```
## Component<sup>9+</sup>
## Component<sup>9+</sup>
UiTest框架在API9中,Component类代表了UI界面上的一个控件,提供控件属性获取,控件点击,滑动查找,文本注入等API。
UiTest框架在API9中,Component类代表了UI界面上的一个控件,提供控件属性获取,控件点击,滑动查找,文本注入等API。
...
@@ -1816,7 +1906,7 @@ Driver对象采取如下操作:捕获当前屏幕,并保存为PNG格式的
...
@@ -1816,7 +1906,7 @@ Driver对象采取如下操作:捕获当前屏幕,并保存为PNG格式的
```
js
```
js
async
function
demo
()
{
async
function
demo
()
{
let
driver
=
Driver
.
create
();
let
driver
=
Driver
.
create
();
await
driver
.
screenCap
(
'
/
local/tmp
/1.png
'
);
await
driver
.
screenCap
(
'
/
data/storage/el2/base/cache
/1.png
'
);
}
}
```
```
...
@@ -2078,7 +2168,7 @@ fling(from: Point, to: Point, stepLen: number, speed: number): Promise\<void>
...
@@ -2078,7 +2168,7 @@ fling(from: Point, to: Point, stepLen: number, speed: number): Promise\<void>
| from |
[
Point
](
#point9
)
| 是 | 手指接触屏幕的起始点坐标。 |
| from |
[
Point
](
#point9
)
| 是 | 手指接触屏幕的起始点坐标。 |
| to |
[
Point
](
#point9
)
| 是 | 手指离开屏幕时的坐标点。 |
| to |
[
Point
](
#point9
)
| 是 | 手指离开屏幕时的坐标点。 |
| stepLen | number | 是 | 间隔距离,单位:像素点。 |
| stepLen | number | 是 | 间隔距离,单位:像素点。 |
| speed | number | 是 | 滑动速率,范围:200-
15
000,不在范围内设为默认值为600,单位:像素点/秒。 |
| speed | number | 是 | 滑动速率,范围:200-
40
000,不在范围内设为默认值为600,单位:像素点/秒。 |
**错误码:**
**错误码:**
...
@@ -2093,7 +2183,7 @@ fling(from: Point, to: Point, stepLen: number, speed: number): Promise\<void>
...
@@ -2093,7 +2183,7 @@ fling(from: Point, to: Point, stepLen: number, speed: number): Promise\<void>
```
js
```
js
async
function
demo
()
{
async
function
demo
()
{
let
driver
=
Driver
.
create
();
let
driver
=
Driver
.
create
();
await
driver
.
fling
({
X
:
500
,
Y
:
480
},{
X
:
450
,
Y
:
480
},
5
,
600
);
await
driver
.
fling
({
x
:
500
,
y
:
480
},{
x
:
450
,
y
:
480
},
5
,
600
);
}
}
```
```
...
@@ -2132,16 +2222,186 @@ injectMultiPointerAction(pointers: PointerMatrix, speed?: number): Promise\<bool
...
@@ -2132,16 +2222,186 @@ injectMultiPointerAction(pointers: PointerMatrix, speed?: number): Promise\<bool
async
function
demo
()
{
async
function
demo
()
{
let
driver
=
Driver
.
create
();
let
driver
=
Driver
.
create
();
let
pointers
=
PointerMatrix
.
create
(
2
,
3
);
let
pointers
=
PointerMatrix
.
create
(
2
,
3
);
pointers
.
setPoint
(
0
,
0
,{
X
:
230
,
Y
:
480
});
pointers
.
setPoint
(
0
,
0
,{
x
:
230
,
y
:
480
});
pointers
.
setPoint
(
0
,
1
,{
X
:
250
,
Y
:
380
});
pointers
.
setPoint
(
0
,
1
,{
x
:
250
,
y
:
380
});
pointers
.
setPoint
(
0
,
2
,{
X
:
270
,
Y
:
280
});
pointers
.
setPoint
(
0
,
2
,{
x
:
270
,
y
:
280
});
pointers
.
setPoint
(
1
,
0
,{
X
:
230
,
Y
:
680
});
pointers
.
setPoint
(
1
,
0
,{
x
:
230
,
y
:
680
});
pointers
.
setPoint
(
1
,
1
,{
X
:
240
,
Y
:
580
});
pointers
.
setPoint
(
1
,
1
,{
x
:
240
,
y
:
580
});
pointers
.
setPoint
(
1
,
2
,{
X
:
250
,
Y
:
480
});
pointers
.
setPoint
(
1
,
2
,{
x
:
250
,
y
:
480
});
await
driver
.
injectMultiPointerAction
(
pointers
);
await
driver
.
injectMultiPointerAction
(
pointers
);
}
}
```
```
### fling<sup>10+</sup>
fling(direction: UiDirection, speed: number): Promise
<void>
;
指定方向和速度,模拟手指滑动后脱离屏幕的快速滑动操作。
**系统能力**
:SystemCapability.Test.UiTest
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ----------------------------- | ---- | ------------------------------------------------------------ |
| direction |
[
UiDirection
](
#uidirection10
)
| 是 | 进行抛滑的方向。 |
| speed | number | 是 | 滑动速率,范围:200-40000,不在范围内设为默认值为600,单位:像素点/秒。 |
**错误码:**
以下错误码的详细介绍请参见
[
uitest测试框架错误码
](
../errorcodes/errorcode-uitest.md
)
。
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 17000002 | API does not allow calling concurrently. |
**示例:**
```
js
async
function
demo
()
{
let
driver
=
Driver
.
create
();
await
driver
.
fling
(
UiDirection
.
DOWN
,
10000
);
}
```
### screenCapture<sup>10+</sup>
screenCapture(savePath: string, rect?: Rect): Promise
<boolean>
;
捕获当前屏幕的指定区域,并保存为PNG格式的图片至给出的保存路径中。
**系统能力**
:SystemCapability.Test.UiTest
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------- | ---- | ---------------------- |
| savePath | string | 是 | 文件保存路径。 |
| rect |
[
Rect
](
#rect9
)
| 否 | 截图区域,默认为全屏。 |
**返回值:**
| 类型 | 说明 |
| ----------------- | -------------------------------------- |
| Promise
\<
boolean> | 截图操作是否成功完成。成功完成为true。 |
**错误码:**
以下错误码的详细介绍请参见
[
uitest测试框架错误码
](
../errorcodes/errorcode-uitest.md
)
。
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 17000002 | API does not allow calling concurrently. |
**示例:**
```
js
async
function
demo
()
{
let
driver
=
Driver
.
create
();
await
driver
.
screenCapture
(
'
/data/storage/el2/base/cache/1.png
'
,
{
left
:
0
,
top
:
0
,
right
:
100
,
bottom
:
100
});
}
```
### mouseClick<sup>10+</sup>
mouseClick(p: Point, btnId: MouseButton, key1?: number, key2?: number): Promise
<void>
;
在指定坐标点注入鼠标点击动作,支持同时按下对应键盘组合键。例如,Key值为2072时,按下ctrl并进行鼠标点击动作。
**系统能力**
:SystemCapability.Test.UiTest
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | ---- | ------------------- |
| p |
[
Point
](
#point9
)
| 是 | 鼠标点击的坐标。 |
| btnId |
[
MouseButton
](
#mousebutton10
)
| 是 | 按下的鼠标按钮。 |
| key1 | number | 是 | 指定的第一个key值。 |
| key2 | number | 否 | 指定的第二个key值。 |
**错误码:**
以下错误码的详细介绍请参见
[
uitest测试框架错误码
](
../errorcodes/errorcode-uitest.md
)
。
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 17000002 | API does not allow calling concurrently. |
**示例:**
```
js
async
function
demo
()
{
let
driver
=
Driver
.
create
();
await
driver
.
mouseClick
({
x
:
248
,
y
:
194
},
MouseButton
.
MOUSE_BUTTON_LEFT
,
2072
);
}
```
### mouseScroll<sup>10+</sup>
mouseScroll(p: Point, down: boolean, d: number, key1?: number, key2?: number): Promise
<void>
;
在指定坐标点注入鼠标滚轮滑动动作,支持同时按下对应键盘组合键。例如,Key值为2072时,按下ctrl并进行鼠标滚轮滑动动作。
**系统能力**
:SystemCapability.Test.UiTest
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------- | ---- | --------------------------------------------------- |
| p |
[
Point
](
#point9
)
| 是 | 鼠标点击的坐标。 |
| down | boolean | 是 | 滚轮滑动方向是否向下。 |
| d | number | 是 | 鼠标滚轮滚动的格数,每格对应目标点位移120的像素点。 |
| key1 | number | 是 | 指定的第一个key值。 |
| key2 | number | 否 | 指定的第二个key值。 |
**错误码:**
以下错误码的详细介绍请参见
[
uitest测试框架错误码
](
../errorcodes/errorcode-uitest.md
)
。
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 17000002 | API does not allow calling concurrently. |
**示例:**
```
js
async
function
demo
()
{
let
driver
=
Driver
.
create
();
await
driver
.
mouseScroll
({
x
:
360
,
y
:
640
},
true
,
30
,
2072
)
}
```
### mouseMoveTo<sup>10+</sup>
mouseMoveTo(p: Point): Promise
<void>
;
将鼠标光标移到目标点。
**系统能力**
:SystemCapability.Test.UiTest
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------- | ---- | -------------- |
| p |
[
Point
](
#point9
)
| 是 | 目标点的坐标。 |
**错误码:**
以下错误码的详细介绍请参见
[
uitest测试框架错误码
](
../errorcodes/errorcode-uitest.md
)
。
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 17000002 | API does not allow calling concurrently. |
**示例:**
```
js
async
function
demo
()
{
let
driver
=
Driver
.
create
();
await
driver
.
mouseMoveTo
({
x
:
100
,
y
:
100
})
}
```
## PointerMatrix<sup>9+</sup>
## PointerMatrix<sup>9+</sup>
存储多指操作中每根手指每一步动作的坐标点及其行为的二维数组。
存储多指操作中每根手指每一步动作的坐标点及其行为的二维数组。
...
@@ -2196,12 +2456,12 @@ setPoint(finger: number, step: number, point: Point): void
...
@@ -2196,12 +2456,12 @@ setPoint(finger: number, step: number, point: Point): void
```
js
```
js
async
function
demo
()
{
async
function
demo
()
{
let
pointers
=
PointerMatrix
.
create
(
2
,
3
);
let
pointers
=
PointerMatrix
.
create
(
2
,
3
);
pointers
.
setPoint
(
0
,
0
,{
X
:
230
,
Y
:
480
});
pointers
.
setPoint
(
0
,
0
,{
x
:
230
,
y
:
480
});
pointers
.
setPoint
(
0
,
1
,{
X
:
250
,
Y
:
380
});
pointers
.
setPoint
(
0
,
1
,{
x
:
250
,
y
:
380
});
pointers
.
setPoint
(
0
,
2
,{
X
:
270
,
Y
:
280
});
pointers
.
setPoint
(
0
,
2
,{
x
:
270
,
y
:
280
});
pointers
.
setPoint
(
1
,
0
,{
X
:
230
,
Y
:
680
});
pointers
.
setPoint
(
1
,
0
,{
x
:
230
,
y
:
680
});
pointers
.
setPoint
(
1
,
1
,{
X
:
240
,
Y
:
580
});
pointers
.
setPoint
(
1
,
1
,{
x
:
240
,
y
:
580
});
pointers
.
setPoint
(
1
,
2
,{
X
:
250
,
Y
:
480
});
pointers
.
setPoint
(
1
,
2
,{
x
:
250
,
y
:
480
});
}
}
```
```
...
@@ -3673,6 +3933,6 @@ UiDriver对象采取如下操作:捕获当前屏幕,并保存为PNG格式的
...
@@ -3673,6 +3933,6 @@ UiDriver对象采取如下操作:捕获当前屏幕,并保存为PNG格式的
```
js
```
js
async
function
demo
()
{
async
function
demo
()
{
let
driver
=
UiDriver
.
create
();
let
driver
=
UiDriver
.
create
();
await
driver
.
screenCap
(
'
/
local/tmp
/1.png
'
);
await
driver
.
screenCap
(
'
/
data/storage/el2/base/cache
/1.png
'
);
}
}
```
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录