postman入门

涉及知识点

1、全局变量&环境变量
2、上一个接口的返回值作为下一个接口的参数 JSON.parse(responseBody)
3、requesttest & test(response)断言
4、列表嵌套字典
5、列表转换成字符串stringify(),字符串切割split()
6、时间戳生成(new Date()).getTime()
7、鉴权token登录 bearer[空格]tokenXXXXXXXXXXXXXXXXXXXXXXXX
8、postman 控制台日志console.log()

1、创建一个文件夹collections,将本次的接口全部保存到文件夹中

clipboard.png

clipboard.png

2、创建环境变量生产环境,用来存储url,username,password等参数,后续参数变化可直接修改环境变量即可,不需要到登录接口修改参数
如果有测试环境和生产环境的小伙伴,可直接创建2个环境变量,到时候直接切换就可以更改环境了。

如下图,点击设置icon添加环境或者全局变量,点击add/update

全局变量:整个postman生效
环境变量:当前文件夹生效
作用范围全局>环境使用方式{{变量名称}}

clipboard.png
clipboard.png

3、添加一个接口,填写接口地址get/post请求body-请求参数hearder

clipboard.png

上图我们可以看到,结果返回了一个access_token,对于某些接口来说,需要保持登录状态才可以继续后续操作,所以我们可以将token设置成一个全局变量,后续接口在header中加入Authorization=bearer{{access_token}}就可以了。

设置全局变量
pm.globals.set("access_token", access_token);//全局
pm.environment.set("variable_key", "variable_value");//环境

clipboard.png

4、上传文件

clipboard.png
clipboard.png

5、参数是list嵌套字典

需要从preview中提取type,并生成一个list,之后parser在调用

/api/excel/preview接口的返回值
clipboard.png
/api/excel/parser部分参数
clipboard.png

1、将list转换成字符串JSON.stringify(list),不然list全是[object,object][object,object]...
2、生成字典 var dict= {}; dic['type']=value;

--------/api/excel/preview test中写入的断言---------------------------------------------------------------------

var Jsondata = JSON.parse(responseBody)
var sheet_names = Jsondata.result[0].name
var row_offsets = Jsondata.result[0].row_offset

var udt = new Array();
console.log(Jsondata.result[0].schema.length)
for(var i=0;i<Jsondata.result[0].schema.length; i++)
{
    var dic={};
    dic['type']=Jsondata.result[0].schema[i].type
    udt[i]=dic
   
    
}
var udt_list =JSON.stringify(udt)
pm.environment.set("sheet_names",sheet_names);
pm.environment.set("row_offsets", row_offsets);
pm.environment.set("udt",udt_list);

 

6、生成时间戳getTime()

var time =(new Date()).getTime();
pm.environment.set("title", title+time);

 

7、字符串切割split()和查看日志

打开view--show postman console,可以看console.log()的内容

var data='哈哈哈哈哈.xlsx
var name = data.split('.')[0] //.为分隔符,取list的第0个元素:name=哈哈哈哈哈
console.log(name)

 

8、postman集合/文件夹的工作流postman.setNextRequest()

setNextRequest()总是在当前脚本所有语句执行完成后才执行。这意味着如果在其他代码块之前放置setNextRequest()请求,这些代码仍然会被执行;
setNextRequest()有一个作用域,它是集合运行的源。这意味着如果我们运行一个集合,我们可以跳转到集合中的任何请求(即使是使用相同语法的文件夹内的请求)。但是,如果运行文件夹,则setNextRequest()的作用域限于该文件夹;也就是说我们可以跳转到该文件夹内的任何请求,但不能跳转到文件夹外的任何请求。这包括其他文件夹内的请求以及集合中的根级别请求。
clipboard.png

Postman介绍
Postman是google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件。其主要功能包括:
    模拟各种HTTP requests
从常用的 GET、POST 到 RESTful 的 PUT 、 DELETE …等等。 甚至还可以发送文件、送出额外的 header。
    Collection 功能(测试集合)
