Postman 接口测试工具详解

2012 篇文章 51 订阅
1232 篇文章 21 订阅

一、理论部分

1. 写在开始的话

在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而市场上有很多优秀的接口测试工具,比如SoapUI、Postman、JMeter、yapi等,能够高效地帮助后端开发人员独立进行接口测试。这里主要介绍如何使用Postman进行接口测试。

2. 简单了解一下Postman

Postman是一个接口测试工具,相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果,从而验证响应中的结果数据是否和预期值相匹配。Postman与浏览器的区别在于,它更直观地展示接口返回的结果,特别是JSON格式的数据。

二、工具应用

1. 新建接口
1.1 创建Collection集合

在开始一个项目时,为了便于组织和���理,可以将同属该项目的多个API放在一组里。首先需要新建一个Collection:New -> Collection。

1.2 创建请求

在Postman中,你可以通过点击左上角的“Send”按钮或使用快捷键(默认为Ctrl+Enter)发送请求。在弹出的窗口中,你可以填写请求的URL、请求方法(GET、POST等)、请求头和请求体等信息。

三、接口实例

1. POST请求

POST请求是用来发送数据的。例如,产品经理的PRD文档要求分配加工厂接口里新增加工厂ID字段,整数类型,非必填。测试人员需要打开Postman,填写接口信息,结合测试用例,组合变换参数信息后,查看返回的JSON数据与PRD是否一致。

以注册用户为例,测试人员可以在Postman中设置如下请求:

{
  "name": "小小",
  "password": "123456"
}

发送请求后,可以通过响应结果验证接口是否正确处理了注册信息。

2. GET请求

GET请求是用来获取数据的。例如,XX系统获取出库账单接口,测试人员需要打开Postman,填写接口信息,结合测试用例,组合变换参数信息后,查看返回的JSON数据与PRD是否一致。

以获取出库账单为例,测试人员可以在Postman中设置如下请求:

  • URL: api.example.com/purchase/pr…
  • Method: GET
  • Query Parameters: 根据需要添加查询参数
  • Response: 检查返回的JSON数据是否包含预期的账单信息。

四、断言与测试

Postman支持对响应结果进行断言和测试。断言可以帮助你检查响应结果中的特定内容或值,如检查JSON数据中的某个字段是否符合预期。测试则可以对整个响应结果进行验证,如检查响应状态码是否为200。

在测试过程中,可以使用Postman的断言功能来验证响应结果。例如:

  • 断言状态码为200:
pm.test("Status code is 200", function () {
  pm.response.to.have.status(200);
});
  • 断言响应文本中包含特定字符串:
pm.test("Body matches string", function () {
  pm.expect(pm.response.text()).to.include("access_token");
});
```[^11^]。

五、集合与环境

在Postman中,你可以将多个请求组织到一个集合中,方便管理和复用。此外,你还可以为集合设置不同的环境变量,以便在不同的环境下发送请求时使用不同的参数值。

在测试不同环境的API时,可以使用环境变量来管理不同环境的配置。例如:

  • 设置环境变量:
postman.setEnvironmentVariable("url", "http://192.168.1.21/oa/index.jsp");
  • 在请求中使用环境变量:
https://{{url}}/api/user/reg/
```[^11^]。

六、参数化与数据驱动测试

在Postman中,你可以使用参数化测试来复用测试用例,并通过数据驱动的方式传递不同的参数值。这样可以使你的测试用例更加灵活和健壮。

七、Mock服务器与挡板测试

Postman还支持Mock服务器和挡板测试功能。你可以使用Mock服务器模拟接口响应,以便在没有后端服务的情况下进行前端开发或测试。同时,挡板测试可以帮助你在开发过程中模拟接口请求和响应,以便更好地进行集成测试和调试。

相信你已经对Postman工具有了基本的了解和使用方法。在实际工作中,建议根据项目的需求和场景选择合适的接口测试方法和工具,以提高接口测试的效率和准确性。下面V 哥跟业务场景分讲解几个案例的使用。

八、使用案例

1. 用户注册接口测试

场景描述

测试用户是否可以成功注册到系统中。

