首页>软件资讯>常见问题

常见问题

Postman接口测试工具详解

发布时间:2024-07-25 09:46:43人气:338

一、理论部分

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中设置如下请求:


URL: http://115.28.108.130:5000/api/user/reg/

Method: POST

Header: Content-Type: application/json

Body: 使用raw格式,输入JSON字符串:

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

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


2. GET请求

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


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


URL: https://api.example.com/purchase/prepareOrder/importListFromPlm

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. 用户注册接口测试

场景描述


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


步骤


创建一个新的Collection,命名为“用户注册测试”。

在Collection中创建一个新的POST请求。

设置URL为注册API的地址,例如:https://api.example.com/register。

在Headers中添加Content-Type: application/json。

在Body中使用raw格式,填入注册信息的JSON:

{  "username": "newuser",  "password": "password123",  "email": "newuser@example.com"}

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

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

2. 用户登录接口测试

场景描述


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


步骤


创建一个新的GET或POST请求(取决于API设计)。

设置URL为登录API的地址,例如:https://api.example.com/login。

如果是GET请求,添加查询参数username和password。

如果是POST请求,在Body中以JSON格式添加用户名和密码。

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

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

3. 商品列表查询接口测试

场景描述


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


步骤


创建一个新的GET请求。

设置URL为商品列表API的地址,例如:https://api.example.com/products。

添加可能的查询参数,如category=books或price=100。

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

使用断言检查返回的JSON数组长度是否正确。

4. 商品添加到购物车接口测试

场景描述


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


步骤


确保用户已经登录并获取到token。

创建一个新的POST请求。

设置URL为添加到购物车API的地址,例如:https://api.example.com/cart/items。

在Headers中添加Authorization: Bearer <token>。

在Body中以JSON格式添加商品ID和数量。

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

使用断言检查返回的JSON中购物车是否包含添加的商品。

5. 文件上传接口测试

场景描述


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


步骤


创建一个新的POST请求。

设置URL为文件上传API的地址,例如:https://api.example.com/upload。

在Headers中添加Content-Type: multipart/form-data。

在Body中选择form-data格式,并添加键值对,键为file,值为选择文件按钮。

附加其他必要的表单字段,如文件描述。

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

使用断言检查返回的JSON中是否包含文件上传成功的确认信息。

6. 商品下单接口测试

场景描述


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


步骤


确保用户已经登录并获取到token。

创建一个新的POST请求。

设置URL为下单API的地址,例如:https://api.example.com/orders。

在Headers中添加Authorization: Bearer <token>。

在Body中以JSON格式添加订单信息,包括购物车中的商品ID列表和数量。

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

使用断言检查返回的JSON中是否包含订单确认信息。

7. 用户信息更新接口测试

场景描述


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


步骤


确保用户已经登录并获取到token。

创建一个新的PUT请求。

设置URL为用户信息更新API的地址,例如:https://api.example.com/user/profile。

在Headers中添加Authorization: Bearer <token>和Content-Type: application/json。

在Body中以JSON格式添加新的用户信息。

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

使用断言检查返回的JSON中是否包含更新后的用户信息。

8. 订单状态查询接口测试

场景描述


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


步骤


确保用户已经登录并获取到token。

创建一个新的GET请求。

设置URL为订单状态查询API的地址,例如:https://api.example.com/orders/{orderId}。

在Headers中添加Authorization: Bearer <token>。

替换URL中的{orderId}为实际的订单ID。

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

使用断言检查返回的JSON中是否包含订单的正确状态信息。

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



上一条:Aspen11安装教程

下一条:Postman 的几种功能很好用