Postman:API开发的全能助手与测试专家

在当今快速发展的软件开发领域,API的重要性不言而喻。Postman,作为一款业界领先的API开发和测试工具,以其卓越的功能和灵活性,为开发者和测试人员提供了一个强大的工作平台。它不仅允许用户构建和发送多样化的HTTP请求,如GET、POST、PUT、DELETE等,更模拟出真实世界中的请求场景,确保API的健壮性。

Postman的核心功能特性贯穿了API开发和测试的每一个环节,具体包括:

  • 全面请求支持:无缝支持所有主流HTTP方法,无论是发送表单数据、JSON数据还是文件上传,Postman都能轻松应对。
  • 精确响应验证:内置强大的断言功能,能够细致校验响应状态码、响应体内容、头部信息等,确保API响应的准确性。
  • 集合与工作流管理:通过集合将相关请求组织起来,实现复用与分享的便捷;工作流则让自动化测试序列变得简单高效。
  • 环境与变量配置:灵活管理不同环境下的变量,大幅提升测试的适应性和效率。
  • 自动化测试脚本:基于JavaScript的测试脚本编写,支持执行复杂的逻辑验证,让测试更加智能。
  • 数据驱动的测试:通过外部数据文件导入,实现参数化测试,扩大测试的覆盖范围,确保更全面的验证。
  • API文档与模拟服务:自动生成详尽的API文档,同时提供Mock Server功能,为前端开发和测试提供便利。
  • 工具集成与团队协作:与Git、Jira、Slack等流行工具无缝集成,加强团队协作和版本控制的能力。
  • 监控与警报系统:定期执行测试,监控API性能,及时捕捉并通知任何异常,保障API的稳定性。

Postman还提供了详尽的教程和文档资源,涵盖从基础操作到高级自动化测试,再到与其他工具的集成等各个方面,使用户能够全面掌握这款强大的工具。无论是对于开发人员还是测试人员,Postman都是提高API接口测试效率、保障软件质量和稳定性的得力助手。通过Postman,您可以更加自信地在API的海洋中航行,探索无限可能。

Postman接口测试全攻略:

Postman,这款多功能的API开发工具,以其直观的图形界面,为构建、测试、调试和文档化API提供了强大支持。它不仅能够发送GET、POST、PUT、DELETE等各类HTTP请求,查看服务器响应,还支持环境变量和数据驱动测试,模拟用户登录、数据提交等交互过程,并能生成详尽的测试报告。

