当前位置:网站首页>接口测试 Mock 实战(二) | 结合 jq 完成批量化的手工 Mock
接口测试 Mock 实战(二) | 结合 jq 完成批量化的手工 Mock
2022-08-03 04:27:00 【CSDN】
因为本章的内容是使用jq工具配合完成,因此在开始部分会先花一定的篇幅介绍jq机器使用,如果读者已经熟悉jq,可以直接跳过这部分。
先来看应用场景,App 经常会有一些信息展示的列表页,比如商家的菜品、股票的公司、文章的列表展示等,例如下面这样:
菜品不够吃的话~不是,是菜品数量较少不够测试的量,假如我们想要测试几百个菜品时,会不会在刷的时候是否有性能影响,展示是否正常,列表展示的边界值测试等;
而要测就得有数据展示,这个时候要是通过后端去找或者造这么多数据是有点麻烦的,其实我们这个测试的测试点就是要测试前端页面的展示和性能,只要有这部分数据就可以,无所谓数据是否真实从数据库得来。
这个时候可以就可以利用mock的手段,对这种大数据进行等价类的生成,使前端可以拿到这类数据即可,而Charles正是我们实现手工mock测试的利器之一!
按惯例,先看官网对jq的解释:
jq 官网地址:jq 1
大概意思就是轻量灵活的Json处理命令行。
用途
说到这大概有些人有点感觉它能用来做什么了,为啥手工mock要使用jq了?没错!要用它来处理接口返回的json数据以达到mock的效果。
Mac:Mac还是一如既往的简单(香~),装了Homebrew 的话一条命令brew install jq即可
其他系统:jq 的官网很贴心,给出了各个系统的下载方式及其相关所需下载工具的链接,具体的就查看官网吧,链接如下
基本过滤 .
简单的说就是原样输出来:对象过滤 .key、.key1.key2、.[“key”]
索引过滤 .key[index]、.key[ startIndex: endIndex]
.key[index]
.key[ startIndex: endIndex]对象构建 {} 、
如果其中一个表达式有多个结果,那么输出也会产生多个结果
如果key是不存在的,value将会赋值为null
如果再键的周围加括号就意味着它将作为表达式进行计算。其他常见用法:
计算
获取长度数组运算
jq 对于数组可以有并集(’+’)和差集(’-’)的操作:
并集(’+’):有数组a,b; a+b就会得到一个包含所有a,b数组元素的新数组:
差集(’-’):有数组a,b; a-b就会得到一个只包含a中元素,不包含b中元素的新数组:更多用法
更多用法可参考官网:
jq Manual (development version)
如下图中的科普推荐栏目中有 2 则科普文章,现在想要mock几十甚至上百篇文章或广告。抓取接口的响应json报文如下:
我们将数据存入json文件中,然后赋值给一个变量
然后我们利用jq对pageList中的列表进行+=操作,完成一次翻倍增长,将结果传给变量mockData。
按照上述的方法,每次列表的元素个数都会翻倍,也就是操作n次就变成2的n次方倍,指数增长的速度就不用多说了~
这样根据自己的需要得到数据后将新数据存入json文件,最重要的数据准备过程也就完成了:
说了这么多“废话”,总算是到了主角了,其实数据准备好了,工具的使用还是很简单的,Charles有一个叫做Map Local的功能,在你要mock的请求上右击就可找到:
Map Local可以对指定的接口返回使用本地文件进行替换,如这里替换为上文中废话半天生成的数据文件MockTest.json:
然后再次刷新页面,看看效果,页面的列表就如愿倍增了,也不用去数据库添加数据,保存一份json文件即测即用即可:
以上,期待大家一起交流,多多指正。
【相关文章】基于 Charles 代理技术的接口测试 Mock 实战 (一)
接口测试策略与问题分析模型
边栏推荐
猜你喜欢

肖sir___面试就业课程____app

汇编题答案

Windows 安装PostgreSQL

2022/08/02 学习笔记 (day22) 多线程

Can Oracle EMCC be installed independently?Or does it have to be installed on the database server?

Problems that need to be solved for interrupting the system

数字化时代,企业如何建立自身的云平台与商业模式的选择?

OpenFOAM提取等职面并计算面积

IDEC和泉触摸屏维修HG2F-SS22V HG4F软件通信分析

I ported GuiLite to STM32F4 board
随机推荐
Shell条件语句判断
DC-6靶场下载及渗透实战详细过程(DC靶场系列)
数据库基本概述与SQL概述
数据库性能系列之索引(中)
【Harmony OS】【ArkUI】ets开发 基础页面布局与数据连接
2022 the first of the new league henan (4) : zhengzhou university of light industry G - maze
Redis缓存雪崩、缓存穿透、缓存击穿
肖sir_测试点
在竞争白热化的电商行业,链动2+1为什么还有企业在用
工程制图第九章作业
好消息!北京、珠海PMP考试时间来啦
10.预测房价:回归问题
肖sir__自动化面试题
我将GuiLite移植到了STM32F4开发板上
CyberArk被评为2022年Gartner特权访问管理魔力象限领导者
种草一个让程序员男友编程时,记住一辈子的 IDEA 神仙插件!
表的创建、修改与删除
WinForm的控件二次开发
OpenFOAM提取等职面并计算面积
安装ambari