一、简介

  Postman是一种网页调试与发送网页 http 请求的 chrome 插件。我们可以用来很方便的 模拟 get 或者 post 或者其他方式的请求来调试接口。

二、安装

  1、chrome浏览器插件(浏览器逐渐不支持,不推荐)

  2、本地应用程序

    Postman官网下载:https://www.postman.com/downloads/

三、界面介绍

  如下图所示。

四、Postman功能:接口测试

  接口测试流程:

  Postman接口测试的必要条件:请求地址、请求协议、请求方式、请求头、参数。

  接口测试用例的基本测试点如图所示:

五、Postman功能:设置变量

  Postman接口关联的几种方式:设置环境变量、全局变量、Test设置变量

1、环境变量

  Postman中可以设置多种不同环境,方便Collections切换在不同的环境中运行而不用再次修改接口信息。

方法一:如下图所示。

  点击右上角的齿轮,点击Add按钮可设置环境变量(局部变量),另一个是全局变量(Globals)。如下图所示。设置环境变量,切换环境,可调用url变量。

方法二:直接在代码中设置变量

  可以在Postman功能区中的pre-request Script中设置环境变量,如下图所示。

 pm.environment.set("variable_key", "variable_value");

2、全局变量

  上述设置环境变量,提到Globals按钮点击即可设置全局变量。或直接在代码中设置全局变量。可以在Postman功能区中的pre-request Script中设置全局变量

 pm.globals.set("variable_key", "variable_value");

3、Tests设置变量

  Tests设置变量:获取响应数据的值

 获取响应数据json对象
//使用var关键字,定义一个变量jsonData,用来接收接口的返回结果
var Data = pm.response.json();
//从响应数据提取出token
var test = Data.token;
//设置token,token设置成环境变量
pm.enviroment.set("token", token);

  Tests设置变量:通过tests,先把接口的返回结果设置成环境变量,然后后续接口就可以通过环境变量的值进行关联。

重要知识点:

  •   环境变量优先级高于全局变量,所有接口都可以使用全局变量
  •   变量在Postman中的使用为{{variableName}},当Postman解析变量时,字符串{{variableName}}会被替换为相应的值
  •   pre-request Script读取变量
 pm.globals.get("variable_key");
pm.variables.get("variable_key");
pm.environment.get("variable_key");

4、动态变量(随机参数)

  大批量测试以及自动化测试过程中,对同一个不允许重复的参数进行传参时,可以保证其不被重复

  常用的三种方式:

  • {{$guid}}:添加一个V4风格GUID
  • {{$timestamp}}:将当前的时间戳,精确到秒,精确到毫秒时,后面添加 000即可
  • {{$randomInt}}:添加0~1000之间的随机整数

六、Postman功能:测试沙箱

  Postman沙箱(Sandbox)是一个JavaScript执行环境,当您为请求编写预请求脚本和测试脚本时,编写的代码在这个沙箱中进行。

  Postman测试沙箱其实就是结合了JS脚本完成测试中的功能,在请求发起前后实现部分测试操作。   

  测试沙箱常用功能:

    (1)Pre-request Script 在请求前,脚本设置前置操作如设置变量等。

    (2)Tests在请求后对状态码、响应头、响应正文等信息进行断言操作。

1、Pre-request Script

  上述中已经提到,在请求接口前,进行环境变量与全局变量的设置与管理。例 :

 pm.globals.get("variable_key");
pm.globals.set("variable_key", "variable_value");
pm.environment.set("variable_key", "variable_value");
pm.environment.get("variable_key");

2、Tests(断言)

  常用Tests响应断言的几种方式:

(1)Response body:Contains string(校验返回结果中是否包含某个字符串)

 pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

(2)Response body:Is equal to a string (校验返回结果是否等于该字符串)

 pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});

(3)Response body:JSON value check(校验返回结果中某个字段值是否等于某个值)

 pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});

(4)Response header:Content-type header check(校验响应头是否包含某个值)

 pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});

(5)Response time is less than 200ms(校验响应时间是否少于200ms)

 pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});

(6)Status code: Code is 200(校验响应头是否包含某个值)

 pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});

七、Postman功能 :Cookie操作

  打开管理COOKIES模式,请单击发送按钮下的Cookies链接。PostMan的本机应用程序提供了一个  MANAGE COOKIES 模式,可让您编辑与每个域相关联的Cookie。

  创建一个cookie:要为域添加新的cookie,请单击添加Cookie按钮。 将创建根据HTTP状态管理标准的预生成的cookie字符串,但您可以使用其下方显示的文本输入进行编辑。

点击保存按钮将保存到相关域下的应用程序的Cookie存储区。如下图所示。

八、Postman功能:集合测试执行

  集合是一组请求,运行集合,就会依据所选的环境变量,发送集合中所有的请求,如果配合脚本就可以构建集成测试套件,在接口请求之间传递数据,并构建接口实际工作流的镜像。如果想要自动化测试接口,运行集合是非常必要的

  集合运行器的相关设置。

