微信小程序自动化测试之拦截 API 请求

TL;DR 封装一个 InspectAPI ,在测试脚本中执行会引起小程序网络请求的操作之前调用,可以获取小程序中网络请求的出参和入参。 原理是综合使用 miniProgram.mockWxMethod 和 miniProgram.exposeFunction 这两个miniprogram-automator自动化库中的 api。 使用方法如下: let orderNo = ''; await InspectApi({ miniProgram, once: true, mockApi: mockApi, inspect: (req, res) => { let {data} = res.data; orderNo = data?.orderNo; console.log('传入InspectApi的回调函数中打印入参', orderNo); }, }) await page.waitFor(1000 * 3) console.log(orderNo); 是不是挺符合要求的? 前言 在做自动化测试的时候,会需要对请求 api 进行检查。例如: 需要等待某个请求是否成功 需要获取某个请求的入参和出参 真实场景如购买商品下单时,需要在下单页面拿到调用下单接口返回的订单号,在订单列表页面检查该订单号的数 据。 而在没有做拦截 API 请求时,一种方式是在下单页面代码中将接口返回的订单号显示在页面元素上。 ...

一月 6, 2023 · 4 分钟 · 1603 字 · Jiale Liu