您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

postman安装与简要操作

时间:2019-09-27 09:33:55  来源:  作者:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/q386815991/article/details/79569409

1、Postman接口测试工具

Postman简介与安装:

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。

它提供功能强大的 Web API & HTTP 请求调试。它能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers。

Postman功能:

主要用于模拟网络请求包

快速创建请求

回放、管理请求

快速设置网络代理

Postman安装:

1.在chrome应用商店搜索,应用商店地址:https://chrome.google.com/webstore/search/postman?t=http://webstore.google.com

翻墙下载直接添加成google浏览器插件即可

2.客户端安装

https://www.getpostman.com/Apps

建议选择mac/windows app,比起Chrome app,下载不需要翻墙,功能更强大

2、界面

postman安装与简要操作

 

3、Postman简单使用

http://www.bejson.com/ 解析json格式数据的网站

https://developers.douban.com/wiki/?title=book_v2#get_book_search

postman安装与简要操作

 

https://mp.weixin.qq.com/wiki/home/

开始开发--接口测试号申请

appID wx55614004f367f8ca

Appsecret 65515b46dd758dfdb09420bb7db2c67f

用户分组管理--创建分组

利用postman发送post请求、参数是json格式

postman安装与简要操作

 

页面访问请求(Post方法):

form-data、x-www-form-urlencoded、raw、binary的区别

1. form-data

就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息;由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。

2.x-www-form-urlencoded:

就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对

3.raw

可以上传任意格式的文本,可以上传text、json、xml、html

4.binary

相当于Content-Type:application/octet-stream,从字面意思得知,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。

multipart/form-data与x-www-form-urlencoded区别

multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息;

x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的。

Get方法和Post方法的区别

1. get是从服务器上获取数据,post是向服务器传送数据。

2.get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

3.POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面 GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的Security的含义,比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。

总结一下,Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!

Postman设置发送请求头

1、查看响应结果

Body 有三种视图:Prettry, Raw, 和 Preview。

Prettry 模式将 JSON 或 XML 响应格式化,使他们更容易被查看。Pretty 模式中的链接被高亮显示,点击他们可以在 Postman 中加载一个使用该 URL 的 GET 请求。

Raw 视图只是一个显示了响应的 body 的大文本区域, 它可以帮助你判断你的响应是不是被压缩的。

Preview 选项卡在内联沙箱框架中呈现响应。一些Web 框架默认返回 HTML 错误,这时, Preview 模式就非常有用了。由于内联沙箱框架的限制,JAVAScript 和图像在内联框架中是被禁用的。如果你的 API 端点返回一个图像, Postman 会自动检测并呈现它。对于二进制响应类型,你应该选择“Send and download”,这将让你保存响应到你的硬盘上,之后你就可以用适当的查看器来查看它。这样你就可以灵活地测试音频、PDF、zip 文件或 API 给你的任何文件。

Headers:

在 Header 选项卡中,headers 显示为 key/value 对。光标悬停 header 名时则会显示根据 HTTP 规范对 header 的描述。如果你正在发送一个 HEAD 请求, Postman 会默认显示 Headers 选项卡。

Cookies

Postman v0.8.x以上版本 可以显示浏览器 cookies, 就像它与浏览器共享相同的环境一样。对于本地应用, 你需要启用Interceptor,然后你就可以在响应部分的 Cookies 选项卡中查看响应的 cookies。

Tests

Tests为执行断言后的测试结果

2、常规使用--断言Tests

测试返回的body包含的内容

tests["Body matches string"] =responseBody.has("百度搜索");

测试返回的状态码

tests["Status code is 200"] =responseCode.code === 200;

tests["1+1"] = 1+1 === 2;

测试返回的状态信息

tests["Status code name hasstring"] = responseCode.name.has("OK");

tests["hello is he"] ="hello".has("he");

测试响应时间是否低于200ms

tests["Response time is less than200ms"] = responseTime < 200;

检查响应body中等于指定string--Check if response body is equal to a string

tests["Body is correct"] =responseBody === "response_body_string";

检查Content-Type是否包含在header返回(大小写不敏感)

tests["Content-Type is present"]= postman.getResponseHeader("Content-Type");

检查Content-Type是否包含在header返回(大小写敏感)

tests["Content-Type is present"]= responseHeaders.hasOwnProperty("Content-Type");

检查成功post的请求

tests["Successful POST request"]= responseCode.code === 201 || responseCode.code === 202 || responseCode.code=== 200;

检查JSON某字段值

var jsonData = JSON.parse(responseBody);

tests["Your test name"] =jsonData.expires_in === 7200;

3、接口持久化

把单个接口保存到文件夹(接口项目)中,再接口项目文件夹下新建文件夹(模块)

4、环境变量:

环境变量:

postman可直接通过切换环境来实现多个环境中的参数切换。常用功能:环境地址切换、全局变量使用。

5、Postman导入导出功能

6、Postman持久化运行

postman安装与简要操作

 

7、postman提取接口返回值

1、变量赋值的方式

postman安装与简要操作

 

let jsondata = JSON.parse(responseBody) ;

let access_token = jsondata.access_token ;

let expires_in = jsondata.expires_in ;

tests["时效"] =expires_in === 7200 ;

2、保存到全局变量

var jsondata = JSON.parse(responseBody) ;

postman.setGlobalVariable("tokenid",jsondata.access_token);

3、接口串行传参

把上一个接口的返回值送给下一个接口作为输入参数

在postman中通过全局变量实现

