Postman获取动态数据详解:示例与技巧

7 下载量 157 浏览量 更新于2024-09-01 1 收藏 612KB PDF 举报
本文档详细介绍了如何使用Postman获取动态数据的过程,Postman 是一款强大的API测试工具,它支持各种请求类型,包括GET、POST等,并能处理不同格式的返回报文,如JSON和XML。以下是文章的主要内容概要: 1. 在Tests中处理动态数据: - 当接口返回JSON格式的数据时,例如在充值记录接口中,可能需要登录接口返回的JWT和uid。作者建议在登录接口的测试部分编写代码,获取这些动态数据(如JWT和uid),并将其存储为全局变量。然后在充值记录接口的请求中使用这些变量(如{{JWT}}和{{uid}})。为了验证动态数据的正确性,可以创建多个用例,模拟不同用户登录,检查充值记录是否根据不同的登录信息动态变化。 2. Pre-request Script的利用: - Postman的Pre-request Script功能允许在发送请求之前执行自定义脚本。这里的脚本可以用来处理更复杂的请求,比如发送POST请求,带有JSON数据。示例中展示了如何使用`pm.sendRequest()`函数发送一个POST请求到`http://localhost:8080/user/login`,并设置请求头(Content-Type: application/json),以及如何将包含用户名和密码的JSON对象转换为字符串格式,作为body部分。 - `console.log()`在这里是一个重要的调试工具,可以输出请求的响应信息,帮助开发者检查和调试代码。如果需要发送其他类型的请求,比如PUT或DELETE,可以自定义`postRequest`对象的`method`属性,并相应地调整`body`部分的格式。 3. 处理XML格式的返回报文: - 如果返回报文为XML格式,文章提到可以在接收数据后解析XML内容,提取所需的信息,并设置变量供后续接口使用。这通常涉及使用XML解析库,如内置的DOM或第三方库,来读取和操作XML数据。 4. 批量执行和跨账号验证: - 文章还强调了批量执行用例和模拟跨账号登录的重要性,以确保动态数据的获取与预期用户行为一致。这有助于验证API的健壮性和数据一致性。 总结来说,本文提供了Postman在获取动态数据时的关键技巧,包括利用Tests和Pre-request Script来处理请求和响应中的数据,以及处理不同数据格式的策略。通过阅读和实践这些内容,读者可以更好地理解和使用Postman来测试和调试API,提升工作效率。
2018-06-22 上传
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}}({{变量名}}),测试接口,正确返回即可;