Postman接口工具实战

devtools/2024/9/24 11:23:40/

为了更好地展示Postman接口测试的实战过程,我将以一个简单的实战示例来说明如何使用Postman完成一个API的测试。假设我们要测试一个假想的天气查询API,该API允许用户通过城市名查询天气情况。我们将执行以下步骤:

1. 准备工作

确保已经安装了Postman并注册/登录账户,以便保存和同步测试集合。

2. 创建新集合

  1. 打开Postman应用。
  2. 点击左侧导航栏的“+”图标,选择“Create New” > “Collection”。
  3. 命名集合,例如“Weather API Tests”,并可选地添加描述,然后点击“Create”。

3. 添加GET请求

在这个集合内,我们添加一个查询天气的GET请求:

  1. 点击刚创建的集合,然后点击“+”添加请求。
  2. 输入请求名称,例如“Get Weather by City”。
  3. 在URL栏输入API的端点,假设是https://api.example.com/weather?city={cityName}。注意,这里{cityName}是一个占位符,实际测试时会用具体的城市名替换。

4. 设置查询参数

  • 点击“Params”键入参数名cityName,并为其赋值,例如New York

5. 发送请求

  • 点击“Send”按钮发送请求。首次发送前,确保已正确设置好API的基础URL(如果有的话,在“Settings”>“General”>“Request”中设置Base URL)。

6. 检查响应

  • 观察响应结果,确保状态码为200,并检查响应体是否包含期望的天气信息。

7. 添加测试脚本

为了自动化验证响应,我们可以添加测试脚本:

  1. 点击“Tests”选项卡。
  2. 编写JavaScript测试代码,比如验证状态码和响应体中的某些数据。
 

Javascript

1pm.test("Status code is 200", function () {
2    pm.response.to.have.status(200);
3});
4
5pm.test("Response includes 'temperature'", function () {
6    pm.expect(pm.response.text()).to.include("temperature");
7});
  1. 再次点击“Send”运行请求,同时执行测试脚本。底部的“Test Results”会显示测试是否通过。

8. 使用环境变量

为了使请求更灵活,我们可以使用环境变量来替换URL中的城市名称。

  1. 点击右上角的环境选择器,选择“Manage Environments”。
  2. 创建新环境,命名为“Default”或其他。
  3. 添加变量cityName并设置初始值。
  4. 回到请求,将URL中的{cityName}替换为{{cityName}},这样Postman就会使用环境变量的值。

通过以上步骤,我们完成了对一个简单API接口的基本测试设置和执行。随着实践的深入,可以进一步探索Postman的其他高级功能,如数据驱动测试、集合运行器、模拟服务器等,以满足更复杂的测试需求。


http://www.ppmy.cn/devtools/56045.html

相关文章

ssm网络小说系统平台

小说管理系统源码 ssm框架layuijspjQueryAjaxMySQL数据库面向接口编程 用户、读者、作者、小说信息增删改查 小说阅读、小说列表导出等功能 登录页: 登录后 读者列表 作者角色登录后管理后台 读者登陆后页面

TF/IDF算法

第1关:去除停用词 任务描述 本关任务:根据本关所学有关停用词的知识,编写使用停用词表去除停用词的程序并通过测试用例。 相关知识 为了完成本关任务,你需要掌握: 停用词的意义; 去除停用词的步骤。 …

基于weixin小程序校园快递系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,用户管理,订单管理,快递管理,快递记录管理,公告管理,基础数据管理 小程序功能包括:系统首页,…

大模型推理知识总结

一、大模型推理概念 大多数流行的only-decode LLM(例如 GPT-3)都是针对因果建模目标进行预训练的,本质上是作为下一个词预测器。这些 LLM 将一系列tokens作为输入,并自回归生成后续tokens,直到满足停止条件&#xff0…

AI在创造还是毁掉一些东西

今天突然闪现一个念头,AI真的能带来进步吧。AI能个我们带来什么? 突发这个想法的原因是早上乘车的时候看到一个7,8岁的小孩脖子上带了AI学习机。我在想,小孩都通过AI来学习了,还能提升创造吗?这引起了我的担忧。也许AI…

并发 多线程

目录 thread thread 类总览 构造函数 join joinable ​编辑 detach swap yield swap 成员函数的调用 namespace::this_thread 线程同步--锁 互斥锁mutex 递归锁recursive_mutex 定时锁 Lock 锁辅助类 lock_guard​编辑 unique_lock std::lock 解决死锁问题 消息…

Vue 2.0 与 3.0区别

Vue.js是一种流行的前端JavaScript框架,用于构建用户界面和单页面应用程序。随着时间的推移,Vue.js已经从Vue2发展到了Vue3,这两个版本在**生命周期、模板组件以及性能**等方面有显著差异。具体分析如下: 1. **生命周期** - **Vue…

C++中int、DWORD和QWORD

当谈论C编程语言时,以下术语经常被提及:int、DWORD和QWORD。它们是用于表示不同数据类型和长度的关键字。以下是它们的详细解释以及举例说明: int: int是C中表示整数的数据类型之一。它通常用于存储有符号的整数值。int的长度在不…