postman使用笔记,软件常用设置与使用方法

前言:

postman算是接口测试中常用的软件之一了,也有不少文章有写postman的基础用法,抽空我会单独整理一篇接口测试的思考以及我在工作中是怎么做接口测试的,这里就不再赘述;这篇文章仅做postman的官方文档的释义解释笔记;

正文:

一、postman常用设置

General

  • Trim keys and values in request body

如果你使用表单数据或者URL编码模式来发送数据到服务器,这项设为true后就引起所有参数修整。

  • Send no-cache header

你可能想要这项设置为true,这会确保你收到及时刷新的response。

  • Send postman-token header

这主要是用来绕过Chrome的一个bug。如果一个XMLHttpRequest 处于等待状态,另一个request 发送了同样的参数,Chrome将会为两个request返回同样的response。发送一个随机的token将会避免这个问题。这同样也会帮助你区分服务器端的request。

  • XHR Timeout(ms)

设置app等待响应的时间,如果服务器没有响应的话。

  • Automatically follow redirects

防止我们的request返回一个300系列的response被自动重定向。你需要安装拦截器来防止重定向。

  • Open history/collection requests in a new tab

设置为 true,当你点击左侧边栏历史或者收藏里面的request时,会在一个新的tab中打开。

设置为false,则会在当前tab中打开。

  • Response Font Size

设置response视图中的字体大小

  • UI Size

设置UI的大小

  • Retain headers on clicking on links

如果你在response中你点击了一个连接,Postman会为这个URL创建一个新的GET request。如果你想要保留headers 在request之前设置他,就设置为true。当你主要方为一些受保护的资源的时候这个功能将会非常有用。

  • Language detection

如果你测试的API没有在header中返 回 Content-Type ,则response不会数据转换成合适的格式。你可以强制指定body的数据类型为JSON等格式。

  • Variable delimiter

变量是保存在双花括号中的,但是你可以改变成其他的字符,这项并不推荐设置除非你出现了问题需要更改这里。

  • Force windows line endings

Refer to this Github issue to know more

  • Instant dialog boxes

禁用 eye-candy 并立即显示所有的对框框模式

  • Send anonymous usage data to Postman

来禁止匿名用户使用数据的选项,这是的Postman的保护性更好。

Theme

选择你喜欢的两种主题风格

Shortcuts

设置常用的快捷键

TABS

  • Open New Tab Ctrl + T 打开一个新的标签页
  • Close Tab Ctrl + W 关闭当前标签页
  • Switch To Last Tab Ctrl + 9 切换到最后一个标签页
  • REQUEST
  • Save Request Ctrl + S 保存当前请求
  • Save Request As Ctrl + Shift + S 当前请求另存为
  • Send Request Ctrl + Enter 运行当前请求
  • Send And Download Request Ctrl + Alt + Enter 运行并下载当前请求
  • SIDEBAR
  • Toggle Sidebar Ctrl + \ 打开/关闭工具栏(左侧)
  • Next Item ↓ 工具栏向下选择
  • Previous Item ↑ 工具栏向上选择
  • Expand Item → 打开当前文件夹
  • Collapse Item ← 关闭当前文件夹
  • Select Item Enter 选中当前请求进入请求编辑页面
  • Open Request In A New Tab Ctrl + Shift + click 在新标签页打开点击的请求
  • Rename Item Ctrl + E 重命名
  • Cut Item Ctrl + X 剪切
  • Copy Item Ctrl + C 拷贝
  • Paste Item Ctrl + V 粘贴
  • Duplicate Item Ctrl + D 拷贝并粘贴
  • INTERFACE
  • Zoom In Ctrl + + 界面放大
  • Zoom Out Ctrl + - 界面缩小
  • Reset Zoom Ctrl + 0 界面恢复到默认大小
  • Toggle Two-Pane View Ctrl + Alt + V 调整页面布局
  • WINDOWS AND MODALS
  • New Requester Window Ctrl + N 打开新的窗口
  • New Runner Window Ctrl + Shift + N 打开运行窗口
  • New Console Window Ctrl + Alt + C 打开控制台
  • Import Ctrl + O 打开导入界面
  • Settings Ctrl + ? 打开设置页面

Data

导入导出我们设置的环境和数据,这回覆盖你现在的收藏和环境,所以小心使用。当然你可以把你现在的环境先导出作为备份。

Add-ons

Interceptor

Postman proxy

Sync

如果你登录了Postman,你的数据就会被同步更新到Postman的服务器上,者可以确保你再次使用Postman的时候可以同步自己的数据。

