当前位置:   article > 正文

接口测试工具——Postman使用详解

postman

目录

Postman简介

Postman主界面

菜单栏

工具栏

请求管理区

环境管理区

请求设计区

发送请求

发送GET请求

Postman发送GET请求

发送表单格式POST请求

发送JSON格式POST请求

发送XML格式POST请求

发送文件上传类型的请求

响应

环境和变量

环境变量设置

环境变量使用

全局变量

测试脚本及断言

状态码断言

包含文本

JSON数据断言

运行测试

请求集

批量运行Collection Runner

总结:


Postman简介

Postman是一款简单方便的接口调试工具,便于分享和协作。具有接口调试、请求集管理、环境配置、参数化、断言、批量执行、请求录制、Mock Server,、接口文档、接口监控等功能。

Postman主界面

Postman主界面分为菜单栏、工具栏、请求管理区、环境管理区、请求设计区及状态栏等主要部分组成,如图2.13所示。

 

菜单栏

Postman菜单栏由File(文件)、Edit(编辑)、View(显示)和Help(帮助)4个主菜单组成。

工具栏

Postman的工具栏中是一些常用的工具按钮如新疆、导入、运行器等等。详细按钮及解释参考表2.4。

请求管理区

请求管理区位于Postman主体的左侧,用于查看保存的请求列表或请求历史。主要分为Collections接口集和History请求历史两种视图。
接口集,相当于一个接口项目或测试计划,接口集中可以建立无限极子文件夹,用于对接口进行分组管理。请求历史记录视图中可以查询到之前的请求记录。

环境管理区

环境管理区分位于Postman主体右侧请求设计区右上角。由一个环境选择下拉框,一个眼睛(预览)图标和一个环境设置图标组成。环境选择下拉框中可以切换不同的环境。环境预览按钮可以快速雨来环境中的所有变量设置。环境设置中可以添加修改环境变量以及全局变量。

注:什么是环境?

环境是一套配置,包含许多环境变量。在接口测试中,根据部署在不同的服务器上,服务器地址有可能不同,而同一个接口,接口地址是不变的。为了测试部署在不同服务器上的同一套接口,我们可以建立不同的环境,不同环境中host变量使用不同的地址。

请求设计区

请求设计区位于Postman右侧,是Postman的核心功能区。请求设计区上半部分为请求区,下半部分为响应区。可以通过上方的Tab选项卡边上的+好,新建多个请求面板,如图2.14所示。

请求区主要由请求地址行和请求数据区组成。
请求地址行中可以选择请求方法(GET/POST/...),填写请求地址,发送请求和保存请求到测试集。
请求数据区:分为授权,请求头,请求数据,请求发送前执行的脚本(用于准备数据),请求结束后执行的脚本(用于断言)。

请求设计区分为以下5个面板。

  • Params:URL参数。
  • Authorization:如果接口需要授权,可以在该页面设置授权方式(type)和授权信息。
  • Header:请求头,可以设置请求类型(Content-Type)和Cookie。
  • Body:请求数据。
  • Pre-request Script:请求前脚本,JavaScript语法,用于在发送请求前生成一些动态数据或做一些处理
  • Tests:请求后脚本,JavaScript语法,用于请求返回后做一些处理或断言结果

其中Body下主要包含以下4中格式。

  • form-data:混合表单,支持上传文件
  • x-www-form-urlencoded:文本表单
  • raw:原始格式,支持JSON/XML格式(后面可选择)
  • binary:二进制格式,用于发送二进制数据流

选择不同的格式,可以发送不同类型的请求数据。
响应区用于展示发送完请求,服务端的响应数据及状态,由Body响应体、Headers响应头、Cookie响应Cookies、Test Results测试结果4部分组成。
响应内容中可以以Pretty(美化格式)、Raw(原始格式)、Preview(HTML预览格式)等方式查看响应数据。测试结果用于显示请求中Tests中设置的断言的测试结果。

发送请求

发送GET请求

发送GET请求非常简单,请求方法使用默认GET,在地址栏中填入接口地址,点击发送即可,如图2.15所示。

Postman发送GET请求

请求URL参数可以直接写在URL中,也可以通过Params选项卡中的表格填写,参数会自动同步到URL中。