九、Postman功能:Monitor监控接口

Monitor简介

  • 是基于Postman集合API的灵活监控
  • 监控API的正常运行时间、响应能力和正确性
  • 提供监测结果的详细报告
  • 对所有Postman用户每月提供1000个免费的监控请求

1、点击需要监控集合右侧箭头,选择Monitors,点击“Add a monitor”

2、监控器的相关设置

Postman学习笔记(一)的更多相关文章

  1. postman学习笔记(一)——最简单的postman入门

    昨天开始正式接触postman的操作,最简单的操作是根据接口文档一个个测试接口. 例如: 测试环境地址:http://111.2.198.4(项目组自己的测试环境,要测试的项目组肯定会给你的) //以 ...

  2. postman学习笔记(二)

    昨天刚操作了一遍最简单的接口测试,今天就收到了俩json文件,一个是postman里导出的接口列表一个是环境变量.拿到的时候一脸懵逼,昨天还以为学会用postman测试接口了,今天才发现哪儿到哪儿呀. ...

  3. Postman使用教程学习笔记

    刚加入网页测试行列,最近在学习POSTman的使用教程,记录下学习笔记. Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件.当开发人员需要调试一个网页是否运行正常,并不是 ...

  4. Vue学习笔记-API调试工具--->国产apipost按装(比postman好按装好用)

    一  使用环境: windows 7 64位操作系统 二   Vue学习笔记-API调试工具--->apipost按装 1.下载: https://www.apipost.cn/ (比postm ...

  5. Tornado学习笔记(一) helloword/多进程/启动参数

    前言 当你觉得你过得很舒服的时候,你肯定没有在进步.所以我想学习新的东西,然后选择了Tornado.因为我觉得Tornado更匹配目前的我的综合素质. Tornado学习笔记系列主要参考<int ...

  6. ASP.NET Core 2 学习笔记(十三)Swagger

    Swagger也算是行之有年的API文件生成器,只要在API上使用C#的<summary />文件注解标签,就可以产生精美的线上文件,并且对RESTful API有良好的支持.不仅支持生成 ...

  7. ASP.NET Core 2 学习笔记(十二)REST-Like API

    Restful几乎已算是API设计的标准,通过HTTP Method区分新增(Create).查询(Read).修改(Update)和删除(Delete),简称CRUD四种数据存取方式,简约又直接的风 ...

  8. thinkphp5开发restful-api接口 学习笔记一

    视频学习地址: http://study.163.com/course/courseMain.htm?courseId=1004171002 源码和文档(如果满意,欢迎 star): https:// ...

  9. 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换

    路由其实也可以很简单-------Asp.net WebAPI学习笔记(一)   MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中, ...

随机推荐

  1. vue-infinite-scroll------vue的无线滚动插件

    vue-infinite-scroll------vue的无线滚动插件 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 V ...

  2. G - Queue HDU - 5493 线段树+二分

    G - Queue HDU - 5493 题目大意:给你n个人的身高和这个人前面或者后面有多少个比他高的人,让你还原这个序列,按字典序输出. 题解: 首先按高度排序. 设每个人在其前面有k个人,设比这 ...

  3. Qt插件系统

    说明 近期入职新公司,新公司的项目用到了Qt的插件系统,花时间了解了一下,还以为Qt的插件系统有多么高级呢,原来归根到底还是 dll 的动态调用时获取其中的类那一招啊,原理和之前的文章<DLL的 ...

  4. VA01信贷使用

    1业务场景 业务在正式机中发现,当使用VA01输入客户编号回车后会报错 2解决方法 1. SE24进入CL_IM_UKM_SD_FSCM_INTEGR1 2. 双击方法IF_EX_BADI_SD_CM ...

  5. 字节码编程,Javassist篇二《定义属性以及创建方法时多种入参和出参类型的使用》

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 在上一篇 Helloworld 中,我们初步尝试使用了 Javassist字节编程的 ...

  6. 初探numpy

    安装numpy 通过python pip安装numpy pip install numpy numpy ndarray对象 创建ndarray对象只需调用numpy的array函数即可 numpy.a ...

  7. 学习python的第一天,python的简单知识

    python 是现如今比较火的一种编程语言.在抱着试试的态度我来进行学习下python.要学习python 要先进行环境的安装. 下面是下载链接:https://pan.baidu.com/s/1PW ...

  8. js console一些常用的功能

    前言 很多时候我们在调试的时候经常用console.log,我感觉其实一个就够了,但是有时候你不可能写一步就去调试下,所以呢,经常用几个console.log,有时候挺难找的,后面翻了翻console ...

  9. Mysql 常用函数(11)- trim 函数

    Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html trim 的作用 删除字符串左右两侧的空格 tri ...

  10. 2.C#Panel扩展控件

    1.解决方案下添加新建项目新建类库 2. 在项目下添加新建项选择新建组件类 3.先引用,然后导入两个命名空间 4.因为是扩展控件,把继承自Component改成继承自Panel using Syste ...