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

做好接口测试之初步认识Postman

我们如果在命令行发送post请求,会很麻烦,效率不高。同时也不方便接口的管理,所以一些优秀的接口测试工具应运而出,Postman就是绕不开的话题之一。

主要功能

Postman主要帮我们干了三件事:

1.把相关集合放到一个集合当中方便管理。

2.对指定接口发送请求。

下面我们使用Postman工具操作getList接口。

新建一个集合TestDemo,用来管理相关用例:

添加一条请求(addRequest):

编辑请求,修改url,请求方式和参数:

发送请求查看结果:

以上步骤,是Postman的主要功能,也是我们前三个小节一直叨念的部分,只不过通过Postman来完成,下面是前面没有讲到过的东西----断言。

3.断言。

按照截图打开断言区域:

我们按照用例来设置断言:

设计用例(功能):

  • 是否按照创建时间倒序排列

  • 是否返回指定的条数

  1. pm.test("是否含有create_time节点", function () {

  2. pm.expect(pm.response.text()).to.include("create_time");

  3. });

  4. pm.test("返回2条数据", function () {

  5. var jsonData = pm.response.json();

  6. var num = jsonData.result.length;

  7. pm.expect(num).to.eql(2);

  8. });

  9. pm.test("时间倒序排列", function () {

  10. var jsonData = pm.response.json();

  11. var time1 = jsonData.result[0].create_time;

  12. var time2 = jsonData.result[1].create_time;

  13. pm.expect(time2).to.be.below(time1);

  14. });

发送请求后,店家Test Results查看结果如下:

红色的提示表示断言失败,这个时候我们需要修改接口代码(getList_fix.php):

  1. <?php

  2. // 告诉浏览器返回为json类型

  3. header('Content-Type:application/json; charset=utf-8');

  4. // 获取参数

  5. $page = $_GET['page'];

  6. $size = $_GET['size'];

  7. /**

  8. * 在真正的开发过程中,会操作数据库,我们暂时用一个多维数组代替

  9. */

  10. $data_list = array(

  11. array('id'=>1,'name'=>'成龙','create_time'=>1587890857000),

  12. array('id'=>2,'name'=>'周润发','create_time'=>1587804457000),

  13. array('id'=>3,'name'=>'周星驰','create_time'=>1587690857000),

  14. array('id'=>4,'name'=>'李连杰','create_time'=>1587590857000),

  15. array('id'=>5,'name'=>'梁朝伟','create_time'=>1587490857000),

  16. array('id'=>6,'name'=>'张曼玉','create_time'=>1587390857000),

  17. array('id'=>7,'name'=>'惠英红','create_time'=>1587290857000),

  18. array('id'=>8,'name'=>'林青霞','create_time'=>1587190857000),

  19. array('id'=>9,'name'=>'王祖贤','create_time'=>1587090857000),

  20. array('id'=>10,'name'=>'巩俐','create_time'=>1586890857000)

  21. );

  22. foreach($data_list as $key=>$value){

  23. if($key >= ($page -1) * $size && $key < $page * $size){

  24. $temp[] = $value;

  25. }

  26. }

  27. // 组织的数据

  28. $data = array(

  29. 'code' => 200,

  30. 'msg' => '请求成功',

  31. 'result' => $temp

  32. );

  33. // PHP数组转json

  34. $rst = json_encode($data,JSON_UNESCAPED_UNICODE);

  35. // 打印结果

  36. echo $rst;

按照上面的流程,创建一个请求,添加断言,在此访问返回结果如下:

返回绿色说明测试通过。

文中的断言代码是由js编写,大家书写断言的时候不要被代码吓到,因为Postman已经提供了比较丰富的断言片段,直接点击即可生成。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

http://www.jsqmd.com/news/253585/

相关文章:

  • 公信会议:AI 会议生态服务商,解锁数智协作新可能
  • 【顶级SCI复现】【日前调度和日内调度两个时间尺度】虚拟电厂多时间尺度调度优化研究附Matlab代码
  • 覆盖新老赛道!2025 最热门 25 大就业专业清单:从 AI 到老年医学,选对不愁饭碗!
  • 关于单元测试编写原则的一些思考
  • Agentic RAG核心解析(必收藏):从原理到架构,解锁大模型复杂查询能力
  • 软件测试工程师面试的时候该怎么样介绍自己?
  • 5G矿山车载监控终端山河矿卡定位监控终端
  • 【顶级SCI复现】高比例可再生能源并网如何平衡灵活性与储能成本?虚拟电厂多时间尺度调度及衰减建模附Matlab代码
  • Day 52:【99天精通Python】Web 开发入门 (Flask) - 5行代码写个网站
  • 【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究附Matlab代码
  • 前端项目打包部署完整流程
  • 【电压风险评估】基于720个样本与360个样本的Copula及蒙特卡罗推断结果比较研究附Matlab代码
  • 【2025最新】基于SpringBoot+Vue的创新创业教育中心项目申报管理系统管理系统源码+MyBatis+MySQL
  • Java SpringBoot+Vue3+MyBatis 安康旅游网站系统源码|前后端分离+MySQL数据库
  • 【web安全】小白想入门web安全,应该从哪里开始下手!
  • 【顶级EI复现】基于断线解环思想的配电网辐射状拓扑约束建模方法附Matlab代码
  • 机器学习科学家分享:如何开启AI职业生涯并解密前沿技术
  • 全网最全继续教育AI论文写作软件TOP10:深度测评与推荐
  • Java Web web酒店客房管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • 基于单片机的车辆超载系统
  • 谁还以为网安只会挖洞就行?2025 卷王标准:云原生 + AI 攻防,速来聊聊你的技能升级计划!
  • 基于plc的八路抢答器设计
  • AI生成内容去重指南:10款专业工具深度测评与优化方案
  • 电气自动化 PLC水塔水位控制
  • 程序员集合!2025 这 6 个接单宝藏平台你用过哪个?新手 / 大神都来聊聊接单经验!
  • 2025 学黑客不用瞎找资源!全新整理网站大全,漏洞库 + 实战平台一站式搞定!
  • 电气自动化 PLC交通控制系统
  • 突破AI重复生成困境:详细评测十大工具并提供实用解决技巧
  • Linux 文件描述符(File Descriptor, FD)详解
  • 大模型智能体记忆管理新范式:Agentic Memory框架详解