小程序之自动化测试

1. 什么是自动化测试

小程序自动化SDK为开发者提供了一套通过外部脚本操控小程序的方案,从而实现小程序自动化测试的目的。

简单翻译:就是让开发者工具能按照代码的执行顺序自动在页面上完成点击、输入等操作(即模拟用户操作), 再将操作后的页面表现与预期想要的结果做对比得到测试结论(断言).
微信自动化官方文档>>

小程序自动化测试SDK具备的特性
  1. 控制小程序跳转到指定页面
  2. 获取小程序页面数据
  3. 获取小程序页面数据
  4. 获取小程序页面数据
  5. 获取小程序页面数据
  6. …等等

2. 环境配置

  1. 安装Node.js并且版本大于8.0;
  2. 基础库版本为2.7.3及以上;
  3. 开发者工具版本为1.02.1907232及以上;
  4. 要做自动化测试的项目(后面会介绍哦);
如何查看&修改基础库版本、请见下图.

在这里插入图片描述

如何查看开发者工具版本、请见下图

在这里插入图片描述

3. 实现步骤

1. 安装自动化测试SDK

在这里插入图片描述
成功截图
在这里插入图片描述

2. 安装jest脚本

小程序自动化 SDK 本身不提供测试框架,而可以使用 Jest 测试框架来编写一个实际的小程序自动化测试
在这里插入图片描述
成功截图
在这里插入图片描述

3. 编写测试用例

在小程序项目的根目录下,创建测试文件 index.spec.js (试过改文件名称名,结果启动不了)

const automator = require('miniprogram-automator');
describe('小程序自动化测试', () => {
  let miniProgram;
  beforeAll(async () => {
    miniProgram = await automator.connect({
      wsEndpoint: 'ws://localhost:9421',
    });
  });

  // 运行测试后调用
  afterAll(async () => {
    await miniProgram.disconnect();
  });

  // 自动化测试内容
  it('首页', async () => {
    // 获取页面相关信息
    const page = await miniProgram.reLaunch('/pages/home/index');
    let headTabs = await page.$$('.home-tab-item');
    headTabs[0].tap();
    await page.waitFor(1000);
    headTabs[1].tap();
    await page.waitFor(1500);
    let etcComponent = await page.$('etcComponent'); //获取自定义组件
    let etcTabs = await etcComponent.$$('.etc-item'); //然后再通过组件获取组件页面里的元素再进行点击操作
    etcTabs[0].tap();
    await page.waitFor(1500);
  }, 20000);
});

4. 启动连接

9421 :是自动化端口
31892 : 是服务端口,可在开发者工具菜单中的设置->安全设置->服务端口 中查看
在这里插入图片描述
开发者工具自动打卡并弹出 ,看下图,证明已连接成功
在这里插入图片描述

4. 自动化测试

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值