你可以强制同步或者禁用他。

二、postman常用测试脚本

测试代码会在发送request并且接收到responses后执行。

1.设置环境变量 postman.setEnvironmentVariable("key", "value");

2.设置全局变量 postman.setGlobalVariable("key", "value");

3.检查response body中是否包含某个string tests["Body matches string"] = responseBody.has("string_you_want_to_search");

4.检测JSON中的某个值是否等于预期的值

var data = JSON.parse(responseBody); tests["Your test name"] = data.value === 100;

JSON.parse()方法,把json字符串转化为对象。parse()会进行json格式的检查是一个安全的函数。 如:检查json中某个数组元素的个数(这里检测programs的长度)

var data = JSON.parse(responseBody); tests["program's lenght"] = data.programs.length === 5;

5.转换XML body为JSON对象 var jsonObject = xml2Json(responseBody);

6.检查response body是否与某个string相等 tests["Body is correct"] = responseBody === "response_body_string";

7.测试response Headers中的某个元素是否存在(如:Content-Type)

tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); //getResponseHeader()方法会返回header的值,如果该值存在

或者:

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

 

【上面的方法不区分大小写,下面的方法区分大小写】

 

8.验证Status code的值 tests["Status code is 200"] = responseCode.code === 200;

9.验证Response time是否小于某个值 tests["Response time is less than 200ms"] = responseTime < 200;

10.name是否包含某个值 tests["Status code name has string"] = responseCode.name.has("Created");

11.POST 请求的状态响应码是否是某个值 tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

12.很小的JSON数据验证器

var schema = { "items": { "type": "boolean" } }; var data1 = [true, false]; var data2 = [true, 123]; console.log(tv4.error); tests["Valid Data1"] = tv4.validate(data1, schema); tests["Valid Data2"] = tv4.validate(data2, schema);

三、常见的返回状态码

1、成功

【200】返回成功,请求成功发送响应

(下面两种响应状态码通常没有body模块)

【201】通过一个资源,若该资源被成功创建或更新后返回该状态码

【204】

2、重定向

【301】网页重定向,表示本网页永久性转移到另一个地址,也是请求成功的一种

3、客户端错误

【400】没有按照规格去提供相应的参数

【401】客户端没有被授权,例如没有登录

【403】

【404】没有找到该页面

4、服务器错误(若请求返回【500】等开头的,则为bug)

【500】

【501】

(若返回上面两种状态码,可以判定是接口错误)

四、 内置脚本说明

1. 清除一个全局变量

Clear a global variable

对应脚本: postman.clearGlobalVariable("variable_key");

参数:需要清除的变量的key

2.清除一个环境变量

Clear an environment variable

对应脚本: postman.clearEnvironmentVariable("variable_key");

参数:需要清除的环境变量的key

3.response包含内容

Response body:Contains string

对应脚本: tests["Body matches string"] =responseBody.has("string_you_want_to_search");

参数:预期内容

4.将xml格式的response转换成son格式

Response body:Convert XML body to a JSON Object

对应脚本: var jsonObject = xml2Json(responseBody);

参数:(默认不需要设置参数,为接口的response)需要转换的xml

5.response等于预期内容

Response body:Is equal to a string

对应脚本: tests["Body is correct"] = responseBody === "response_body_string";

参数:预期response

6.json解析key的值进行校验

Response body:JSON value check

对应脚本: tests["Args key contains argument passed as url parameter"] = 'test' in responseJSON.args

参数:test替换被测的值,args替换被测的key

7.检查response的header信息是否有被测字段

Response headers:Content-Type header check

对应脚本: tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");

参数:预期header

8.响应时间判断

Response time is less than 200ms

对应脚本: tests["Response time is less than 200ms"] = responseTime < 200;

参数:响应时间

9.设置全局变量

Set an global variable

对应脚本: postman.setGlobalVariable("variable_key", "variable_value");

参数:全局变量的键值

10.设置环境变量

Set an environment variable

对应脚本: postman.setEnvironmentVariable("variable_key", "variable_value");

参数:环境变量的键值

11.判断状态码

Status code:Code is 200

对应脚本: tests["Status code is 200"] = responseCode.code != 400;

参数:状态码

12.检查code name 是否包含内容

Status code:Code name has string

对应脚本: tests["Status code name has string"] = responseCode.name.has("Created");

参数:预期code name包含字符串

13.成功的post请求

Status code:Successful POST request

对应脚本: tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值