Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
b8dbc89c
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3317
Star
107
Fork
842
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
102
列表
看板
标记
里程碑
合并请求
80
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
102
Issue
102
列表
看板
标记
里程碑
合并请求
80
合并请求
80
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
b8dbc89c
编写于
9月 20, 2024
作者:
dcloud_wdl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update uniapp自动化测试文档
上级
d8bb6aad
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
84 addition
and
8 deletion
+84
-8
docs/worktile/auto/hbuilderx-extension/index.md
docs/worktile/auto/hbuilderx-extension/index.md
+84
-8
未找到文件。
docs/worktile/auto/hbuilderx-extension/index.md
浏览文件 @
b8dbc89c
...
...
@@ -2,6 +2,7 @@
## 插件说明@description
本插件,用于在HBuilderX内运行uni-app自动化测试,支持H5、微信小程序、android、ios自动化测试。
主要功能有:
...
...
@@ -13,6 +14,7 @@
## 测试注意事项@note
1.
本插件支持
`uni-app普通项目`
和
`uniapp-cli项目`
。uniapp-cli项目,运行自动化测试,需要在当前项目下安装自动化测试依赖。
2.
Windows电脑不支持运行测试到
`ios手机`
。
3.
MacOSX电脑,仅支持运行测试到
`iOS模拟器`
,不支持ios真机,测试iOS模拟器,需要电脑装安装XCode。
...
...
@@ -23,6 +25,7 @@
## 插件安装@test-install
[
插件安装地址
](
https://ext.dcloud.net.cn/plugin?id=5708
)
如下图所示,在插件市场,进入
[
插件详情页
](
https://ext.dcloud.net.cn/plugin?id=5708
)
,点击【导入插件】,会自动拉起本地安装的HBuilderX。
...
...
@@ -33,6 +36,7 @@
## 测试环境安装@env
**插件依赖:**
-
H5、微信、ios、android自动化测试依赖
`puppeteer`
、
`adbkit`
、
`node-simctl`
、
`jest`
、
`playwright`
,运行插件时,如果未安装此依赖,将会弹窗自动安装。
...
...
@@ -44,7 +48,7 @@
-
uni-app普通项目,需要通过插件
`hbuilderx-for-uniapp-test`
来安装测试环境。
-
uniapp-cli项目,只需在项目下安装相关测试依赖即可。
[
详情
](
#cli
)
### uni-app普通项目@uni-app
###
#
uni-app普通项目@uni-app
uni-app普通项目,
`初始化测试环境`
或
`运行测试`
时,如果未安装相关依赖,会自动安装。
...
...
@@ -54,7 +58,7 @@ uni-app普通项目,`初始化测试环境`或`运行测试`时,如果未安
<img
src=
"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/env_install.gif"
style=
"zoom: 70%;border: 1px solid #eee; border-radius: 10px;"
/>
### uniapp-cli项目@cli
###
#
uniapp-cli项目@cli
uniapp-cli项目,自动化测试运行,将使用
**项目下的依赖库**
。
...
...
@@ -63,34 +67,37 @@ uniapp-cli项目,自动化测试运行,将使用**项目下的依赖库**。
npm
install
--save
cross-env puppeteer adbkit node-simctl jest playwright @playwright/test
```
## 创建测试用例@create-testcase
uni-app项目,pages页面,右键菜单,创建测试用例
<img
src=
"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/testcase_create.gif"
style=
"zoom: 70%;border: 1px solid #eee;border-radius: 15px;"
/>
## 测试运行@test-run
创建测试用例之后,选中项目,右键菜单【运行uni-app自动化测试】,选择运行平台,即可开始运行测试。
<img
src=
"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/run_test.gif"
style=
"zoom: 70%;border: 1px solid #eee;border-radius: 10px;"
/>
**注意**
:如果要运行指定的测试用例,请在项目管理器
**选中**
要运行的用例,右键菜单【运行当前测试用例】
### 测试平台说明@platform
###
#
测试平台说明@platform
-
Windows电脑
**不支持**
运行测试到
`ios手机`
-
MacOSX电脑,仅支持运行测试到
`ios模拟器`
,
**不支持**
ios真机。
-
运行测试到H5,仅支持
`chrome`
浏览器,
**不支持**
其它浏览器。
-
运行测试到Android手机,如果HBuilderX仅检测到
**一个android设备**
,直接运行测试到当前已连接设备。多个设备时,会弹窗要求选择手机。
### 选择测试平台@select-platform
###
#
选择测试平台@select-platform
如下图所示,运行测试时,支持选择对应平台。
<img
src=
"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/test_platforms.png"
style=
"zoom: 50%;border: 1px solid #eee;border-radius: 5px;"
/>
### 选择设备@select-devices
###
#
选择设备@select-devices
> 如果无法获取到设备信息,请[参考](/tutorial/run/run-app-faq.md)
...
...
@@ -99,6 +106,7 @@ uni-app项目,pages页面,右键菜单,创建测试用例
## 插件配置@extension-config
点击菜单【设置】【插件配置】,找到hbuilderx-for-uniapp-test项,即可看到设置项。
<img
src=
"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/plugins_settings.png"
style=
"zoom: 50%;border: 1px solid #eee;border-radius: 5px;"
/>
...
...
@@ -112,6 +120,7 @@ uni-app项目,pages页面,右键菜单,创建测试用例
## 如何编写测试用例@howToWriteTestcase
> uni-app自动化测试,使用了业内常见的jest测试库。
-
uni-app项目,pages目录下,右键菜单【创建测试用例】,选择模板。
...
...
@@ -119,7 +128,7 @@ uni-app项目,pages页面,右键菜单,创建测试用例
-
测试用例编写,请遵循jest规范。
### jest用例解析@jest-testcase
###
#
jest用例解析@jest-testcase
下面将使用一个最简单的示例,来讲解测试用例的组成。
...
...
@@ -145,7 +154,7 @@ describe("sum test", () => {
```
### uni-app页面用例示例@example
###
#
uni-app页面用例示例@example
以uni-app【默认模板】index页面为例。
...
...
@@ -173,6 +182,7 @@ describe('test title', () => {
## Setup and Teardown@SetupTeardown
> 通常在编写测试时,您需要在测试运行之前进行一些设置工作,并且在测试运行之后需要进行一些完成工作。可以使用Jest的钩子函数来解决这个问题.
**jest中有4个钩子函数**
...
...
@@ -184,7 +194,7 @@ describe('test title', () => {
文档扩展:
[
jest setup-teardown
](
https://jestjs.io/docs/setup-teardown
)
### 钩子函数的执行顺序@sequence
###
#
钩子函数的执行顺序@sequence
用下列代码,我们来查看一下函数执行顺序
...
...
@@ -248,3 +258,69 @@ Time: 0.454 s
|afterEach |afterEach(() => {}); |
|afterAll |afterAll(() => {}); |
|beforeAll |beforeAll(() => {}); |
## env.js@envjs
> 提醒:下面关于env.js的介绍,大部分情况下,自动化测试插件会自动修改,无需您手动调整。如果不确定,请勿修改。
通常,测试项目下有个测试配置文件env.js,内容如下:
```
js
module
.
exports
=
{
// is-custom-runtime = true,修改env.js时,将不会使用标准基座路径,替代env.js中已配置的android、ios基座路径。
"
is-custom-runtime
"
:
false
,
"
UNI_TEST_CUSTOM_ENV
"
:
{
// 自动化测试插件 1.9.0版本新增`UNI_TEST_CUSTOM_ENV`
"
xx
"
:
"
xx
"
},
"
compile
"
:
true
,
"
h5
"
:
{
// 此处省略........
},
"
mp-weixin
"
:
{
// 此处省略........
},
"
app-plus
"
:
{
// 此处省略........
}
}
```
#### env.js UNI_TEST_CUSTOM_ENV
> 提示:大部分场景下,您不会用到UNI_TEST_CUSTOM_ENV。修改请慎重。
下面将对
`UNI_TEST_CUSTOM_ENV`
做介绍。
自动化测试插件 1.9.0版本新增
`UNI_TEST_CUSTOM_ENV`
, 用于读取自定义环境变量,并传递给uniapp自动化测试框架命令行。后期会随时扩充新的key。
```
js
{
"
UNI_TEST_CUSTOM_ENV
"
:
{
// APPID 用于测试自定义基座
"
UNI_TEST_BASE_APPID
"
:
"
__UNI__xxxxxxxx
"
,
// 基座包名 用于测试自定义基座
"
UNI_TEST_BASE_PACKAGE_NAME
"
:
"
io.xxx.xxx
"
}
}
```
## 多个HBuilderX时,如何共用一个测试依赖?
场景:电脑上安装了HBuilderX 正式版、Dev、Alpha版本,每个程序plugins目录都重新安装一遍测试依赖?答案:不需要。
解决方案:
1.
进入HBuilderX安装目录,将plugins目录下的hbuilderx-for-uniapp-test-lib目录,拷贝到电脑其它目录。
2.
拷贝后,在命令行进入拷贝目录下,执行
`npm install`
3.
打开HBuilderX菜单【设置】【源码视图】,增加配置项:
```
{
"hbuilderx-for-uniapp-test.customTestEnvironmentDependencyDir" : "自定义的测试依赖node_modules路径,路径必须以node_modules结尾"
}
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录