Postman 接口测试

  • 前言
  • 一、工具安装
  • ① 获取工具
  • ② 账号登录
  • ③ 抓包工具获取
  • 二、接口测试
  • ① 创建一个目录
  • ② 编写脚本
  • ③ 抓取请求
  • ④ 填写用例头部
  • ⑤ 填写用例主体内容
  • ⑥ 测试
  • ⑦ 用例回放
  • ⑧ 设置断言、检查点
  • 三、高级设置
  • ① cookies 获取
  • ② 数据关联,提取上一个请求的数据
  • ③ 地址栏引用全局变量
  • ④ json 数据格式化

前言

Postman 是在测试领域里非常流行的接口测试工具。
本文介绍该工具从安装,到录制用例,再到可以流畅的进行用例回放的整个过程。后面还介绍了一些比较实用的方法,比如数据关联、自动更新 cookies
希望本文从浅入深的不断引导可以帮助到小白可以快速的掌握工具。

一、工具安装

① 获取工具

获取地址: Postman 官网下载

② 账号登录

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

进入首页。

③ 抓包工具获取

获取地址: Fiddler 官网

填一下信息就能下载了。

二、接口测试

① 创建一个目录

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


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

② 编写脚本

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

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

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

③ 抓取请求

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

④ 填写用例头部

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

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

⑤ 填写用例主体内容

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

⑥ 测试

点击 send,看返回值是不是对的,图中可以看出我返回了正常的 JSON 数据,证明测试成功了。不确定返回的对不对,可以在正常浏览器里做同样的操作,与开发者工具的 network 看返回值做对比。
一般 json 返回数据会有个状态,也可以通过这个状态看有没有成功。

⑦ 用例回放

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

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

⑧ 设置断言、检查点

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

点击上面导航栏的 test,然后在右侧选择 Response body: Contains string,然后会多出一些代码,在我圈住的位置把要检测的文本内容填进去。
注意: 如果检测的文本里包含双引号,前面需要加一个正斜杠 " \" 来转义。

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

// 断言类型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 存储到环境变量里。

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

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

把上面的环境选择为我们创建的环境。
输入我们提取 cookie 的代码,然后发送下请求。

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


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

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

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

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

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

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

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

③ 地址栏引用全局变量

设置个全局变量,然后让地址栏引用。
可以直接在环境里添加全局变量。

两个大括号括起来,就可以引用全局变量了。
还能通过代码来添加全局变量。

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


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

④ json 数据格式化

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

喜欢的点个赞❤吧!

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

  1. python3.7输出语句_python3测试工具开发快速入门教程7输入和输出

    python有多种输出方式:屏幕打印数据,或者写入文件. 格式化输出 我们有两种大相径庭地输出值方法:表达式语句* 和 print() 函数(第三种方法使用文件对象的write()方法,标准文件输出可 ...

  2. 【正则表达式测试工具】使用正则表达式快速找出两列数据中不同的行

    例如像下面的这样的一堆海量数据(已省略部分),可能有几千组,在不编程的情况下如何快速找到不同的行?可能excel有办法,但是处理起来应该没我这样方便的. b_start b_end 100790 10 ...

  3. 绿色版的正则表达式测试工具及正则表达式入门教程

    下载网址:https://download.csdn.net/download/xyz846/10856604 RegexTester是一款正则表达式测试器,支持单行模式.多行模式,经典的窗口设计,该 ...

  4. python测试开发教程_python3测试工具开发快速入门教程

    现有的优秀python教程大多来自国外,但是翻译过来文章,有些丧失了原意.且现有的python3教程,很少有结合项目能快速上手.为此我们退出为零基础的初学者提供python入门教程(资深python使 ...

  5. 思维导图 - 测试技术扩展:Postman接口测试、Sonar白盒测试、Sonic移动测试、Python操作FTP服务器

    给大家整理了下测试技术扩展相关的学习文档. 第一章: Postman 接口测试工具 测试工具 - Postman 接口测试入门使用手册,Postman 如何进行数据关联.自动更新 cookies.简单 ...

  6. 轻量级Web渗透测试工具jSQL

    轻量级Web渗透测试工具jSQL jSQL是Kali集成的一款轻量级的Web渗透测试工具.最初该工具主要实施SQL注入,后来增加更多的功能,扩展形成一个综合性的Web渗透测试工具.Kali提供的版本较 ...

  7. postman接口测试中文汉化教程

    小编热衷于收集整理资源,记录踩坑到爬坑的过程.希望能把自己所学,实际工作中使用的技术.学习方法.心得及踩过的一些坑,记录下来.也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己 ...

  8. 几种网站压力测试工具调研与使用

    在项目上线之前,都需要做压力测试,目的是看下我们的网站能抗住多少的压力,能承担多少并发,如果不做压力测试,一旦出现大访问量时,我们的网站会挂掉.因此,我们对现有较流行的几种网络压力测试工具进行了简单调 ...

  9. app测试和app接口测试要点详解

    一.app测试要点 1.安装.卸载:测试app能否正常安装或者卸载 2.app升级:本地升级,在线升级,原数据是否正常 3.功能性 不同平台一致性 4稳定性 系统交互,低电量,蓝牙耳机 5.权限 6. ...

最新文章

  1. Python金融大数据分析——第五章数据可视化(1)二维绘图
  2. iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全
  3. 对tableView三种计算动态行高方法的分析
  4. c++-内存管理-bitmap_alloctor
  5. 2008年5月系统分析师考试上午试卷参考答案与考点解析2
  6. 使用gogit 设置 http 以及 ssh 协议
  7. @TableLogic注解表示逻辑删除
  8. Hello Android
  9. H3C认证无线互联网络专家
  10. python 多进程 内存增长_python 多进程 内存 copy-on-write
  11. 物理数据库设计 - 读书笔记
  12. 有趣的Windows之mysql的zip安装及配置
  13. linux安装lrzsz工具
  14. OpenFOAM学习笔记 案例1之Cavity(1)
  15. Nginx学习笔记(反向代理搭建集群)
  16. c语言已知加速度求位移速度,知道初速度知道加速度求位移的公式
  17. c/c++中 运算符 左结合与右结合
  18. 博客开张+第1个项目:云云图书馆
  19. 【黑客故事】程序员作家王小波
  20. 史上最快最简Windows10激活

热门文章

  1. c# winForm DotNetBar控件之SuperGridControl
  2. 第一个项目GeoQuiz开发总结
  3. 立即终止Sleep的线程
  4. oracle--pl/sql变量定义----
  5. Ubuntu login as root automatically
  6. 厦门“快捷贷”项目启动 最高可贷500万
  7. Objectice-C之类层次结构
  8. *.tar.bz2文件解压
  9. Qcom LK阶段如何使用ADC介绍
  10. 常见python面试题总结