当前位置: 首页 > news >正文

postman教程-19-mock测试

上一小节我们学习了Postman接口参数化方法,本小节我们讲解一下Postman mock测试的方法。

一、什么叫mock测试

mock测试就是在测试过程中,对某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便于测试的一种测试方法,其实就是模拟测试,也就是假的测试,实际项目中主要用来模拟那些无法实时连接的后端,或是没有开发出来的后端,用于获得结果反馈的一种测试方式。通过发送请求后,模拟后台返回的响应内容来确认当前接口的正确性,而无需真的启动后端

注意:mock测试这个功能要注册postman账号才能用

二、Mock常见的使用场景

1、无法控制第三方系统某接口的返回,返回的数据不满足要求时
比如:支付中最常用的刷卡支付,有可能直接支付成功,也有可能返回支付中,此逻辑受平台方风控逻辑校验,对我们来说完全是黑盒子

2、某依赖系统还未开发完成,就需要对被测系统进行测试
前端开发比较依赖后端开发提供的接口,然后根据接口返回值设计各类场景页面。当服务端开发人员未及时提供接口时可能会影响到前端开发及整个项目的进度,特别是在敏捷开发中,对于上下游开发顺序更加依赖

3、有些系统不支持重复请求,如支付功能

4、系统功能有访问频次限制,获取敏感信息的接口访问频次不可高于xx等

三、postman如何使用Mock server进行测试?

1)新建mock sever:点击选择Mock server,点击上方的“+”按钮----》配置Mock 测试的请求,包括请求的方法、请求的URL、请求体、返回的code,返回内容等相关内容,根据接口请求方法配置相应内容,如下图所示:

注意接口地址url只需要填写接口地址,不需要添加主机(服务器)地址,如http://www.baidu.com/index接口,我们在URL中只需要填写/index即可,主机地址再完成MockServer创建后,系统会自动配置相关的环境变量存储url

2) 点击NEXT进入下一步,输入mock server名称,使用的环境(也就是使用哪个服务器),如果有自己的测试服务器可以选择对应的测试服务器,没有合适的环境可以选择no environment(此时默认使用postman提供的服务器),并且设置成私有mock服务(表示不公开对外访问),点击create Mock server按钮,如下图

3)创建并获取API key:点击右侧的postman API key,在之后的user manual页面上进入到Generating a Postman API key,点击Postman API Keys page 链进入api key页面,然后点击Generate API Key按钮,输入key的名字并生成API key,如下图所示

4)回到postman中,点击collections,发现在右侧collection集合里面出现了一个以刚才mock server的name命名的collection,点击这个集合,显示之前在mock里面配置的接口,接口地址自动补充了主机地址{{url}}, 点击右上角眼睛旁的下拉框查看环境,新增了一个刚才mock server的name同名的环境,将环境切换到对应环境如MockTest,同时该环境下发现mock server的url已经配进去了

5) 配置api-key:在右上角眼睛处的环境中点击Edit,添加第三步中创建的api-key,其中VARIBLE对应填写api key的NAME, VALUE为对应的值,并保存

6) 请求设置:在对应的请求上的header中输入API-KEY格式:KEY:x-api-key VALUE:{{NAME}},请求的其他部分与之前设置的一致,点击send,获取结果

6) 添加新的请求进行Mock测试:在当前collection下新建一个请求,设置请求方法、参数、url自定义,url要以{{url}}/xxx/xxx格式。header中配置x-api-key和{{name}},配置好后,点击后面的...,然后选择add example,配置响应结果并保存,如下图所示

7)回到刚刚创建的请求,点击send按钮进行测试,查看预期返回结果,返回结果就是设置的example的结果

注意:一定要记得先设置对应的example并且保存后再运行新创建的请求,否则返回结果会报错。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!

http://www.lryc.cn/news/372210.html

相关文章:

  • 纳秒级网络库【二】技术选型
  • ESP32基础应用之esp32连接腾讯云并使用微信小程序控制的智能灯
  • Unity Protobuf+RPC+UniTask
  • 顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-通话时长限制
  • 如何将ai集成到项目中,方法二
  • python的变量的引用与赋值的学习
  • 【FPGA项目】bin文件ram存取回环测试
  • 北航数据结构与程序设计第五次作业选填题复习
  • 【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第40课-实时订阅后端数据
  • 系统集成知识科普:核心原理与关键技术
  • Coze+Discord:打造你的免费AI助手(教您如何免费使用GPT-4o/Gemini等最新最强的大模型/Discord如何正确连接Coze)
  • 「OC」UI练习(二)——照片墙
  • 一手洞悉巴西slot游戏包投放本土网盟CPI广告优势
  • 中国环保网引领元宇宙新纪元 -探索绿色未来
  • 2024最新流媒体在线音乐系统网站源码 音乐社区 多语言开心版
  • 【Java】解决Java报错:FileNotFoundException
  • Seate分布式锁
  • 金融科技助力绿色金融:可持续发展新动力
  • 灾备建设中虚拟机细粒度恢复的含义及技术使用
  • 十种排序方法
  • docker-compose启动oracle11、并使用navicat进行连接
  • 使用ffmpeg进行音频处理
  • 重装系统,以及设置 深度 学习环境
  • 深入理解渲染引擎:打造逼真图像的关键
  • 【LeetCode最详尽解答】128_最长连续序列 Longest-Consecutive-Sequence
  • 盒马鲜生礼品卡如何使用?
  • 有哪些常用ORM框架
  • nodejs 中 axios 设置 burp 抓取 http 与 https
  • 数据通信与网络(二)
  • DTU为何应用如此广泛?