小程序之自动化测试

1. 什么是自动化测试

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

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

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

2. 环境配置

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

小程序之自动化测试_第1张图片

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

在这里插入图片描述

3. 实现步骤

1. 安装自动化测试SDK

小程序之自动化测试_第2张图片
成功截图
小程序之自动化测试_第3张图片

2. 安装jest脚本

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

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 : 是服务端口,可在开发者工具菜单中的设置->安全设置->服务端口 中查看
在这里插入图片描述
开发者工具自动打卡并弹出 ,看下图,证明已连接成功
小程序之自动化测试_第5张图片

4. 自动化测试

小程序之自动化测试_第6张图片

你可能感兴趣的:(小程序,前端,自动化测试)