postman安装与简要操作

 


postman安装与简要操作

 

4、Postman动态传参

在runner里循环发n次请求/做自动化测试时,有些接口不适合写死参数:

1.Postman有以下内建变量,适合一次性使用:

{{$guid}}//生成GUID

{{$timestamp}}//当前时间戳

{{$randomInt}}//0-1000的随机整数

2.参数依赖上一个请求的返回:

上个请求的Tests里提取参数存环境变量,这个请求里用{{变量名}}取值

3.参数每次都不同,但之后的断言或别的请求里可能还要用:

在Pre-requestScript里写代码处理,存为环境变量,参数里用{{变量名}}取值

5、Postman流程控制

流程控制只有在collection runner或Newman里才生效

设2个接口的顺序为:接口A-->接口B

如果希望执行顺序为:接口A -> 接口B -> 接口A,又不想复制一份接口A

A接口:

postman安装与简要操作

 

B接口:

postman安装与简要操作

 

失败的测试自动重新运行

6、Postman调试功能(日志)

1.使用 Ctrl+Alt+c 可以打开Postman的控制台,可以查看请求和响应(只适用于客户端,不适用于Chrome 插件)

postman安装与简要操作

 

2.用console.log()打印,到控制台看

console.log(jsondata.access_token);

3.tests['这里拼出你想看的字符串']= true在界面/报告看断言

tests[jsondata.access_token] = false;

7、定义公共函数

常用公共函数:

1).判断是否超时(assertNotTimeout):

varhasResponse=postman.getResponseHeader('Content-Type')?true:false;if(!hasResponse) tests['服务端在超时前没返回任何数据,请检查相关服务、网络或反向代理设置(以下跳过其他断言)']=false;

2).未超时,显示发出的请求参数(logParams):

if(hasResponse) tests[`[INFO] 请求参数(超时没返回时不解析):${JSON.stringify(request.data)}`]=true;

3).未超时,解析返回的JSON对象(getResponseJson):

try{if(hasResponse) var json=JSON.parse(responseBody);}catch(err){tests['服务端没返回合法的JSON格式,请检查相关服务、网络或反向代理设置(以下跳过其他断言)']=false; tests[`[INFO] 返回:${responseBody}`]=true;console.error(err);}

4).返回元素的类型(assertType):

var assertType=(name,value,type)=>{letisType=(type==='array')? Array.isArray(value):typeof value===type;tests[`${name}为${type}(实际值:${value})`]=isType;};

js的数据类型:

typeof 2 输出 number

typeof null 输出 object

typeof {} 输出 object

typeof [] 输出 object

typeof (function(){}) 输出 function

typeof undefined 输出 undefined

typeof '222' 输出 string

typeof true 输出 boolean

5).返回元素是否与预期值一致(assertEqual):

var assertEqual=(name,actual,expected)=>{tests[`${name}等于${expected}(实际值:${actual})`]=actual===expected;};

6).返回元素是否与预期值不一致(assertNotEqual):

varassertNotEqual=(name,actual,expected)=>{tests[`${name}不等于${expected}(实际值:${actual})`]=actual!==expected;};

————————————————

版权声明:本文为CSDN博主「快乐风男灬」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/q386815991/article/details/79569409



Tags:postman   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
在之前写的日志《https://mp.csdn.net/mp_blog/creation/editor/113105977》中写了RSA签名,忘记写了验签,现在补上该部分。结合上述文档,获取到服务端返回的数据后,需要使用自己...【详细内容】
2021-08-04  Tags: postman  点击:(79)  评论:(0)  加入收藏
要实现Postman的数据驱动,主要分为五个大步骤第一步:什么是数据驱动?第二步:设计测试用例第三步: 在Postman中编写测试用例脚本第四步:分析脚本,设计数据文件,并通过参数化关联...【详细内容】
2021-06-23  Tags: postman  点击:(99)  评论:(0)  加入收藏
需求背景工作中很多接口自测时,需要拿到登录后token放到请求头header中,才可以进行自测。有没有好方法搞一次,可以任意自测?实现目标接口自测时,支持多账号切换,同时也支持原来方...【详细内容】
2021-05-14  Tags: postman  点击:(223)  评论:(0)  加入收藏
前阶段做了一个小调查,发现软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中,有高手,自然也会有小白,但有一点我们无法否认,就是每一个高手都是从小白开始的,所以今...【详细内容】
2020-09-09  Tags: postman  点击:(132)  评论:(0)  加入收藏
作为一个程序猿,写网络接口是家常便饭了。正所谓:工欲善其事,必先利其器!如果你还在自己写代码做测试,那么你来对地方了,今天我就给大家介绍一款测试网络接口的“军刀”,Postman。...【详细内容】
2020-06-20  Tags: postman  点击:(100)  评论:(0)  加入收藏
一、Postman背景介绍用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调...【详细内容】
2019-09-27  Tags: postman  点击:(193)  评论:(0)  加入收藏
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。...【详细内容】
2019-09-27  Tags: postman  点击:(156)  评论:(0)  加入收藏
▌简易百科推荐
本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程。本文不过度关注细节,因此只是分别从arena层次、bin层次、chunk层次进行图解,而不涉及有关指针的具体操作。前...【详细内容】
2021-12-28  linux技术栈    Tags:glibc   点击:(3)  评论:(0)  加入收藏
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(2)  评论:(0)  加入收藏
程序是如何被执行的&emsp;&emsp;程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(10)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(20)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(25)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(25)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条