Postman的test本质上是JavaScript代码,经过咱们编写测试代码,每个tests返回True,或是False。
每个tests实际上就是一个测试用例html
Tests断言:比较预期结果和实际结果
(编辑文本采用js语言,对于初学者来讲能够直接点击右边的系统自带配置js)web
引用变量{{变量名称}}面试
好比搜猫,那么咱们就选择Response body:Contains string正则表达式
pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); });
pm.test("检查返回内容是否正确", function () { pm.expect(pm.response.text()).to.include("<titile>猫_百度搜索</titile>"); });
附百度搜猫抓过来的接口Urljson
http://www.baidu.com/s?wd=猫
附JSON在线视图查看器微信
http://www.bejson.com/jsonviewernew/
//一、检查返回值
pm.test("检查返回内容是否正确", function () { pm.expect(pm.response.text()).to.include("<title>猫_百度搜索</title>"); }); //二、检查状态码
pm.test("检查状态码", function () { pm.response.to.have.status(200); }); //三、检查响应时间
pm.test("检查响应时间小于300ms", function () { pm.expect(pm.response.responseTime).to.be.below(300); });
显示结果app
ps:检查响应时间会因网速而发生变化,返回Fail有时是正常的框架
//一、检查返回值
pm.test("检查返回内容是否正确", function () { pm.expect(pm.response.text()).to.include("<title>猫_百度搜索</title>"); }); //二、检查状态码
pm.test("检查状态码", function () { pm.response.to.have.status(200); }); //三、检查响应时间
pm.test("检查响应时间小于300ms", function () { pm.expect(pm.response.responseTime).to.be.below(300); }); //四、获取状态码
var code=responseCode.code; //五、设置全局变量
pm.globals.set("codename", code);
经过js脚本咱们获取状态码后,存在一个全局变量codename里面,而后咱们打开环境变量管理进行查看,以下:工具
//一、获取jsonData数据包
var jsonData=JSON.parse(responseBody); //二、经过json包获取对应字段名access_token
var token=jsonData.access_token; //设置token全局变量
pm.globals.set("myToken",token);
var token=responseBody.match(new RegExp('\access_token\":\"(.+?)\"'))[1]; pm.globals.set("weixin_token",token);
当咱们访问百度时,能够经过网址进行访问,也能够经过IP地址进行访问,那么咱们切换不一样的环境时,如何让它们都能用呢?学习
nslookup www.baidu.com
因而咱们能查看到以下内容(每一个电脑的显示界面可能不同)
经过查看,咱们就能获得百度的三种环境:生产环境、测试环境、预发布环境
www.baidu.com 生产环境 IP地址: 183.232.231.172 测试环境 183.232.231.174 预发布环境
开发环境:开发人员用来编码调试
测试环境:测试人员找bug
预发布环境:模拟的真实环境
生产环境:用户真实使用的
PS:那么咱们将主机设置为全局变量,这样咱们对于不一样的环境都可以使用,此时咱们打开Postman,进入以前的环境变量管理,点击Add而后添加这三个环境,注意咱们的环境变量名称要统一
一、测试环境配置
二、生产环境配置
三、预发布环境配置
以前各个环境配置好了以后,咱们发送send请求后,打开咱们的Fiddler工具查看咱们的请求头,发如今User-Agent会直接显示咱们的Postmanxxx,这样的接口确定会出问题的,咱们应该如何进行隐藏封装呢?
很简单,就是咱们直接去访问百度,去拿到百度的Headers的信息就行了,而后去修改咱们本身接口的key-value值
下面是我从百度拷下来的Headers,能够直接使用
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
而后在接口那选择Headers,采用文本方式直接复制过去便可
PS:咱们这里是引用了全局变量baiduUrl,是以前配置的三个环境的变量名称
那么如今咱们的Headers请求头就封装好了,咱们再send一下,采用预发布环境试试~
结果很显然,修改为了百度的请求头了,说明隐藏成功!
但愿本文对你有所帮助~~若是对软件测试、接口测试、自动化测试、面试经验交流感兴趣能够加入咱们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一块儿交流。