参考引用:https://www.cnblogs.com/imyalost/p/8480288.html
https://learning.getpostman.com/docs/postman/launching_postman/installation_and_updates
一、请求创建界面
Herder Bar:头部工具栏,主要是创建、导入、执行、新窗口、工作域、拦截器\代理、设置、消息等。
Sidebar:有两个主要的tab, History(历史请求记录) and Collections(收藏夹)。
Builder:请求创建区
二、创建GET请求
选择“GET”请求类型,填入URL,GET请求有参数时URL连接?号后为参数值。Params tab 会自动根据URL解析参数。
以下为点击“Send”后的响应信息。
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 给你的任何文件。
三、创建POST请求
选择“POST”请求类型,填入URL,选择body tab,选择数据传至服务器时的内容编码类型:form-data,x-www-form-urlencoded,raw,binary。
form-data:对应信息头-multipart/form-data,它将表单数据处理为一条消息,以标签为单元用分隔符分开。既可以上传键值对,也可以上传文件(当上传字段是文件时,会有Content-Type来说明文件类型);
x-www-form-urlencoded:对应信息头-application/x-www-from-urlencoded,会将表单内的数据转换为键值对,比如name=zhangsan;
raw:可以上传任意类型的文本,比如text、json、xml等;
binary:对应信息头-Content-Type:application/octet-stream,只能上传二进制文件,且没有键值对,一次只能上传一个文件;
以下为点击“Send”后的响应信息。
四、环境配置
通过切换环境来实现多个环境中的参数切换。 常用功能: 环境地址切换、 全局变量使用。
以下配置环境变量:
以下使用环境变量:
五、断言Tests
是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;
增加断言Test后