Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
6e1e078f
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3200
Star
106
Fork
813
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
94
列表
看板
标记
里程碑
合并请求
70
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
94
Issue
94
列表
看板
标记
里程碑
合并请求
70
合并请求
70
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
6e1e078f
编写于
12月 08, 2021
作者:
W
wan201809
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs/collocation/auto/quick-start.md
上级
f39734b7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
101 addition
and
96 deletion
+101
-96
docs/collocation/auto/hbuilderx-extension/index.md
docs/collocation/auto/hbuilderx-extension/index.md
+3
-2
docs/collocation/auto/quick-start.md
docs/collocation/auto/quick-start.md
+97
-0
docs/collocation/auto/uniapp-cli-project.md
docs/collocation/auto/uniapp-cli-project.md
+1
-94
未找到文件。
docs/collocation/auto/hbuilderx-extension/index.md
浏览文件 @
6e1e078f
...
@@ -15,10 +15,11 @@
...
@@ -15,10 +15,11 @@
1.
本插件支持
`uni-app普通项目`
和
`uniapp-cli项目`
。uniapp-cli项目,运行自动化测试,需要在当前项目下安装自动化测试依赖。
1.
本插件支持
`uni-app普通项目`
和
`uniapp-cli项目`
。uniapp-cli项目,运行自动化测试,需要在当前项目下安装自动化测试依赖。
2.
Windows电脑不支持运行测试到
`ios手机`
。
2.
Windows电脑不支持运行测试到
`ios手机`
。
3.
MacOSX电脑,仅支持运行测试到
`i
os模拟器`
,不支持ios真机
。
3.
MacOSX电脑,仅支持运行测试到
`i
OS模拟器`
,不支持ios真机,测试iOS模拟器,需要电脑装安装XCode
。
4.
运行测试到H5,仅支持
`chrome`
浏览器,不支持其它浏览器。
4.
运行测试到H5,仅支持
`chrome`
浏览器,不支持其它浏览器。
5.
运行测试到Android手机,如果HBuilderX仅检测到一个android设备,
直接运行测试到当前已连接设备。多个
设备时,会弹窗要求选择手机。
5.
运行测试到Android手机,如果HBuilderX仅检测到一个android设备,
`直接`
运行测试到当前已连接设备。
`多个`
设备时,会弹窗要求选择手机。
6.
node: 当本机未安装node时,将使用HBuilderX
`内置node`
运行测试。反之,本机安装了node,则使用本机的node。
6.
node: 当本机未安装node时,将使用HBuilderX
`内置node`
运行测试。反之,本机安装了node,则使用本机的node。
7.
运行测试到微信小程序,必须在manifest.json内,配置微信小程序 appid。如果微信开发者工具无法成功打开项目,首次请手动打开。
## 插件安装@test-install
## 插件安装@test-install
...
...
docs/collocation/auto/quick-start.md
浏览文件 @
6e1e078f
...
@@ -33,3 +33,100 @@ uni-app提供了一批[API](/collocation/auto/api),这些API可以操控uni-ap
...
@@ -33,3 +33,100 @@ uni-app提供了一批[API](/collocation/auto/api),这些API可以操控uni-ap
插件简化了测试环境安装、测试用例创建、测试运行、测试设备选择等步骤。
[
插件使用文档
](
/collocation/auto/hbuilderx-extension/index
)
插件简化了测试环境安装、测试用例创建、测试运行、测试设备选择等步骤。
[
插件使用文档
](
/collocation/auto/hbuilderx-extension/index
)
### jest.config.js@jestconfigjs
jest.config.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/']
}
```
**注意事项**
1.
如果页面涉及到分包加载问题,
`reLaunch`
获取的页面路径可能会出现问题 ,解决方案如下 :
```
javascript
// 重新 reLaunch至首页,并获取 page 对象(其中 program 是 uni-automator 自动注入的全局对象)
page
=
await
program
.
reLaunch
(
'
/pages/extUI/calendar/calendar
'
)
// 微信小程序如果是分包页面,需要延迟大概 7s 以上,保证可以正确获取page对象
await
page
.
waitFor
(
7000
)
page
=
await
program
.
currentPage
()
```
2.
微信小程序 element 不能跨组件选择元素,首先要先获取当前组件,再继续查找
```
html
<uni-tag>
<view
class=
"test"
></view>
</uni-tag>
```
```
javascript
// 错误,取不到元素
await
page
.
$
(
'
.test
'
)
// 可以取到元素
let
tag
=
await
page
.
$
(
'
uni-tag
'
)
await
tag
.
$
(
'
.test
'
)
```
3.
微信小程序暂不支持父子选择器
4.
百度小程序选择元素必须有事件的元素才能被选中,否则提示元素不存在
5.
分包中的页面,打开之后要延迟时间长一点,否则不能正确获取到页面信息
### 测试示例
GitHub:
[
https://github.com/dcloudio/hello-uniapp
](
https://github.com/dcloudio/hello-uniapp
)
\ No newline at end of file
docs/collocation/auto/uniapp-cli-project.md
浏览文件 @
6e1e078f
...
@@ -239,97 +239,4 @@ describe('pages/API/set-navigation-bar-title/set-navigation-bar-title.vue', () =
...
@@ -239,97 +239,4 @@ describe('pages/API/set-navigation-bar-title/set-navigation-bar-title.vue', () =
更多测试示例见: hello uni-app
更多测试示例见: hello uni-app
GitHub:
[
https://github.com/dcloudio/hello-uniapp
](
https://github.com/dcloudio/hello-uniapp
)
GitHub:
[
https://github.com/dcloudio/hello-uniapp
](
https://github.com/dcloudio/hello-uniapp
)
\ No newline at end of file
#### jest.config.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/']
}
```
**注意事项**
1.
如果页面涉及到分包加载问题,
`reLaunch`
获取的页面路径可能会出现问题 ,解决方案如下 :
```
javascript
// 重新 reLaunch至首页,并获取 page 对象(其中 program 是 uni-automator 自动注入的全局对象)
page
=
await
program
.
reLaunch
(
'
/pages/extUI/calendar/calendar
'
)
// 微信小程序如果是分包页面,需要延迟大概 7s 以上,保证可以正确获取page对象
await
page
.
waitFor
(
7000
)
page
=
await
program
.
currentPage
()
```
2.
微信小程序 element 不能跨组件选择元素,首先要先获取当前组件,再继续查找
```
html
<uni-tag>
<view
class=
"test"
></view>
</uni-tag>
```
```
javascript
// 错误,取不到元素
await
page
.
$
(
'
.test
'
)
// 可以取到元素
let
tag
=
await
page
.
$
(
'
uni-tag
'
)
await
tag
.
$
(
'
.test
'
)
```
3.
微信小程序暂不支持父子选择器
4.
百度小程序选择元素必须有事件的元素才能被选中,否则提示元素不存在
5.
分包中的页面,打开之后要延迟时间长一点,否则不能正确获取到页面信息
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录