小程序自动化 SDK (miniprogram-automator)为开发者提供了一套通过外部脚本操控小程序的方案,从而实现小程序自动化测试的目的。通过该SDK,可以控制小程序跳转到指定页面、获取小程序页面数据、触发小程序元素绑定事件等。miniprogram-automator是基于JS编写的,个人理解,miniprogram-automator主要是通过控制 微信开发者工具 来驱动小程序的。
一、运行环境
1、安装 Node.js 并且版本大于 8.0
2、微信基础库版本为 2.7.3 及以上
3、微信开发者工具版本为 1.02.1907232 及以上
二、准备过程
1、新建本地文件夹,存放测试代码,比如我本地建的目录名为wechat
2、打开开发者工具,新建小程序项目,项目目录为第一步创建的文件夹wechat下的mp,即wechat\mp,且mp实际存放的是微信提供的quickstart项目,切换到开发者工具的工具栏->设置->安全,将服务端口打开,即开启CLI/HTTP 调用功能
3、cmd命令切换到wechat目录下,执行以下命令安装miniprogram-automator:
npm i miniprogram-automator
三、编写脚本
在wechat目录下建测试脚本,如名字为test.js,基于quickstart项目编写测试脚本,脚本内容如下:
const automator = require('miniprogram-automator')
automator.launch({
//cliPath: 'D:\wechat\微信web开发者工具\cli.bat', // 工具 cli 位置,如果你没有更改过默认安装位置,可以忽略此项。建议默认安装,我一开始是自定义安装的,设置了路径还是报cli路径有误
projectPath: '\mp', // 项目文件地址,很奇怪如果填写的是项目的绝对路径会报错,如果填写的是测试脚本的相对路径则能成功运行
}).then(async miniProgram => {
const page = await miniProgram.reLaunch('/pages/index/index')
await page.waitFor(500)
const element = await page.$('.userinfo-nickname')
console.log(element.text())
await miniProgram.close()
})
切换到wechat目录下,执行以下命令运行脚本:
node test.js
可以看到测试脚本test.js在驱动微信开发者工具运行小程序
网友评论