Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
동경
unidocs-zh
提交
dc994bee
unidocs-zh
项目概览
동경
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
dc994bee
编写于
6月 29, 2022
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://gitee.com/dcloud/unidocs-zh
上级
d4217dbf
698fcb91
变更
15
展开全部
隐藏空白更改
内联
并排
Showing
15 changed file
with
403 addition
and
791 deletion
+403
-791
.gitignore
.gitignore
+2
-1
docs/.vuepress/theme/components/SiderBarBottom.vue
docs/.vuepress/theme/components/SiderBarBottom.vue
+1
-1
docs/.vuepress/theme/config/siderbar/uni-app.js
docs/.vuepress/theme/config/siderbar/uni-app.js
+6
-6
docs/api/README.md
docs/api/README.md
+4
-4
docs/api/plugins/getEnterOptionsSync.md
docs/api/plugins/getEnterOptionsSync.md
+29
-2
docs/api/plugins/getLaunchOptionsSync.md
docs/api/plugins/getLaunchOptionsSync.md
+29
-2
docs/collocation/App.md
docs/collocation/App.md
+3
-1
docs/collocation/manifest.md
docs/collocation/manifest.md
+0
-639
docs/component/image.md
docs/component/image.md
+1
-1
docs/tutorial/app-push-unipush.md
docs/tutorial/app-push-unipush.md
+94
-0
docs/uniCloud/uni-push.md
docs/uniCloud/uni-push.md
+119
-71
docs/unipush-custom-icon.md
docs/unipush-custom-icon.md
+48
-10
docs/unipush.md
docs/unipush.md
+1
-1
docs/worktile/auto/quick-start.md
docs/worktile/auto/quick-start.md
+52
-49
docs/worktile/auto/uniapp-cli-project.md
docs/worktile/auto/uniapp-cli-project.md
+14
-3
未找到文件。
.gitignore
浏览文件 @
dc994bee
node_modules
docs/.vuepress/dist
.DS_Store
root/sitemap.xml
\ No newline at end of file
root/sitemap.xml
dist
\ No newline at end of file
docs/.vuepress/theme/components/SiderBarBottom.vue
浏览文件 @
dc994bee
...
...
@@ -47,7 +47,7 @@
<a
v-else
target=
"_blank"
style=
"text-decoration: underline"
href=
"https://qm.qq.com/cgi-bin/qm/qr?k=
gj6sszH_Vt6jqhfd-bzPLKH-hHv5lfyG
&jump_from=webapi"
href=
"https://qm.qq.com/cgi-bin/qm/qr?k=
yqWNieAR2_nPtIBs_U-sH5H-RbWZ7HQk
&jump_from=webapi"
>
点此加入
</a>
...
...
docs/.vuepress/theme/config/siderbar/uni-app.js
浏览文件 @
dc994bee
...
...
@@ -90,14 +90,14 @@ export default {
"
prefix
"
:
"
群12
"
},
{
"
number
"
:
"
465953250
"
,
"
number
"
:
"
699478442
"
,
"
state
"
:
1
,
"
prefix
"
:
"
群1
4
"
"
prefix
"
:
"
群1
3
"
},
{
"
number
"
:
"
51698412
0
"
,
"
number
"
:
"
46595325
0
"
,
"
state
"
:
1
,
"
prefix
"
:
"
群1
5
"
"
prefix
"
:
"
群1
4
"
},
{
"
number
"
:
"
719211033
"
,
...
...
@@ -200,9 +200,9 @@ export default {
"
prefix
"
:
"
群35
"
},
{
"
number
"
:
"
699478442
"
,
"
number
"
:
"
516984120
"
,
"
state
"
:
0
,
"
prefix
"
:
"
群1
3
"
"
prefix
"
:
"
群1
5
"
}
]
}
docs/api/README.md
浏览文件 @
dc994bee
...
...
@@ -6,13 +6,13 @@ uni-app 基于 ECMAScript 扩展了 uni 对象,并且 API 命名与小程序
## 标准 js 和浏览器 js 的区别
`uni-app`
的 js 代码,
h5 端运行于浏览器中。非 h5
端(包含小程序和 App),Android 平台运行在 v8 引擎中,iOS 平台运行在 iOS 自带的 jscore 引擎中,都没有运行在浏览器或 webview 里。
`uni-app`
的 js 代码,
web端运行于浏览器中。非web
端(包含小程序和 App),Android 平台运行在 v8 引擎中,iOS 平台运行在 iOS 自带的 jscore 引擎中,都没有运行在浏览器或 webview 里。
非
H5
端,虽然不支持 window、document、navigator 等浏览器的 js API,但也支持标准 ECMAScript。
非
web
端,虽然不支持 window、document、navigator 等浏览器的 js API,但也支持标准 ECMAScript。
请注意不要把浏览器里的 js
扩展对象
等价于标准 js。
请注意不要把浏览器里的 js 等价于标准 js。
所以 uni-app 的
非 H5
端,一样支持标准 js,支持 if、for 等语法,支持字符串、数字、时间、布尔值、数组、自定义对象等变量类型及各种处理方法。仅仅是不支持 window、document、navigator 等浏览器专用对象。
所以 uni-app 的
web
端,一样支持标准 js,支持 if、for 等语法,支持字符串、数字、时间、布尔值、数组、自定义对象等变量类型及各种处理方法。仅仅是不支持 window、document、navigator 等浏览器专用对象。
## 各端特色 API 调用
...
...
docs/api/plugins/getEnterOptionsSync.md
浏览文件 @
dc994bee
...
...
@@ -14,15 +14,42 @@
|scene|Number|启动时的场景值,具体值含义请查看各平台文档说明|其他平台均支持,
`字节小程序(1.12.0)`
|
|query|Object|启动时的 query 参数|其他平台均支持,
`字节小程序(1.12.0)`
|
|referrerInfo|Object|来源信息。如果没有则返回
`{}`
|其他平台均支持,
`字节小程序(1.15.0)`
|
|channel|String|如果应用没有设置渠道标识,则返回空字符串。取值如下|
`仅 App 支持`
|
|launcher|String|应用启动来源。取值如下|
`仅 App 支持`
|
|forwardMaterials|Array.
\<
Object
\>
|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|
`微信小程序`
|
|chatType|number|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|
`仅微信小程序`
|
|apiCategory|string|API 类别|
`仅微信小程序(2.20.0)`
|
|showFrom|number|唤起小程序的方式,目前取值固定为 10,表示通过 schema 唤起|
`仅字节小程序(1.90.0)`
|
|mode|'default' | 'halfPage'|启动小程序的模式|
`仅快手小程序`
|
|mode|'default'
\
|
'halfPage'|启动小程序的模式|
`仅快手小程序`
|
**Object referrerInfo**
|属性|类型|说明|平台差异说明|
|:-|:-|:-|:-|
|appId|String|来源小程序 appId |其他平台均支持,
`字节小程序(1.15.0)`
|
|extraData|Object|来源小程序传过来的数据。|其他平台均支持,
`字节小程序(1.15.0)`
|
\ No newline at end of file
|extraData|Object|来源小程序传过来的数据。|其他平台均支持,
`字节小程序(1.15.0)`
|
**channel 取值**
> 默认提供 `7` 个渠道(`Google`、`360`、`小米`、`华为`、`应用宝`、`vivo`、`oppo`),更多可以在`manifest.json`文件中【源码视图】进行配置,[详情](https://ask.dcloud.net.cn/article/35974)
| 默认渠道 | 渠道标识ID |
| ------------ | -------- |
| GooglePlay | google |
| 应用宝 | yyb |
| 360应用市场 | 360 |
| 华为应用商店 | huawei |
| 小米应用商店 | xiaomi |
| vivo应用商店 | vivo|
| oppo应用商店 | oppo |
**launcher 取值**
| 值 | 说明 |
| ------------ | -------- |
| default | 默认启动方式,通常表示应用列表启动(360手助中搜索启动) |
| scheme | 通过urlscheme方式触发启动 |
| push | 通过点击系统通知方式触发启动 |
| uniLink | 通过通用链接(universal link)启动应用 |
| miniProgram | 通过微信小程序启动应用 |
| shortcut | 通过快捷方式启动,iOS平台表示通过3D Touch快捷方式,Android平台表示通过桌面快捷方式启动 |
| barcode | 通过二维码扫描启动|
\ No newline at end of file
docs/api/plugins/getLaunchOptionsSync.md
浏览文件 @
dc994bee
...
...
@@ -14,12 +14,14 @@
|scene|Number|启动时的场景值,具体值含义请查看各平台文档说明。钉钉小程序在 IDE 恒为0000,真机不支持。|其他平台均支持,
`字节小程序(1.12.0)`
|
|query|Object|启动时的 query 参数|其他平台均支持,
`字节小程序(1.12.0)`
|
|referrerInfo|Object|来源信息。如果没有则返回
`{}`
|其他平台均支持,
`字节小程序(1.15.0)`
,
`飞书小程序不支持`
,
`钉钉小程序不支持`
|
|channel|String|如果应用没有设置渠道标识,则返回空字符串。取值如下|
`仅 App 支持`
|
|launcher|String|应用启动来源。取值如下|
`仅 App 支持`
|
|forwardMaterials|Array.
\<
Object
\>
|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|
`微信小程序`
、
`QQ小程序`
|
|entryDataHash|string|群入口信息,通过群应用商店打开、群分享卡片打开的小程序可获得|
`仅QQ小程序`
|
|chatType|number|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|
`仅微信小程序`
|
|apiCategory|string|API 类别|
`仅微信小程序(2.20.0)`
|
|showFrom|number|唤起小程序的方式,目前取值固定为 10,表示通过 schema 唤起|
`仅字节小程序(1.90.0)`
|
|mode|'default' | 'halfPage'|启动小程序的模式|
`仅快手小程序`
|
|mode|'default'
\
|
'halfPage'|启动小程序的模式|
`仅快手小程序`
|
|subScene|string|子场景值(定义待补充)|
`仅飞书小程序`
|
**Object referrerInfo**
...
...
@@ -27,4 +29,29 @@
|属性|类型|说明|平台差异说明|
|:-|:-|:-|:-|
|appId|String|来源小程序 appId |其他平台均支持,
`字节小程序(1.15.0)`
|
|extraData|Object|来源小程序传过来的数据|其他平台均支持,
`字节小程序(1.15.0)`
|
\ No newline at end of file
|extraData|Object|来源小程序传过来的数据|其他平台均支持,
`字节小程序(1.15.0)`
|
**channel 取值**
> 默认提供 `7` 个渠道(`Google`、`360`、`小米`、`华为`、`应用宝`、`vivo`、`oppo`),更多可以在`manifest.json`文件中【源码视图】进行配置,[详情](https://ask.dcloud.net.cn/article/35974)
| 默认渠道 | 渠道标识ID |
| ------------ | -------- |
| GooglePlay | google |
| 应用宝 | yyb |
| 360应用市场 | 360 |
| 华为应用商店 | huawei |
| 小米应用商店 | xiaomi |
| vivo应用商店 | vivo|
| oppo应用商店 | oppo |
**launcher 取值**
| 值 | 说明 |
| ------------ | -------- |
| default | 默认启动方式,通常表示应用列表启动(360手助中搜索启动) |
| scheme | 通过urlscheme方式触发启动 |
| push | 通过点击系统通知方式触发启动 |
| uniLink | 通过通用链接(universal link)启动应用 |
| miniProgram | 通过微信小程序启动应用 |
| shortcut | 通过快捷方式启动,iOS平台表示通过3D Touch快捷方式,Android平台表示通过桌面快捷方式启动 |
| barcode | 通过二维码扫描启动|
\ No newline at end of file
docs/collocation/App.md
浏览文件 @
dc994bee
`App.vue`
是uni-app的主组件,所有页面都是在
`App.vue`
下进行切换的,是页面入口文件。但
`App.vue`
本身不是页面,这里不能编写视图元素。
`App.vue`
是uni-app的主组件,所有页面都是在
`App.vue`
下进行切换的,是页面入口文件。但
`App.vue`
本身不是页面,这里不能编写视图元素
,也就是没有
`<template>`
。
这个文件的作用包括:调用应用生命周期函数、配置全局样式、配置全局的存储globalData
应用生命周期仅可在
`App.vue`
中监听,在页面监听无效。
## 应用生命周期@applifecycle
``uni-app``
支持如下应用生命周期函数:
...
...
@@ -38,6 +39,7 @@
**注意**
-
**应用生命周期仅可在`App.vue`中监听,在其它页面监听无效**
。
-
应用启动参数,可以在API
`uni.getLaunchOptionsSync`
获取,
[
详见
](
https://uniapp.dcloud.net.cn/api/plugins/getLaunchOptionsSync.html#getlaunchoptionssync
)
-
onlaunch里进行页面跳转,如遇白屏报错,请参考
[
https://ask.dcloud.net.cn/article/35942
](
https://ask.dcloud.net.cn/article/35942
)
-
`App.vue`
不能写模板
-
onPageNotFound 页面实际上已经打开了(比如通过分享卡片、小程序码)且发现页面不存在,才会触发,api 跳转不存在的页面不会触发(如 uni.navigateTo)
...
...
docs/collocation/manifest.md
浏览文件 @
dc994bee
此差异已折叠。
点击以展开。
docs/component/image.md
浏览文件 @
dc994bee
...
...
@@ -16,7 +16,7 @@
**Tips**
-
`<image>`
组件默认宽度 3
00px、高度 225px;
`app-nvue平台,暂时默认为屏幕宽度
`
-
`<image>`
组件默认宽度 3
20px、高度 240px;
`app-nvue平台,暂时默认为屏幕宽度、高度 240px;
`
-
`src`
仅支持相对路径、绝对路径,支持 base64 码;
-
页面结构复杂,css样式太多的情况,使用 image 可能导致样式生效较慢,出现 “闪一下” 的情况,此时设置
`image{will-change: transform}`
,可优化此问题。
-
自定义组件里面使用
`<image>`
时,若
`src`
使用相对路径可能出现路径查找失败的情况,故建议使用绝对路径。
...
...
docs/tutorial/app-push-unipush.md
浏览文件 @
dc994bee
...
...
@@ -25,6 +25,100 @@
-
本地离线打包参考
[
Android平台UniPush模块配置
](
https://nativesupport.dcloud.net.cn/AppDocs/usemodule/androidModuleConfig/push
)
、
[
iOS平台UniPush模块配置
](
https://nativesupport.dcloud.net.cn/AppDocs/usemodule/iOSModuleConfig/push
)
### UniPush推送图标配置@unipush-icons
### UniPush自定义推送图标,可自定义push图标和小图标,位置如下图所示:
![](
https://native-res.dcloud.net.cn/images/uniapp/push/custom_push_icon/custom_push_icon_small_instructions.png
)
### 注意:需要手动在manifest.json配置 ,目前仅支持个推 & UniPush配置。
### 5+应用:
+
plus节点 --> distribute节点 --> plugins节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
```
"plugins": { // 第三方sdk配置
"push": { // 模块名称
"igexin": { // 个推SDK参数配置
"appid": "xxxxxxx", // 个推的appid
"appkey": "xxxxxxx", // 个推的appkey
"appsecret": "xxxxxxx", // 个推的appsecret
"icons": { // 推送图片配置
"push": { // push图标,规格与应用图片一致,不配置则默认使用push图标
"ldpi": "可选,48x48",
"mdpi": "可选,48x48",
"hdpi": "可选,72x72",
"xhdpi": "可选,96x96",
"xxhdpi": "可选,144x144",
"xxxhdpi": "可选,192x192"
},
"small": { // 小图标,png格式图片,仅使用alpha图层
"ldpi": "可选,18*18",
"mdpi": "可选,24*24",
"hdpi": "可选,36*36",
"xhdpi": "可选,48*48",
"xxhdpi": "可选,72*72"
},
"description": "推送图标"
},
}
}
}
```
### uni应用:
+
app-plus节点 --> distribute节点 --> sdkConfigs节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
~~~
"sdkConfigs": {
"push": {
"unipush": {
"icons": { // 推送图片配置
"push": { // push图标,规格与应用图片一致,不配置则默认使用push图标
"ldpi": "可选,48x48",
"mdpi": "可选,48x48",
"hdpi": "可选,72x72",
"xhdpi": "可选,96x96",
"xxhdpi": "可选,144x144",
"xxxhdpi": "可选,192x192"
},
"small": { // 小图标,png格式图片,仅使用alpha图层
"ldpi": "可选,18*18",
"mdpi": "可选,24*24",
"hdpi": "可选,36*36",
"xhdpi": "可选,48*48",
"xxhdpi": "可选,72*72"
},
"description": "推送图标"
},
}
}
}
~~~
### 具体配置信息说明如下:
### small图片要求
设计规范需要注意:
1.
必须是带 Alpha 透明通道的 PNG 图片。
2.
背景必须是透明的。 (如果非透明就会显示为白色方块)
![](
http://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/push/unipsuh_small_icon_style.png.png
)
### 使用UniPush
-
**uni-app项目详细使用教程请参考 [统一推送UniPush](https://uniapp.dcloud.io/unipush)**
-
**5+ App、Wap2App项目详细使用教程请参考 [UniPush使用指南](https://ask.dcloud.net.cn/article/35622)**
...
...
docs/uniCloud/uni-push.md
浏览文件 @
dc994bee
此差异已折叠。
点击以展开。
docs/unipush-custom-icon.md
浏览文件 @
dc994bee
...
...
@@ -9,16 +9,9 @@
### 注意:需要手动在manifest.json配置 ,目前仅支持个推 & UniPush配置。
### 5+应用:
+
plus节点 --> distribute节点 --> plugins节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
### uni应用:
+
app-plus节点 --> distribute节点 --> plugins节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
**UniPush 则把igexin节点修改为 unipush 即可**
### 具体配置信息说明如下:
```
"plugins": { // 第三方sdk配置
"push": { // 模块名称
...
...
@@ -48,7 +41,52 @@
}
}
```
### small图片要求!!
必须是.png格式图片,要有一定的透明度。不按要求的图片无法正常使用 !!!具体
[
状态栏图标设计规范
](
https://developer.android.com/guide/practices/ui_guidelines/icon_design_status_bar
)
( 需要翻墙)
![](
http://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/push/unipsuh_small_icon_style.png.png
)
\ No newline at end of file
### uni应用:
+
app-plus节点 --> distribute节点 --> sdkConfigs节点 --> push节点 --> igexin节点(或者unipush节点) --> icons节点 --> small节点下配置
~~~
"sdkConfigs": {
"push": {
"unipush": {
"icons": { // 推送图片配置
"push": { // push图标,规格与应用图片一致,不配置则默认使用push图标
"ldpi": "可选,48x48",
"mdpi": "可选,48x48",
"hdpi": "可选,72x72",
"xhdpi": "可选,96x96",
"xxhdpi": "可选,144x144",
"xxxhdpi": "可选,192x192"
},
"small": { // 小图标,png格式图片,仅使用alpha图层
"ldpi": "可选,18*18",
"mdpi": "可选,24*24",
"hdpi": "可选,36*36",
"xhdpi": "可选,48*48",
"xxhdpi": "可选,72*72"
},
"description": "推送图标"
},
}
}
}
~~~
### 具体配置信息说明如下:
### small图片要求
设计规范需要注意:
1.
必须是带 Alpha 透明通道的 PNG 图片。
2.
背景必须是透明的。 (如果非透明就会显示为白色方块)
![](
http://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/push/unipsuh_small_icon_style.png.png
)
docs/unipush.md
浏览文件 @
dc994bee
...
...
@@ -536,7 +536,7 @@ HBuilderX3.0.7 之后,华为除了配置原有的厂商信息之外,需要
-
检查应用是否被授予推送权限:
[
https://ext.dcloud.net.cn/plugin?id=594
](
https://ext.dcloud.net.cn/plugin?id=594
)
-
开启关闭推送服务:
[
https://ext.dcloud.net.cn/plugin?id=727
](
https://ext.dcloud.net.cn/plugin?id=727
)
-
自定义推送铃声:
[
https://ext.dcloud.net.cn/plugin?id=7482
](
https://ext.dcloud.net.cn/plugin?id=7482
)
-
如何自定义推送通知的图标:
[
https://uniapp.dcloud.net.cn/unipush-custom-icon.html
](
https://uniapp.dcloud.net.cn/
unipush-custom-icon.html
)
-
如何自定义推送通知的图标:
[
https://uniapp.dcloud.net.cn/unipush-custom-icon.html
](
https://uniapp.dcloud.net.cn/
tutorial/app-push-unipush.html#unipush-icons
)
## FAQ
-
Q:5+app和wap2app需要uniPush怎么办?
...
...
docs/worktile/auto/quick-start.md
浏览文件 @
dc994bee
...
...
@@ -40,55 +40,57 @@ jest.config.js文件,为测试配置文件,详细内容如下:
```
js
module
.
exports
=
{
globalTeardown
:
'
@dcloudio/uni-automator/dist/teardown.js
'
,
testEnvironment
:
'
@dcloudio/uni-automator/dist/environment.js
'
,
testEnvironmentOptions
:
{
compile
:
true
,
h5
:
{
// 为了节省测试时间,可以指定一个 H5 的 url 地址,若不指定,每次运行测试,会先 npm run dev:h5
url
:
"
http://192.168.x.x:8080/h5/
"
,
options
:
{
headless
:
false
// 配置是否显示 puppeteer 测试窗口
}
},
"
app-plus
"
:
{
// 需要安装 HBuilderX
android
:
{
executablePath
:
"
HBuilderX/plugins/launcher/base/android_base.apk
"
// apk 目录
},
ios
:
{
// uuid 必须配置,目前仅支持模拟器,可以(xcrun simctl list)查看要使用的模拟器 uuid
id
:
""
,
executablePath
:
"
HBuilderX/plugins/launcher/base/Pandora_simulator.app
"
// ipa 目录
}
},
"
mp-weixin
"
:
{
port
:
9420
,
// 默认 9420
account
:
""
,
// 测试账号
args
:
""
,
// 指定开发者工具参数
cwd
:
""
,
// 指定开发者工具工作目录
launch
:
true
,
// 是否主动拉起开发者工具
teardown
:
"
disconnect
"
,
// 可选值 "disconnect"|"close" 运行测试结束后,断开开发者工具或关闭开发者工具
remote
:
false
,
// 是否真机自动化测试
executablePath
:
""
,
// 开发者工具cli路径,默认会自动查找, windows: C:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat", mac: /Applications/wechatwebdevtools.app/Contents/MacOS/cli
},
"
mp-baidu
"
:
{
port
:
9430
,
// 默认 9430
args
:
""
,
// 指定开发者工具参数
cwd
:
""
,
// 指定开发者工具工作目录
launch
:
true
,
// 是否主动拉起开发者工具
teardown
:
"
disconnect
"
,
// 可选值 "disconnect"|"close" 运行测试结束后,断开开发者工具或关闭开发者工具
remote
:
false
,
// 是否真机自动化测试
executablePath
:
""
,
// 开发者工具cli路径,默认会自动查找
}
},
testTimeout
:
15000
,
reporters
:
[
'
default
'
],
watchPathIgnorePatterns
:
[
'
/node_modules/
'
,
'
/dist/
'
,
'
/.git/
'
],
moduleFileExtensions
:
[
'
js
'
,
'
json
'
],
rootDir
:
__dirname
,
testMatch
:
[
'
<rootDir>/src/**/*test.[jt]s?(x)
'
],
// 测试文件目录
testPathIgnorePatterns
:
[
'
/node_modules/
'
]
globalTeardown
:
'
@dcloudio/uni-automator/dist/teardown.js
'
,
testEnvironment
:
'
@dcloudio/uni-automator/dist/environment.js
'
,
testEnvironmentOptions
:
{
compile
:
true
,
h5
:
{
// 为了节省测试时间,可以指定一个 H5 的 url 地址,若不指定,每次运行测试,会先 npm run dev:h5
url
:
"
http://192.168.x.x:8080/h5/
"
,
options
:
{
headless
:
false
// 配置是否显示 puppeteer 测试窗口
}
},
"
app-plus
"
:
{
// 需要安装 HBuilderX
android
:
{
appid
:
""
,
//自定义基座测试需配置manifest.json中的appid
package
:
""
,
//自定义基座测试需配置Android包名
executablePath
:
"
HBuilderX/plugins/launcher/base/android_base.apk
"
// apk 目录或自定义调试基座包路径
},
ios
:
{
// uuid 必须配置,目前仅支持模拟器,可以(xcrun simctl list)查看要使用的模拟器 uuid
id
:
""
,
executablePath
:
"
HBuilderX/plugins/launcher/base/Pandora_simulator.app
"
// ipa 目录
}
},
"
mp-weixin
"
:
{
port
:
9420
,
// 默认 9420
account
:
""
,
// 测试账号
args
:
""
,
// 指定开发者工具参数
cwd
:
""
,
// 指定开发者工具工作目录
launch
:
true
,
// 是否主动拉起开发者工具
teardown
:
"
disconnect
"
,
// 可选值 "disconnect"|"close" 运行测试结束后,断开开发者工具或关闭开发者工具
remote
:
false
,
// 是否真机自动化测试
executablePath
:
""
,
// 开发者工具cli路径,默认会自动查找, windows: C:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat", mac: /Applications/wechatwebdevtools.app/Contents/MacOS/cli
},
"
mp-baidu
"
:
{
port
:
9430
,
// 默认 9430
args
:
""
,
// 指定开发者工具参数
cwd
:
""
,
// 指定开发者工具工作目录
launch
:
true
,
// 是否主动拉起开发者工具
teardown
:
"
disconnect
"
,
// 可选值 "disconnect"|"close" 运行测试结束后,断开开发者工具或关闭开发者工具
remote
:
false
,
// 是否真机自动化测试
executablePath
:
""
,
// 开发者工具cli路径,默认会自动查找
}
},
testTimeout
:
15000
,
reporters
:
[
'
default
'
],
watchPathIgnorePatterns
:
[
'
/node_modules/
'
,
'
/dist/
'
,
'
/.git/
'
],
moduleFileExtensions
:
[
'
js
'
,
'
json
'
],
rootDir
:
__dirname
,
testMatch
:
[
'
<rootDir>/src/**/*test.[jt]s?(x)
'
],
// 测试文件目录
testPathIgnorePatterns
:
[
'
/node_modules/
'
]
}
```
...
...
@@ -126,6 +128,7 @@ await tag.$('.test')
3.
微信小程序暂不支持父子选择器
4.
百度小程序选择元素必须有事件的元素才能被选中,否则提示元素不存在
5.
分包中的页面,打开之后要延迟时间长一点,否则不能正确获取到页面信息
6.
App-android自定义基座测试需要在
`jest.config.js`
文件android节点下配置appid(manifest.json中的appid)、package(包名)、executablePath(自定义调试基座包路径)
### 测试示例
...
...
docs/worktile/auto/uniapp-cli-project.md
浏览文件 @
dc994bee
...
...
@@ -25,6 +25,8 @@ jest-environment-node@27.5.1
npm install @dcloudio/uni-automator --save-dev
```
3.
package.json script节点新增命令
vue2项目新增如下:
```
"test:h5": "cross-env UNI_PLATFORM=h5 jest -i",
"test:android": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=android jest -i",
...
...
@@ -33,6 +35,15 @@ npm install @dcloudio/uni-automator --save-dev
"test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i"
```
vue3项目新增如下:
```
"test:h5": "cross-env UNI_PLATFORM=h5 jest -i",
"test:android": "cross-env UNI_PLATFORM=app UNI_OS_NAME=android jest -i",
"test:ios": "cross-env UNI_PLATFORM=app UNI_OS_NAME=ios jest -i",
"test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i",
"test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i"
```
### H5平台测试流程
1.
进入工程目录,安装依赖
...
...
@@ -68,7 +79,7 @@ Time: 14.995s, estimated 16s
1.
配置全局
`adb`
环境变量
2.
配置
`Hbuilder`
调试基座/自定义基座
`android_base.apk`
目录,参考
`jest.config.js`
2.
配置
`Hbuilder`
调试基座/自定义基座
`android_base.apk`
目录,参考
[
jest.config.js
](
collocation/auto/quick-start?id=jestconfigjs
)
3.
创建
`cli`
工程/现有
`cli`
工程
切换到工程目录,安装依赖包
`adbkit`
...
...
@@ -93,9 +104,9 @@ npm run test:android
npm install node-simctl --save-dev
```
2.
配置模拟器id,参考
`jest.config.js`
2.
配置模拟器id,参考
[
jest.config.js
](
collocation/auto/quick-start?id=jestconfigjs
)
3.
配置
`Hbuilder`
调试基座/自定义基座
`Pandora_simulator.app`
目录,参考
`jest.config.js`
3.
配置
`Hbuilder`
调试基座/自定义基座
`Pandora_simulator.app`
目录,参考
[
jest.config.js
](
collocation/auto/quick-start?id=jestconfigjs
)
4.
编写测试代码,参考测试用例
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录