测试工具 - Postman接口测试入门使用手册,Postman如何进行数据关联、自动更新cookies、简单编程

简介: 测试工具 - Postman接口测试入门使用手册,Postman如何进行数据关联、自动更新cookies、简单编程

       

Postman 接口测试

前言

Postman 是在测试领域里非常流行的接口测试工具。

本文介绍该工具从安装,到录制用例,再到可以流畅的进行用例回放的整个过程。后面还介绍了一些比较实用的方法,比如数据关联、自动更新 cookies

希望本文从浅入深的不断引导可以帮助到小白可以快速的掌握工具。

一、工具安装

① 获取工具

获取地址:Postman 官网下载

image.png

② 账号登录

刚进来需要创建个新的账户。

image.png

进入首页。

image.png

③ 抓包工具获取

获取地址:Fiddler 官网

image.png

填一下信息就能下载了。

image.png

二、接口测试

① 创建一个目录

创建一个收集夹,用来存放我们录制的接口用例。

image.png

image.png

目录下面可以添加文件夹来进行分类管理,右键来进行文件夹添加。

image.png

image.png

② 编写脚本

录制接口用例,可以直接点击右上角的录制请求 request,也可以直接点击右上角。

image.png

输入用例名,下面可以选择要保存的文件位置,我保存在了我刚才创建的文件夹里。

image.png

请求方式有很多种,是那种形式取决于头部显示的请求方式,上面的加号可以添加新的请求。

image.png

③ 抓取请求

我们利用 fiddler 工具来抓取请求。抓取到的请求查看它的 Raw 格式,可以看到上面是表头参数,下面是 json 表体参数。我们把抓取到的值填到我们建立的用例里。

image.png

④ 填写用例头部

头部参数的第一条填在上面,其它的参数填到下面。通过 Bulk Edit 可以快捷进行头部内容的填写。

image.png

点击 Key-Value Edit 可以切回来。

image.png

⑤ 填写用例主体内容

选择 raw 形式,把表体内容粘进来,再选择 JSON 格式。

image.png

⑥ 测试

点击 send,看返回值是不是对的,图中可以看出我返回了正常的 JSON 数据,证明测试成功了。不确定返回的对不对,可以在正常浏览器里做同样的操作,与开发者工具的 network 看返回值做对比。image.png

一般 json 返回数据会有个状态,也可以通过这个状态看有没有成功。

image.png

⑦ 用例回放

点击左上角的 runner 进入回放页面。

image.png

我们选择必要的脚本,进行回放即可。

image.png

⑧ 设置断言、检查点

我们测试时看 response 返回值,成功的话一般会有标志,我们把这个标志设置为检查点,来看我们的接口是不是成功的。

image.png

点击上面导航栏的 test,然后在右侧选择 Response body: Contains string,然后会多出一些代码,在我圈住的位置把要检测的文本内容填进去。

注意: 如果检测的文本里包含双引号,前面需要加一个正斜杠 " \" 来转义。

image.png

给大家展示两种常用的设置检查点的方式。

// 断言类型1 - 检查返回值
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("\"success\":true");
});
// 断言类型2 - 检查状态码
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

三、高级设置

① cookies 获取

cookies 过一段时间会失效,新增操作如果不取到登录操作返回的 cookies,一段时间后就不能用了。

新建一个环境,用于保存环境变量,每次回放让它自动把新的 cookies 存储到环境变量里。

image.png

后续我们设置完环境变量就能在这里看到。

image.png

可以看到 set-cookis 里面的值就是我们需要的 cookie 信息。

image.png

把上面的环境选择为我们创建的环境。

输入我们提取 cookie 的代码,然后发送下请求。

// 获取返回值头部set-cookie的内容
var jsondata = postman.getResponseHeader("set-cookie");
// 通过;号来分割数据,转化为数组形式
data = jsondata.split(";");
// 设置环境变量,data数组里的第一个值即我们需要的cookie
postman.setEnvironmentVariable("Cookie",data[0]);

image.png

如果设置对的话,测试一下,可以看到我们需要的 cookie 值已经提取出来了。

image.png

然后我们来引用前面的 cookie 环境变量,发送请求就成功了。

image.png

② 数据关联,提取上一个请求的数据

