Postman是一种网页调试与发送网页 http 请求的 chrome 插件。咱们能够用来很方便的 模拟 get 或者 post 或者其余方式的请求来调试接口。chrome
一、chrome浏览器插件(浏览器逐渐不支持,不推荐)json
二、本地应用程序浏览器
Postman官网下载:https://www.postman.com/downloads/cookie
以下图所示。less
接口测试流程:dom
Postman接口测试的必要条件:请求地址、请求协议、请求方式、请求头、参数。post
接口测试用例的基本测试点如图所示:测试
Postman接口关联的几种方式:设置环境变量、全局变量、Test设置变量ui
Postman中能够设置多种不一样环境,方便Collections切换在不一样的环境中运行而不用再次修改接口信息。url
方法一:以下图所示。
点击右上角的齿轮,点击Add按钮可设置环境变量(局部变量),另外一个是全局变量(Globals)。以下图所示。设置环境变量,切换环境,可调用url变量。
方法二:直接在代码中设置变量
能够在Postman功能区中的pre-request Script中设置环境变量,以下图所示。
1 pm.environment.set("variable_key", "variable_value");
上述设置环境变量,提到Globals按钮点击便可设置全局变量。或直接在代码中设置全局变量。能够在Postman功能区中的pre-request Script中设置全局变量
1 pm.globals.set("variable_key", "variable_value");
Tests设置变量:获取响应数据的值
1 获取响应数据json对象 2 //使用var关键字,定义一个变量jsonData,用来接收接口的返回结果 3 var Data = pm.response.json(); 4 //从响应数据提取出token 5 var test = Data.token; 6 //设置token,token设置成环境变量 7 pm.enviroment.set("token", token);
Tests设置变量:经过tests,先把接口的返回结果设置成环境变量,而后后续接口就能够经过环境变量的值进行关联。
重要知识点:
1 pm.globals.get("variable_key"); 2 pm.variables.get("variable_key"); 3 pm.environment.get("variable_key");
大批量测试以及自动化测试过程当中,对同一个不容许重复的参数进行传参时,能够保证其不被重复
经常使用的三种方式:
Postman沙箱(Sandbox)是一个JavaScript执行环境,当您为请求编写预请求脚本和测试脚本时,编写的代码在这个沙箱中进行。
Postman测试沙箱其实就是结合了JS脚本完成测试中的功能,在请求发起先后实现部分测试操做。
测试沙箱经常使用功能:
(1)Pre-request Script 在请求前,脚本设置前置操做如设置变量等。
(2)Tests在请求后对状态码、响应头、响应正文等信息进行断言操做。
上述中已经提到,在请求接口前,进行环境变量与全局变量的设置与管理。例 :
1 pm.globals.get("variable_key"); 2 pm.globals.set("variable_key", "variable_value"); 3 pm.environment.set("variable_key", "variable_value"); 4 pm.environment.get("variable_key");
经常使用Tests响应断言的几种方式:
(1)Response body:Contains string(校验返回结果中是否包含某个字符串)
1 pm.test("Body matches string", function () { 2 pm.expect(pm.response.text()).to.include("string_you_want_to_search"); 3 });
(2)Response body:Is equal to a string (校验返回结果是否等于该字符串)
1 pm.test("Body is correct", function () { 2 pm.response.to.have.body("response_body_string"); 3 });
(3)Response body:JSON value check(校验返回结果中某个字段值是否等于某个值)
1 pm.test("Your test name", function () { 2 var jsonData = pm.response.json(); 3 pm.expect(jsonData.value).to.eql(100); 4 });
(4)Response header:Content-type header check(校验响应头是否包含某个值)
1 pm.test("Content-Type is present", function () { 2 pm.response.to.have.header("Content-Type"); 3 });
(5)Response time is less than 200ms(校验响应时间是否少于200ms)
1 pm.test("Response time is less than 200ms", function () { 2 pm.expect(pm.response.responseTime).to.be.below(200); 3 });
(6)Status code: Code is 200(校验响应头是否包含某个值)
1 pm.test("Status code is 200", function () { 2 pm.response.to.have.status(200); 3 });
打开管理COOKIES模式,请单击发送按钮下的Cookies连接。PostMan的本机应用程序提供了一个 MANAGE COOKIES 模式,可以让您编辑与每一个域相关联的Cookie。
建立一个cookie:要为域添加新的cookie,请单击添加Cookie按钮。 将建立根据HTTP状态管理标准的预生成的cookie字符串,但您可使用其下方显示的文本输入进行编辑。
点击保存按钮将保存到相关域下的应用程序的Cookie存储区。以下图所示。
集合是一组请求,运行集合,就会依据所选的环境变量,发送集合中全部的请求,若是配合脚本就能够构建集成测试套件,在接口请求之间传递数据,并构建接口实际工做流的镜像。若是想要自动化测试接口,运行集合是很是必要的
集合运行器的相关设置。
Monitor简介
一、点击须要监控集合右侧箭头,选择Monitors,点击“Add a monitor”
二、监控器的相关设置