Postman基本使用——get、post请求、断言、环境变量

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

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

Postman功能:

  主要用于模拟网络请求包

  快速创建请求

  回放、管理请求

  快速设置网络代理

目录

get请求

post请求

get和post的区别

header请求头

查看响应结果

断言Tests

管理请求

模块管理folder

环境变量

导入导出应用

get请求

页面访问请求(get方法),将接口地址填入地址框中,点击Params,设置参数值,点击send,如下图所示:

post请求

页面访问请求(post方法),将接口地址填入地址框中,点击Body后, 选择x-www-form-urlencoded,设置参数值,点击send,如下图所示:

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只是发送机制不同, 并不是一个取一个发!

header请求头

设置header, 一般指请求头,这是请求前需要设置的东西, 请求方式get、post、 delete

请求的地址httpURL,如果是get和delete请求需要在请求URL的后面拼接请求参数? key = value, 点击params的时候可以添加

Headers就是设置请求的头, 请求的方式之类的,但是如果是post请求, 需要在body体中设置请求的参数, 一般是以json的格式发送请求的参数体系, 设置好参数之后, 点击发送按钮send,会得到返回结果,body中的内容就是请求网络访问返回的结果, 根据此结果就可以因此作出判断

查看响应结果

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为执行断言后的测试结果

断言Tests

  postman断言是JavaScript语言编写的,在postman客户端的test区域编写即可,断言会在请求返回之后,运行,并根据断言的pass\fail情况体现在最终测试结果中。

具体断言如下所示:

1.设置环境变量--Setting an environment variable

  postman.setEnvironmentVariable("key", "value");

2.设置全局变量--Set a global variable

  postman.setGlobalVariable("key", "value");

3.检查响应中包含string--Check if response body contains a string

  tests["Body matches string"] = responseBody.has("string_you_want_to_search");

4.转化XML格式的响应成JSON对象---Convert XML body to a JSON object

  var jsonObject = xml2Json(responseBody);

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

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

6.检查JSON某字段值--Check for a JSON value

  var data = JSON.parse(responseBody);

  tests["Your test name"] = data.value === 100;

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

  present (Case-insensitive checking)

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

  //Note: the getResponseHeader() method returns the header value, if it exists.

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

  present (Case-sensitive)

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

9.检查请求耗时时间小于200ms--Response time is less than 200ms

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

10.检查Status code为200--Status code is 200

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

11.检查Code name包含指定string--Code name contains a string

  tests["Status code name has string"] = responseCode.name.has("Created");

12.检查成功post的请求status code--Succesful POST request status code

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

管理请求

①设置请求方式为Get, 地址为http://www.baidu.com/s?wd=nba点击右侧保存按钮;

②在弹出的保存请求中设置保存的内容。 Collections:百度, Request name:搜索nba。 点击“Add to Collections” 保存;

③此请求会被保存到Collections页卡内, 后期在使用时, 仅需要在此Collections中找到对应的请求名, 即可直接使用请求。

模块管理 folder

多请求维护-模块管理Folder:

  点击“百度” 后面的"...", 选择"Add Folder"在弹出框中, Folder name输入“搜索” , 保存。 拖动请求“搜索nba” 至“百度” 文件夹中Collections(系统:百度)-Folder(搜索)-Request(请求: 搜索nba),三级的关系已经建立。 可用此方法来做对应的扩展

环境变量

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

环境请求地址切换:

1、 在之前的“禅道”下新增“我的地盘”文件夹