提交动作往往需要该单据保存时生成的 id,这时我们就需要进行上下文数据关联才能提交成功。

// 把responseBody转为json字符串
var data = JSON.parse(responseBody);
// 把templetid提取出来,存到环境变量里
pm.environment.set("templetid", data.data.templetid);

示例中:我想要提取我圈住的这个 json 值。

image.png

可以看到环境变量里已经有这个值了。

image.png

③ 地址栏引用全局变量

设置个全局变量,然后让地址栏引用。

可以直接在环境里添加全局变量。

image.png

两个大括号括起来,就可以引用全局变量了。

还能通过代码来添加全局变量。

// 添加全局变量
pm.globals.set("url", "http://test.nc-cloud.com");

image.png

bodyraw 引用变量也采用双括号的方式。

image.png

④ json 数据格式化

点击 beautify 可以用来格式 json 数据,方便我们观察数据、处理数据。

image.png

喜欢的点个赞❤吧!

目录
相关文章
|
22天前
|
IDE Java 测试技术
揭秘Java高效编程:测试与调试实战策略,让你代码质量飞跃,职场竞争力飙升!
【8月更文挑战第30天】在软件开发中,测试与调试对确保代码质量至关重要。本文通过对比单元测试、集成测试、调试技巧及静态代码分析,探讨了多种实用的Java测试与调试策略。JUnit和Mockito分别用于单元测试与集成测试,有助于提前发现错误并提高代码可维护性;Eclipse和IntelliJ IDEA内置调试器则能快速定位问题;Checkstyle和PMD等工具则通过静态代码分析发现潜在问题。综合运用这些策略,可显著提升代码质量,为项目成功打下坚实基础。
35 2
|
24天前
|
存储 人工智能 自然语言处理
知识库优化增强,支持多种数据类型、多种检索策略、召回测试 | Botnow上新
Botnow近期对其知识库功能进行了全面升级,显著提升了数据处理能力、检索效率及准确性。新版本支持多样化的数据格式,包括PDF、Word、TXT、Excel和CSV等文件,无需额外转换即可直接导入,极大地丰富了知识来源。此外,还新增了细致的文本分片管理和编辑功能,以及表格数据的结构化处理,使知识管理更为精细化。 同时,平台提供了多种检索策略,包括混合检索、语义检索和全文检索等,可根据具体需求灵活选择,有效解决了大模型幻觉问题,增强了专业领域的知识覆盖,从而显著提高了回复的准确性。这些改进广泛适用于客服咨询、知识问答等多种应用场景,极大提升了用户体验和交互质量。
44 4
|
3天前
|
存储 监控 安全
在自动化测试环境中,如何确保测试数据的安全性和隐私性
在自动化测试环境中,如何确保测试数据的安全性和隐私性
|
26天前
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
|
20天前
|
安全 数据安全/隐私保护 架构师
用Vaadin打造坚不可摧的企业级应用:安全性考虑全解析
【8月更文挑战第31天】韩林是某金融科技公司的架构师,负责构建安全的企业级应用。在众多Web框架中,他选择了简化UI设计并内置多项安全特性的Vaadin。韩林在其技术博客中分享了使用Vaadin时的安全考虑与实现方法,包括数据加密、SSL/TLS保护、结合Spring Security的用户认证、XSS防护、CSRF防御及事务性UI更新机制。他强调,虽然Vaadin提供了丰富的安全功能,但还需根据具体需求进行调整和增强。通过合理设计,可以构建高效且安全的企业级Web应用。
28 0
|
20天前
|
测试技术 数据库
确保数据访问层的可靠性:详细解析使用Entity Framework Core进行隔离的单元测试方法
【8月更文挑战第31天】在软件开发中,单元测试是确保代码质量的关键。本文通过一个在线商店的商品查询功能案例,介绍了如何使用EF Core和Moq框架实现数据访问层的隔离测试。通过模拟`ApplicationDbContext`,我们能够在不访问真实数据库的情况下对`ProductService`进行单元测试,提高测试效率并保证测试稳定性。这种方法是实现高效、可靠单元测试的重要手段。
26 0
|
8天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
53 7
Jmeter实现WebSocket协议的接口测试方法
|
8天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
35 3
快速上手|HTTP 接口功能自动化测试
|
8天前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
21 5
|
24天前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~