Postman接口测试工具

Posted hyhrosewind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postman接口测试工具相关的知识,希望对你有一定的参考价值。

持续更新…
标记


1. Postman的开始

1.1 开始

Postman 是一种常用的接口测试工具,可以发送几乎所有类型的HTTP请求。Postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。


打开Postman

1.2 创建集合

创建一个集合,组织我们以后创建的请求

重命名集合fcds

1.3 创建请求

这里以我的项目-<新生寝室自选系统-管理员端>为例

添加一个请求,获取fcds项目首页的实体


再或者我们创建baidu集合,创建百度首页的请求,获取网页实体

1.4 在百度翻译API注册成为开发者并开通通用翻译服务


百度翻译开发平台

2. Postman的应用

80-20原则:
1)软件中80%的缺陷发现在需求设计阶段;
2)软件中80%的代码是没有问题的,出问题的代码占20%;
3)软件的80%的功能,平时很少使用;
4)人们在使用一个软件的时候,80%的时间使用20%的核心功能。

2.1 Postman简介

Postman是一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的Web API测试工具;能够模拟各种HTTP Request:从常用的GET、POST到Restful的PUT、DELETE…等;甚至还可以发送文件、额外的header。

Postman的版本
1)Chrome插件版本
2)独立App版本

2.2 使用Postman发送请求

2.2.1 不带参数的GET请求

比如以fcds项目为例,由于我的服务器到期了,所以url的47.97.37.165都以localhost代替
1)在集合中创建一个请求<得到所有的问卷信息>
2)输入url地址和请求方式GET
3)发送请求(SEND)得到响应结果


Body区域:

Cookie区域:

Headers区域:服务器返回的响应头部信息

Test Results区域(断言):判断服务器返回的响应信息是否正确

响应的其他信息:Status(状态码)、Time(响应时间)、Size(响应信息的大小)

2.2.2 带参数的GET请求

eg:

在fcds项目中,查找指定(id)问卷的问题集合
1)在集合中创建一个请求<得到所有的问卷信息>
2)输入url地址和请求方式GET
3)填写参数
4)发送请求(SEND)得到响应结果


在Params中添加参数的键值

eg2:

再比如我们使用百度翻译API

通用翻译API HTTPS 地址

https://fanyi-api.baidu.com/api/trans/vip/translate



准备参数:
1)q:constraint
2)from:en
3)to:zh
4)appid:你的appid
5)salt:随机数(可自己随便写)
6)sign:appid+q+salt+密钥的MD5(MD5加密的字符串)
这里我们使用工具生成sign
MD5在线加密

send

2.2.3 带参数的POST请求

eg:
使用fcds项目,管理员登陆




有些注册页面会使用下面这种表单数据的方式

2.3 参数化运行原理

自动化测试的两大技术点:
1)参数化运行
参数化:在程序中使用变量代替常量的过程。
循环实现脚本的自动运行,循环遍历数据,数据可能来自:程序本身的数据字典、集合、列表;外部的数据文件,比如csv、txt文件。
2)断言
脚本中添加相应的判断,实现脚本自动的比较(判断)程序的实际结果和预期结果。

2.3.1 设置参数和集合运行

什么是参数化?

  • 使用变量代替常量的方式
  • 设计参数文件(postman中支持csv文件和txt文件)

集合中运行
1)添加runner,设置测试集
2)配置运行次数和文件读取

eg
使用fcds项目
查询指定id集合的床位信息


1)准备参数化文件,csv文件,外部数据文件


2)在postman中创建接口请求
postman中关于参数化运行的方案和机制:以整个请求的集合为一个主体,参数化运行的作用对象是一个集合中的所有请求,需要将特定的请求单独放在一个集合中。

3)使用设置好的变量名代替相应位置的常量,postman中变量名用{{变量名}}引起来

4)在postman中,启动runner,运行整个集合

5)选择要进行参数化运行的集合

6)设置运行效果(设置运行次数(iterations)、延时(delay)、选择文件(Data),选择文件类型(Text/csv,可以进行预览),保存响应,将值保存到会话中,运行集合不实用保存的cookie,在运行之后保存cookie)

7)开始运行


2.4 JSON

JSON的定义

  • JSON指的是javascript对象表示法(JavaScript Object Notation)
  • JSON是轻量级文本数据交换格式
  • JSON独立于语言
  • JSON具有自我描述性、更易理解
  • JSON使用JavaScript语法描述对象,但是JSON依然独立于语言和平台,JSON解析器和JSON库支持不同的编码语言。

JSON的特点

  • 纯文本
  • 具有自我描述性(人类可读)
  • 具有层级结构
  • 可通过JavaScript进行解析
  • 可使用AJAX进行传输

JSON的语法规则
JSON语法是JavaScript对象表示法语法的子集

  • 键值对
  • 数据由逗号分割
  • 花括号{}保存对象
  • 方括号[]保存数组

eg:

2.5 Postman中的断言

在Postman中,tests模块就是对HTTP的响应结果进行判断的

Postman中脚本支持的语言:JavaScript(包含了一个非常强大的Node.js)
Postman中脚本应用的场合:
1)断言(tests模块):在接收到HTTP的响应后进行处理和运行。

2)预处理信息(Pre-request script):在HTTP请求发送之前进行数据的处理和运行,可以配合参数化进行,通过指定的脚本运行或读取参数文件。

3)控制请求的运行,比如跳转某一个脚本,或者循环执行某一个请求。

脚本运行顺序
1)预处理信息
2)控制请求的运行(比如控制、分支、循环)
3)断言

Postman中有内置的不同类型的断言,有些可以不用自己编写脚本

eg:
为<查询指定id集合的床位>请求添加断言
添加响应状态码200

添加响应时间(即响应时间必须小于你规定的时间,断言才能通过)

添加响应文本(即响应体中必须包含你规定的文本,断言才能通过)

运行

2.6 Postman中的断言深入应用

eg:
接着上面的例子,将第三个断言换成<对JSON数据进行检查>



运行

以上是关于Postman接口测试工具的主要内容,如果未能解决你的问题,请参考以下文章

Python 向 Postman 请求代码片段

postman 自动生成 curl 代码片段

postman 自动生成 curl 代码片段

轻松上手postman入门篇:如果根据接口文档写postman接口用例

接口测试之-postman

Postman中get