2、 点击右上角设置图标, 选择“Manage Environments--Add” ,在页面中设置环境信息:Environment(开发)->key(url)->Value(http://127.0.0.1:81),选择Add

3、 再添加测试环境: Environment(测试)->key(url)->Value(http://127.0.0.1:81),选择Add

4、 在“我的地盘” 文件夹内, 添加请求:

http://127.0.0.1:81/zentao/user-login.html

把其中的“http://127.0.0.1:81”修改 为"{{url}}"

5、 执行不同的测试:

选择Environment中的“测试” , 点击“send” 发送请求。 即执行测试环境的请求

选择Environment中的“开发” , 点击“send” 发送请求。 即执行开发环境的请求

换一个环境就会操作不成功:

全局变量使用:

选择“Manage Environments--Globals”在页面中输入key(web):value(WeatherWebService), 点击Save修改请求地址内"WeatherWebService"为"{{web}}"

在测试“开发” 、 “测试” 环境时, 仅需要切换环境即可完成对此web的不同环境的测试。 web可随意替换成别的名字

导入导出应用

Collection

Share链接:点击Collection的‘...‘内的Share

Share文件:点击Collection的"Export", 会下载一个名为"*.json.postman_collection".(此文件可直接导入到Postman中)

导出数据包:

导入数据包:

导出、入工作环境:

本文仅代表作者观点,系作者@温一壶清酒发表。转载请注明出处:http://www.cnblogs.com/hong-fithing/
时间: 2024-08-29 01:51:07

Postman基本使用——get、post请求、断言、环境变量的相关文章

postman的断言/环境变量的处理

我们做接口测试都会有一个断言操作:也有一个变量被频繁使用,这时候可以用环境变量来处理 目录 1.postman之断言 2.postman之环境变量 1.postman之断言 同样以postman的登录接口为例,点击postman右侧的Response body: Contain string,查看上一次请求接口里面包含哪些字符串,可以作为断言,如下图: 如果想要以某一响应结果的字段作为准确断言,如响应结果为json串的,点击postman右侧的Response body: Json value

postman---Postman配置环境变量和全局变量

我们在测试的过程中,遇到最多的问题也可以是环境的问题了吧,今天开发用了这个测试环境,明天又换了另一个测试环境,这样对于我们测试非常的麻烦,特别最接口的时候需要来回的输入环境地址比较麻烦,今天我们看看强大的工具Postman有没有办法解决这个问题 环境变量 我们在做测试的过程中,可能遇到频繁更换测试地址的时间,我们看下如何通过Postman完成这个操作,前面写过一篇Postman参数化和参数关联的方法,其实方法都是一样的. 添加百度的地址(可以当作我们的第一套环境地址) 添加完成后,在右上角的地方

postman实现从response headers中获取cookie,并将其设置为环境变量

1.最近在学习postman的使用方法,为了保证后续模块操作,必须在登录时获取的session值,并将其设置为环境变量,session的位置处于response headers里面返回的set-cookie参数,并且将set-cookie中的session通过split方法截取出来. 写法: 1.先获取响应头中的set-cookie字段 2.用spilt方法将其分割成数组 3.然后将需要取的值设置到环境变量中 这样后面的就可以于前面的请求沿用同一个cookie 以上纯属个人实例,有描述的不到位的

Postman全局变量和环境变量设置

在Postman中有两种方法添加变量 1.在右上角齿轮处可以手动添加 点击"Manage Environments"可以进入管理环境变量界面 点击Add,可以设置环境的名字,然后设置变量键值对. 有两种设置方式,点击Bulk Edit可以进入另一个模式来批量编辑,随意选一样 效果如下: 该界面还有其他一些复制,删除什么的小功能 点击Globals按钮可以进入全局变量设置界面 操作和环境变量一样,点击旁边的对勾可以禁用. send前选择对应的环境变量(下图) 全局变量和环境变量的区别?

postman使用--环境变量

变量 postman提供了变量设置,有四种变量类型本地变量全局变量环境变量 数据变量 什么是环境变量 环境变量指在不同环境,同一个变量值随着环境不同而变化,比如在测试环境时,host为:dev.postman.com,当切换到生产环境时,host值为:postman-echo.com环境变量设置:在postman界面点击右上角眼睛图标,既可开始设置环境变量和全局变量,环境变量设置如下:我们可以设置两种环境,dev和release,dev是开发测试环境,release是正式的生产环境,host是环

Postman之设置环境变量

言归正传,简单的了解下我们的postman,对于一个测试人员来讲,测试接口是一个很重要的流程,而postman是测试接口的一个常用工具之一. 对于刚刚使用postman的新手来讲,有一些地方可能不是很懂,之前在帮同事使用postman中也遇见到过此类情况.现总结一部分,以供参考.  1.安装postman 如果本机没有安装.Net Framwork,请先安装再安装postman 下载安装完成后打开客户端 打开postman创建collection添加一个request (add request

postman 添加环境变量 并 读取变量 作为参数 传入,跑整个场景

上篇文章 写了 postman 基本使用 和 检查点. 这篇 记录一下 多个测试用例组成的一个场景下. 如何通过读取变量跑完整个场景. 因为有些场景 的用例是彼此关联的. 所以通过参数来实现. 如 我们测试的一个东西,用户登录的时候,有一个临时的token, 正式登录 要依赖整个临时的token 作为参数传入. 那么 我就 将 token 写成一个参数,就像一个公共变量,需要的时候 直接 拿来 就好了. 使用过程:  在 manange environments 里 添加环境变量. 如 2.在接

postman 发送MD5加密签名请求

1.设置环境变量 2.请求接口实例 3.  询价签名 :sign =slon + slat+ timestamp +token  对字符串sign做md5,得到32位小写的sign import hashlib getprice_sign =slon + slat+ timestamp +token getprice_sign=hashlib.md5(getprice_sign.encode('utf-8')).hexdigest() print("询价签名是:",getprice_s

Postman小技巧之定义环境变量(Environment)

今天就简单的来讲讲postman的小技巧--定义环境变量(Environment),最常见的是将测试 URL 进行定义成变量的形式,这样随着你的域名怎么变,URL 就不用变更,非常方便.除此之外,也可以将一些敏感的测试值定义为环境变量,比如密码.接下来,来看下怎么新建一组环境变量,如下操作打开环境变量的管理入口: 点击Add添加一个环境集合: 键值对的形式添加环境变量: 以{{key}}的形式引用环境变量: 原文地址:https://www.cnblogs.com/zdd-803/p/11369