步骤

  1. 创建一个新的Collection,命名为“用户注册测试”。
  2. 在Collection中创建一个新的POST请求。
  3. 设置URL为注册API的地址,例如:https://api.example.com/register
  4. 在Headers中添加Content-Type: application/json
  5. 在Body中使用raw格式,填入注册信息的JSON:
{
  "username": "newuser",
  "password": "password123",
  "email": "newuser@example.com"
}

6. 发送请求并检查响应状态码是否为201。

7. 使用断言检查返回的JSON中是否包含用户信息。

2. 用户登录接口测试

场景描述

测试用户是否可以使用正确的凭证登录系统。

步骤

  1. 创建一个新的GET或POST请求(取决于API设计)。
  2. 设置URL为登录API的地址,例如:https://api.example.com/login
  3. 如果是GET请求,添加查询参数usernamepassword
  4. 如果是POST请求,在Body中以JSON格式添加用户名和密码。
  5. 发送请求并检查响应状态码是否为200。
  6. 使用断言检查返回的JSON中是否包含token信息。
3. 商品列表查询接口测试

场景描述

测试系统是否能够返回正确的商品列表。

步骤

  1. 创建一个新的GET请求。
  2. 设置URL为商品列表API的地址,例如:https://api.example.com/products
  3. 添加可能的查询参数,如category=booksprice=100
  4. 发送请求并检查响应状态码是否为200。
  5. 使用断言检查返回的JSON数组长度是否正确。
4. 商品添加到购物车接口测试

场景描述

测试用户是否可以将商品添加到购物车。

步骤

  1. 确保用户已经登录并获取到token。
  2. 创建一个新的POST请求。
  3. 设置URL为添加到购物车API的地址,例如:https://api.example.com/cart/items
  4. 在Headers中添加Authorization: Bearer <token>
  5. 在Body中以JSON格式添加商品ID和数量。
  6. 发送请求并检查响应状态码是否为200。
  7. 使用断言检查返回的JSON中购物车是否包含添加的商品。
5. 文件上传接口测试

场景描述

测试用户是否可以上传文件到系统。

步骤

  1. 创建一个新的POST请求。
  2. 设置URL为文件上传API的地址,例如:https://api.example.com/upload
  3. 在Headers中添加Content-Type: multipart/form-data
  4. 在Body中选择form-data格式,并添加键值对,键为file,值为选择文件按钮。
  5. 附加其他必要的表单字段,如文件描述。
  6. 发送请求并检查响应状态码是否为200或201。
  7. 使用断言检查返回的JSON中是否包含文件上传成功的确认信息。
6. 商品下单接口测试

场景描述

测试用户是否可以成功下单购买商品。

步骤

  1. 确保用户已经登录并获取到token。
  2. 创建一个新的POST请求。
  3. 设置URL为下单API的地址,例如:https://api.example.com/orders
  4. 在Headers中添加Authorization: Bearer <token>
  5. 在Body中以JSON格式添加订单信息,包括购物车中的商品ID列表和数量。
  6. 发送请求并检查响应状态码是否为200或201。
  7. 使用断言检查返回的JSON中是否包含订单确认信息。
7. 用户信息更新接口测试

场景描述

测试用户是否可以更新自己的个人信息。

步骤

  1. 确保用户已经登录并获取到token。
  2. 创建一个新的PUT请求。
  3. 设置URL为用户信息更新API的地址,例如:https://api.example.com/user/profile
  4. 在Headers中添加Authorization: Bearer <token>Content-Type: application/json
  5. 在Body中以JSON格式添加新的用户信息。
  6. 发送请求并检查响应状态码是否为200。
  7. 使用断言检查返回的JSON中是否包含更新后的用户信息。
8. 订单状态查询接口测试

场景描述

测试用户是否可以查询到自己订单的当前状态。

步骤

  1. 确保用户已经登录并获取到token。
  2. 创建一个新的GET请求。
  3. 设置URL为订单状态查询API的地址,例如:https://api.example.com/orders/{orderId}
  4. 在Headers中添加Authorization: Bearer <token>
  5. 替换URL中的{orderId}为实际的订单ID。
  6. 发送请求并检查响应状态码是否为200。
  7. 使用断言检查返回的JSON中是否包含订单的正确状态信息。

在执行这些测试案例时,请确保遵循实际的API规范,并根据API的特定要求调整步骤和参数。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

在这里插入图片描述

 ​​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值