注:如果请求需要登录,可以先在Postman其他Tab页的请求中发送登录接口进行登录(Postman会保存登录的Cookies),然后再发送该GET请求。或者抓取登录后的Cookies,填写到该GET请求的Header中。

发送表单格式POST请求

表单格式的非常常见的一种网页表单提交的格式。对应的内容类型为application/x-www-form-urlencoded。参数数据经过URL编码后发送。
在Postman中发送表单格式的数据,首先要在地址行中选择POST方法,填写接口地址,选择下方的Body(请求体)子选项卡,选择x-www-form-urlencoded格式,在表格中填入参数数据,点击Send发送即可。如图2.17所示。

 

注:在选择x-www-form-urlencoded格式后,Postman会自动在请求头中添加对应的内容类型项,Content-Type: application/x-www-form-urlencoded。

发送JSON格式POST请求

JSON格式属于raw原始格式(即不经过编码原样发送)中的一种。发送JSON格式请求,首先选择POST请求方法,填写接口地址,选择Body请求体,选择raw,在右侧的下拉选项中选择JSON(application/json)。在下方输入JSON格式的请求数据,点击发送即可,如图2.18所示。

注:输入的JSON数据要符合JSON语法格式,只能用双引号,不能用单引号,不支持注释等。如果格式错误,对应行数字后会有相应的x号标记。
在选择完raw->JSON(application/json)后,Postman会自动在请求头中添加内容类型声明Content-Type: application/json。

发送XML格式POST请求

XML格式的请求同样属于raw原始格式的一种。选择POST请求方法,填写接口地址,选择Body请求体,选择raw,在右侧的下拉菜单中选择XML,application/xml或text/xml均可。如图2.19所示。


同样,在选择为XML格式后Postman会在请求头中添加对应的内容类型声明。

发送文件上传类型的请求

文件上传请求一般采用multipart/form-data混合表单格式。每个文件同样对应一个参数变量。在Postman里Body请求体重选择form-data格式,填写对应的参数变量,点击该参数单元格右侧的下拉小箭头中选择File(文件),在后面的单元格中点击选择文件即可。如果2.20所示。

如果需要上传多个文件,填写多个变量即可,也可以填写普通Text(文本)变量。

响应

在编辑完请求后点击发送即可收到响应。响应区分为Body响应体、Cookies响应Cookies、Headers响应头和Test Results测试结果。右侧还包含Status状态码、Time响应时间和Size数据大小三组数据。
响应数据可以使用Pretty美化格式(通常用于JSON或XML格式的响应数据)、Raw原始格式和Preview预览格式(一般用于预览HTML网页),后面还可以设定数据的格式来进行Pretty美化展示。
换行图标可以将单行的响应数据按树状格式多行显示。右侧为复制、字段搜索和Save Response保存响应3个按钮。如图2.20。

 

环境和变量

变量用于对请求数据进行参数化。环境则为一套变量配置。通过在请求中使用参数化变量,加上切换环境可以快速批量改变请求中的某些参数值,如base_url接口地址。

环境变量设置

点击环境管理区的环境设置图标,可以打开环境管理对话框,点击添加按钮或已存在的环境名可以新建或修改环境。如图2.21所示。

环境变量使用

在环境选择下拉框选择指定环境,在请求URL或者请求Body里使用{{变量名}}来使用指定的环境变量。如图2.22所示。

变量可以在请求Body的各种格式中使用,但不能直接在请求前脚本(Pre-request Script)和请求后脚本(Tests)中使用。

全局变量

环境管理中还可以点击“GLOBAL”按钮添加全局变量.环境变量只有当选择了该环境时生效,全局变量在任何环境中生效。如果全局变量和环境变量名有重复,环境变量的优先级大于全局变量。

注:测试集Collection中也有Variables集合变量,只对保存在当前Collection中的请求生效。三种变量的优先级关系为环境变量>全局变量>集合变量。

测试脚本及断言

断言是指预期结果与实际结果的对比。包含断言的请求才能称得上是完整的测试用例。
Postman每个请求中都包含一个Tests选项卡,称为测试脚本,在收到响应后执行。在Tests测试脚本中可以对响应数据进行提取并添加断言。
Tests脚本区右侧会提供很多常用的SNIPPETS代码段,只要点击对应的代码段即可快速实现指定的功能或断言。