Collection 是 requests的集合,在做完一個测试的時候, 你可以把這次的 request 存到特定的 Collection 里面,如此一來,下次要做同样的测试时,就不需要重新输入。而且一个collection可以包含多条request,如果我们把一个request当成一个test case,那collection就可以看成是一个test suite。通过collection的归类,我们可以良好的分类测试软件所提供的API.而且 Collection 还可以 Import 或是 Share 出來,让团队里面的所有人共享你建立起來的 Collection。
    人性化的Response整理
一般在用其他工具來测试的時候,response的内容通常都是纯文字的 raw, 但如果是 JSON ,就是塞成一整行的 JSON。这会造成阅读的障碍 ,而 Postman 可以针对response内容的格式自动美化。 JSON、 XML 或是 HTML 都會整理成我们可以阅读的格式
    内置测试脚本语言
Postman支持编写测试脚本,可以快速的检查request的结果,并返回测试结果
    设定变量与环境
Postman 可以自由 设定变量与Environment,一般我们在编辑request,校验response的时候,总会需要重复输入某些字符,比如url,postman允许我们设定变量来保存这些值。并且把变量保存在不同的环境中。比如,我們可能会有多种环境, development 、 staging 或 local, 而这几种环境中的 request URL 也各不相同,但我们可以在不同的环境中设定同样的变量,只是变量的值不一样,这样我们就不用修改我们的测试脚本,而测试不同的环境。安装Postman
Postman作为一个chrome的插件,你可以打开chrome,在chrome webstore里面找到。当然,如果是在国内,你需要FQ,否则的话,你只能百度一下,搜索postman的安装包自己安装到chrome上(这里就不赘述了,有很多类似的文章)。这里需要提一下的是,你可以不用打开chrome而直接使用Postman,具体的方法是:
选项->更多工具->扩展程序
详细信息->创建快捷方式->‘全部勾上’ 
这样你就可以在任何地方启动你的Postman了Postman sending requests
安装好之后,我们先打开Postman,可以看到界面分成左右两个部分,右边是我们后头要讲的collection,左边是现在要讲的request builder。在request builder中,我们可以通过Postman快速的随意组装出我们希望的request。一般来说,所有的HTTP Request都分成4个部分,URL, method, headers和body。而Postman针对这几部分都有针对性的工具。
URL
要组装一条Request, URL永远是你首先要填的内容,在Postman里面你曾输入过的URL是可以通过下拉自动补全的哦。如果你点击Params按钮,Postman会弹出一个键值编辑器,你可以在哪里输入URL的Parameter,Postman会帮你自动加入到URL当中,反之,如果你的URL当中已经有了参数,那Postman会在你打开键值编辑器的时候把参数自动载入
这里写图片描述
Headers
点击’Headers’按钮,Postman同样会弹出一个键值编辑器。在这里,你可以随意添加你想要的Header attribute,同样Postman为我们通过了很贴心的auto-complete功能,敲入一个字母,你可以从下拉菜单里选择你想要的标准atrribute
这里写图片描述
Method
要选择Request的Method是很简单的,Postman支持所有的Method,而一旦你选择了Method,Postman的request body编辑器会根据的你选择,自动的发生改变
这里写图片描述
Request Body
如果我们要创建的request是类似于POST,那我们就需要编辑Request Body,Postman根据body type的不同,提供了4中编辑方式:
    form-data    x-www-form-urlencoded    raw    binary
(我们这里是可以传文件的哦)
演示
我这里创建一条发送给google geocode的request,看看是啥结果:
这里写图片描述
注意,在URL里面我使用了变量googleMaps,并用{{}}调用它,这里是类似于AngulaJs的语法(果然是同一家人),其返回值是:http://maps.googleapis.com/maps/api/geocode/json。而这个变量我是定义在我的环境GoogleApiTest里面的。这部分的内容会在接下来的文章里面讲到。
点击了Send之后,可以在Postman上直接看到response的内容,内容很漂亮,Postman根据内容检索自动按JSON的格式显示出来,同时我们可以清楚的看到status code和花费的时间。
这里写图片描述
写到这,我想大家已经能够了解如何用Postman组装Request并且查看Response的内容了————————————————版权声明:本文为CSDN博主「sisi.li8」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_35885488/article/details/80779675

posted @ 2021-09-02 20:22  理想三旬·  阅读(240)  评论(0编辑  收藏  举报