安装 访问Postman官网(https://www.postman.com/downloads/)下载并安装。安装过程中,路径不可自定义,安装完成后,双击快捷图标启动。建议创建并登录Postman账号以保存测试数据,享受更多免费功能。若选择不登录,可点击“lightweight API client”跳过,但将无法使用团队协作、邮件通知等高级功能。

登录时,请确保网络畅通,否则可能无法进入主界面。

使用方法
使用前建议新建测试集,将接口请求保存其中,便于后续查找和批量执行。测试集名称可通过双击或【…】→【Rename】修改。执行被测接口后,在“SAVE REQUEST”窗口中选择【New Collection】创建新测试集并保存请求,或将请求拖拽至现有测试集中。

Content-Type常见类型

  1. application/x-www-form-urlencoded:适用于原生form表单提交,Postman自动填写相应Content-type。
  2. multipart/form-data:支持上传键值对和文件,Postman同样自动处理Content-type。
  3. application/json:以JSON格式编码数据体,适用于结构化数据传输,Postman自动设置Content-type。

环境变量 首先创建环境变量,若无入口,请点击配置工作区侧边栏开启选项。在右上角选择新建环境变量,通过脚本将响应结果中的值自动添加到环境变量,例如提取access_token并设置。

let jsonData = pm.response.json();          // 获取响应的json数据
let token = jsonData.data.access_token;     // 提取响应中的access_token
pm.environment.set("access_token", token);  // 将获取的access_token设置为一个环境变量

通过环境变量实现参数传递,比如上图示例,创建分类响应体中包含一个id,可以采用同样的方法获取id并添加到变量中,供后续查看、修改、删除此分类使用

let catResp = pm.response.json();       // 获取响应体
let newcatId = catResp.data.id;         // 提取响应体中id对应的值

pm.environment.set("newcatid", newcatId);   //  将提取的分类id值添加到环境变量中

pm.environment.unset("newcatid");  // 最后变量不再使用了,可以添加此脚本,自动删除变量

断言 断言可以在Scripts下编写或通过右侧快速创建。常用断言包括状态码验证、响应体内容检查、请求头存在性确认等。

pm.test("响应状态码为 200", function () {
    pm.response.to.have.status(200);  // 状态码为200则测试通过
});

pm.test("响应状态码", function () {   // 包含任一指定状态码则测试通过
    pm.expect(pm.response.code).to.be.oneOf([200, 201, 202]);
});

pm.test("响应体中包含 创建时间", function () { // 判断响应结果中是否包含指定字符
    pm.expect(pm.response.text()).to.include("createTime");
});

pm.test("响应体中最后1个分类id为2", function () {
    var jsonData = pm.response.json();   // 判断响应体中某个值是否等于几
    pm.expect(jsonData.data[jsonData.data.length-1].id).to.eql(2);
});

pm.test("请求头中包含 Content-Type", function () {
    pm.response.to.have.header("Content-Type");  // 判断请求头中是否有Content-Type
});

pm.test("响应时间小于 200ms", function () {   // 判断响应时间是否满足指定条件
    pm.expect(pm.response.responseTime).to.be.below(200);
});

测试集 批量执行测试集接口,选择测试集点击【…】→【Run collection】,设置执行模式、次数、间隔时间及参数化。

默认手动运行,定时运行和CLI命令运行需要使用Postman云,如果项目是本地的,其它人无法访问就默认手动运行吧,勾选接口后,点击【Run 测试集名称】,可以得到如下图中的结果,点击可以查看详情

 参数化使用,先编写参数化数据,txt、csv、json格式的都可以,以txt格式为例,点击【Select File】选择参数化文件,设置数据文件格式,执行次数会根据文件参数行数自动设置,也可以自行修改,其它项根据需要配置

修改接口请求体中的参数为变量名,与参数化数据字段名称一致,使用{{}}括起来,本次执行5条API,每条接口设置了1个断言,有5条参数,所以共计执行25条用例,执行结果如下图所示

Newman 确保已安装node.js,使用npm安装newman。newman支持命令行运行测试集,生成HTML或JSON格式的报告。

安装前先在命令提示符中执行命令node -v,验证一下是否已安装node.js,若未安装请先下载安装node.js,下载地址:https://nodejs.org/en/,然后执行npm install -g newman安装newman,因国内网络原因若无法下载安装可以通过国内镜像源安装,如华为云镜像源,在命令后追加--registry=https://mirrors.huaweicloud.com/repository/npm/即可,最后输入newman -v命令出现版本号说明安装成功

node -v  # 查看node版本
npm install -g newman  # 安装newman
npm install -g newman-reporter-html # 安装可以生成HTML格式报告的脚本,若不安装则只能生成json格式的报告
newman -v # 查看newman版本

 导出测试集和环境变量

 执行以下测试命令,完成测试

# 运行一次测试集
newman run D:\postman\dyd测试.postman_collection.json
# 执行测试并生成HTML格式的报告
newman run D:\postman\dyd测试.postman_collection.json -e D:\postman\dyd测试-env.postman_environment.json -d D:\postman\parameter.txt -n 5 --delay-request 3000 -r html --reporter-html-export D:\postman\testResult.html
# 执行测试并生成JSON格式的报告
newman run D:\postman\dyd测试.postman_collection.json -e D:\postman\dyd测试-env.postman_environment.json -d D:\postman\parameter.txt -n 5 --delay-request 2500 -r json --reporter-json-export D:\postman\testResult.json

newman run常用参数:

  • -e:指定环境变量路径,若测试集导出后未变更环境变量,该参数可以忽略

  • -d:执行数据文件路径,参数化时使用

  • -n:执行次数,默认执行一次,若使用参数化请与参数条目保持一致

  • --delay-request:请求间隔时间(ms)

  • -r:报告格式,默认cli,即命令行输出报告

  • --reporter-html-export:导出HTML格式的报告

  • --reporter-json-export:导出JSON格式的报告

  • -g:指定全局变量路径

  • --timeout:测试集运行超时时间(ms)

关于Newman更多使用用法请查看官方教程:
https://github.com/postmanlabs/newman/#using-newman-cli

遇到的问题 网络问题可能导致连接失败,检查代理设置或使用科学上网方法解决。

更多信息 欲了解更多Postman使用方法,请访问官方教程:https://learning.postman.com/docs/introduction/overview/。

希望通过本文,各位无论是API新手还是资深开发者,都能高效利用Postman进行接口测试,提升开发效率,确保代码质量。

  • 36
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

壹心分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值