状态码断言

状态码断言是最基本的断言之一,可以用于断言响应是否成功返回(状态码200)。
切换到请求的Tests测试脚本面板,在右侧SNIPPETS代码段中找到Status code: Code is 200并点击。Tests脚本中会出现以下代码。

  1. pm.test("Status code is 200", function () {
  2. pm.response.to.have.status(200);
  3. });

其中Status code is 200是该断言的标题,pm.response.to.have.status(200);是具体的断言语句,如果要断言其他状态码可以修改括号中的200为对应的状态码。

包含文本

Tests脚本中可以添加多条断言。要断言响应文本在代码段中点击Response body: Contains string,Tests脚本中会出现以下代码。

  1. pm.test("Body matches string", function () {
  2. pm.expect(pm.response.text()).to.include("string_you_want_to_search");
  3. });

修改include括号中为实际应包含的字符串即可。

JSON数据断言

JSON数据断言要先将文本格式的请求数据转换为JSON对象,然后根据JSON机构提取对应的字段进行对比。
在代码段中点击Response body: JSON value check。Tests脚本中会出现以下代码段。

  1. pm.test("Your test name", function () {
  2. var jsonData = pm.response.json();
  3. pm.expect(jsonData.value).to.eql(100);
  4. });

var jsonData = pm.response.json();是将请求体数据转换为JSON对象赋给jsonData变量。pm.expect(jsonData.value).to.eql(100);为从JSON数据中提取第一级的value值请判断是否等于100。这里要修改value为对应要提取的字段,100改为对应的值。多个字段的断言可以写多个相同结构的断言,也可以写到同一个断言中使用多条pm.expect(jsonData.字段名).to.eql(期望值);语句。多层字段使用点来逐级提取。

运行测试

在请求Tests添加完断言后,点击发送,在响应的Test Results处就可以看到各条断言的结果。

请求集

对应常用的请求我们可以保存到Collection请求集中。点击请求右侧的Save按钮或按Ctrl+S即可弹出保存请求的对话框,输入请求名称,选择Collection集合点击保存即可。
Collection请求集用于组织和管理请求,Collection可以视为一个顶级的测试套件或测试计划。Collection中可以建立多层Folder子文件夹,来对请求进行分组管理。
Collection是Postman中接口管理的一个“整体”单位,运行、导出、分享等都是基于测试集的。
点击工具栏New按钮,选择Collection或者直接点击测试集列表上方的New Collection按钮即可弹出新建Collection界面。如图2.23所示。

Collection请求集包含名称、Description描述、Authorization授权、Pre-request Scripts请求前脚本、Tests测试脚本和Variables集合变量几部分组成。
在已存在的请求集上点击右侧的...按钮还可以对该请求集进行编辑、Add Folder建立子文件夹或进导出等其他操作。

批量运行Collection Runner

点击工具栏的Runner按钮或Collection右侧的三角按钮可以打开Collection Runner集合运行器窗口。集合运行器可以批量运行一个Collection或Folder中的所有请求。并根据请求中的断言信息判断请求通过与否。同时Collection Runner还支持设置迭代次数以及使用CSV或JSON文件进行数据驱动。
以下为使用Collection Runner及CSV文件进行数据驱动的一个完整示例。

  • (1) 新建一个Collection,比如名称Demo2
  • (2) 新建请求,填入URL:

Body请求数据格式选x-www-form-urlencoded,请求数据填写username {{username}} password {{password}},这里使用了两个变量来做参数化,然后在请求Tests中添加状态码断言。然后保存请求到Demo2中。如图2.24所示。

 

 

  • (3) 使用数据文件。在电脑上新建一个data.csv文件,第一行为变量名,下面是数据,如图2.25所示。

其中标题行变量名要与请求中参数化的变量名一致。

  • (4) 打开Collection Runner,选择请求集Demo2,点击Select File选择data.csv数据文件,点Run Demo2运行请求集。如图2.26所示

-(5)运行完成后即可查看报告,如图2.27所示。

在测试报告页可以对报告进行Export Results导出、Retry重跑或New运行新的Collection。

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

                                                      

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/488083
推荐阅读
相关标签
  

闽ICP备14008679号