Postman接口断言&上下游参数传递

断言

将测试断言数据写进到Test模块当中, 每次发送API请求的时候会自动进行断言检查数据。

常见的断言方法如下:

判断状态码:pm.response.to.have.status()

判断返回体: const responseJson = pm.response.json();pm.expect(responseJson.code).to.eql(0);

判断返回头:pm.response.headers.get()     

拿气象局获取添加接口举例说明

url中填写:http://weather.cma.cn/api/climate?stationid=54511

在test模块添加下列代码

​​


//判断状态码
pm.test("Status code is 200", function () {
  pm.response.to.have.status(200);
});

//如果返回格式为JSON, 判断返回内容
pm.test("The response has all properties", () => {
    //parse the response JSON and test three properties
    const responseJson = pm.response.json();
    pm.expect(r
1、PostMan接口参数化操作步骤; 2、环境变量设置步骤; 3、A接口返回值例如token赋值给B接口请求参数操作步骤; 图文并茂 1 接口参数化 第一步:点击右上角图标,打开环境配置页面,选择Globals,设置全局变量; 第二步:添加变量名称,设置对应的变量值,保存; 第三步:接口地址或者需要取值的参数value设置;注意需要取值的设置为{{变量名}},双大括号,即可取全局变量设置的值。 TIPS: 如果需要批量修改接口参数等,可导出后编辑,批量替换,再导入即可,注意需要修改接口地址以及下方的参数取值。 2 接口返回值存入环境变量 第一步:查看接口返回值; { "data": { "leaguerId": "161", "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNjEiLCJjcmVhdGVkIjoxNTI5NTcyNTkzMTI5LCJleHAiOjE1Mjk1Nzk3OTN9.U6qmR-Qa9sJpwxShLOC8WLPBlhLxWWiQTv5bZtyOV0mdyCSHnFBb_p6T5PBY20m_0m2AmrQZGfrv6hvHCPAaow" }, "status": 200 } 第二步:在接口的TESTS页签中输入以下内容(视返回值情况修改): pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); // 把responseBody转为json字符串 var Jsondata = JSON.parse(responseBody); // 设置环境变量access-token,供后面的接口引用 pm.environment.set("access-token ", Jsondata.data.token ); 第三步:重新发送上一个接口的参数信息测试,执行后查看环境变量;如图,则表示环境变量的值已经正常存储; 3 参数化取其他接口的返回值 第一步:修改需要引用上述token值的接口参数取值,参数值value设置为{{access-token}}({{变量名}}),测试接口,正确返回即可;
### 关于Postman的面试问题及答案 #### 对Postman的理解 Postman 是一种用于接口调试与HTTP接口测试的强大工具,能够方便地模拟GET、POST以及其他类型的请求来进行接口的调试和测试[^2]。 #### 使用流程 在工作中的使用流程通常如下: - 创建新的集合(Collections),并按照项目模块划分不同的子集。 - 编写具体的API请求,配置URL路径、请求头以及Body体等内容。 - 利用预设脚本(Pre-request Script)执行前置操作,比如获取动态数据或验证条件。 - 发送请求后通过Tests标签页编写断言逻辑来检验返回的结果是否符合预期。 - 将成功运行过的请求保存下来以便后续重复利用或者分享给其他团队成员。 #### 功能应用 常用的功能包括但不限于: - **环境管理**:可以创建多个不同场景下的环境文件,并轻松切换当前使用的环境设置;这有助于处理多套服务器地址或是认证信息等情况。 - **参数化支持**:提供了多种方式进行参数传递,例如查询字符串(Query Params),表单字段(Form Data), JSON Body等。 - **变量机制**:允许定义局部作用域内的collection-level variables, environment-specific variables 和 global variables ,其中同名情况下优先级顺序依次降低。 - **自动化测试框架集成**:借助Newman命令行工具可将本地编写的Collection导出并与CI/CD流水线相结合实现无人值守式的回归测试任务调度。 #### 测试环境管理 为了更好地管理和维护各个项目的独立性和安全性,在Postman里可以通过Environment Manager界面新增自定义命名的空间存储特定条件下所需的一系列键值对组合。每当发起一次调用前都会先加载对应上下文中指定好的默认属性列表作为基础模板填充到实际发送的数据包内去[^3]。 #### 设置关联 对于前后依赖关系较强的业务链路来说,可以在上一步骤完成后提取关键结果片段存入临时缓存区供下游环节读取引用。具体做法是在`Tests`部分加入JavaScript代码片段捕获目标位置的信息再赋值给预先声明好的environment variable 或者global variable 实现跨步间共享资源的目的。 #### 参数化的几种方式 主要有三种主要途径完成这一过程: 1. URL Query Parameters - 直接附加在链接后面?key=value形式; 2. Path Variables - 替换路由模式里的占位符{{variable}}样式; 3. Request Body Payloads - 放置JSON/XML结构体内相应节点处。 #### 变量冲突解决原则 当存在相同名称却来自不同级别的scope时遵循就近匹配的原则即envirnoment > collection > globals 的次序决定最终生效的那个实例版本号. #### 接口测试断言的方法论 一般采用内置函数库assertions.js配合chakram扩展库提供的语法糖封装而成简洁明了易于理解表达式样式的判断语句。例如检查状态码是否等于200 OK , body content type 是否为application/json 类型等等[^4]. #### 自定义变量的操作指南 除了上述提到的标准类型外还可以基于需求灵活创造个性化的标识符并通过setGlobalVariable() / setEnvironmentVariable() API接口注入系统内部参与整个生命周期流转直至结束释放掉占用空间为止。 #### 内置变量的应用范围 官方文档列举了一些常用的保留字如request.url, response.code 等可以直接拿来就用无需额外注册登记手续即可享受便捷高效的服务体验。 #### 持续集成实践案例分析 最后一点就是关于如何把Postman融入现有的DevOps体系当中形成闭环控制流。这里推荐的做法是依靠第三方插件newman搭配jenkins/gocd/circleci等平台一起协作运作从而达到自动触发构建事件的效果最大化提升工作效率减少人为失误概率的发生率。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值