Postman中文网站 18221674630

postman测试工具

发布者:上海广宣 时间:2023-09-13

一、Postman简介  

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

postman.png 

二、为什么选择Postman?  

如今,Postman的开发者已超过千万,选择使用Postman的原因如下:  

简单易用-要使用Postman,我们只需登录自己的账户,在电脑上安装了Postman应用程序,就可以方便地随时随地访问文件。  

使用集合-Postman允许用户为他们的API调用创建集合。每个集合可以创建子文件夹和多个请求。这有助于组织测试结构。  

多人协作-可以导入或导出集合和环境,从而方便共享文件。直接使用链接还可以用于共享集合。  

创建环境-创建多个环境有助于减少测试重复(DEV/QA/STG/UAT/PROD),因为可以为不同的环境使用相同的集合。这是参数化发生的地方,将在后续介绍。  

创建测试-测试检查点(如验证HTTP响应状态是否成功)可以添加到每个API调用中,这有助于确保测试覆盖率。  

自动化测试-通过使用集合Runner或Newman,可以在多个迭代中运行测试,节省了重复测试的时间。  

调试-Postman控制台有助于检查已检索到的数据,从而易于调试测试。  

持续集成-通过其支持持续集成的能力,可以维护开发实践。  

三、下载Postman  

由于2018年初Chrome停止对Chrome应用程序的支持,Postman插件可能无法正常使用了。目前Chrome应用商店能使用的就是Chrome扩展程序和主题背景。  

官网下载请联系本站客服

下载.png  

四、Postman工作界面参数解读  

New-在这里创建新的请求、集合或环境;还可以创建更高级的文档、MockServer和Monitor以及API。  

Import-这用于导入集合或环境。有一些选项,例如从文件,文件夹导入,链接或粘贴原始文本。  

Runner-可以通过CollectionRunner执行自动化测试。后续介绍。  

OpenNew-打开一个新的标签,Postman窗口或Runner窗口。  

MyWorkspace-可以单独或以团队的形式创建新的工作区。  

Invite-通过邀请团队成员在工作空间上进行协同工作。  

History-所有秦秋的历史记录,这样可以很容易地跟踪你所做的操作。  

Collections-通过创建集合来组织你的测试套件。每个集合可能有子文件夹和多个请求。请求或文件夹也可以被复制。  

Requesttab-这将显示您正在处理的请求的标题。默认对于没有标题的请求会显示“UntitledRequest”。  

HTTPRequest-单击它将显示不同请求的下拉列表,例如GET,POST,COPY,DELETE等.在测试中,最常用的请求是GET和POST。  

RequestURL-也称为端点,显示API的URL。.  

Save-如果对请求进行了更改,必须单击save,这样新更改才不会丢失或覆盖。  

Params-在这里将编写请求所需的参数,比如Key-Value。  

Authorization-为了访问api,需要适当的授权。它可以是Username、Password、Token等形式。  

Headers-请求头信息  

Body-请求体信息,一般在POST中才会使用到  

Pre-requestScript-请求之前先执行脚本,使用设置环境的预请求脚本来确保在正确的环境中运行测试。  

Tests-这些脚本是在请求期间执行的。进行测试非常重要,因为它设置检查点来验证响应状态是否正常、检索的数据是否符合预期以及其他测试。  

Settings-最新版本的有设置,一般用不到。  

五、如何发起GET请求?  

Get请求用于从指定的URL获取信息,不会对端点进行任何更改。  

在这里我们使用如下的URL(我的微信小程序首页数据接口)作为演示:  

http://192.168.0.111:8082/wx/home/index  

选择HTTP请求方式为GET  

在URL区域输入链接  

点击“Send”按钮  

你将看到下方返回200状态码  

在响应内容里接收到错误码(errno)为0,即请求测试成功。  

  

六、如何发起POST请求?  

Post请求与Get请求不同,因为存在用户向端点添加数据的数据操作。  

在这里我们使用如下的URL(我的某程序账号登录数据接口)作为演示:  

{{kmsv}}api/index/login  

选择HTTP请求方式为POST  

在URL区域输入链接  

选中raw选项,选择请求体格式为JSON  

输入请求体参数  

点击Send  

你将看到下方返回200状态码  

在响应内容里接收到返回代号(code)为0,即请求测试成功。  


七、如何将请求参数化?  

数据参数化是Postman最有用的特征之一。我们可以将使用到的变量进行参数化,而不是使用不同的数据创建相同的请求,这样会事半功倍,简洁明了。  

这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,可用于自动化迭代测试。  

假如在我的小程序接口中,有首页数据接口、分类目录接口、微信登录接口、账号登录接口等等,它们请求的都是同一个域名路径,那么在请求地址中我们每次都得带上这个域名路径,又假设某一天我更换了域名,那么这几十个接口的地址都得重新修改,这势必会给我们测试带来巨大麻烦!  


在坊间,本着“能少写,绝不多写的原则”,Postman引入了参数化的概念。例如上边介绍的小程序请求域名路径重复的问题,我们可以将域名路径改为全局参数:  

点击右上角的“小眼睛“  

在Globals栏点击Edit  

 

在INITIALVALUE下输入域名路径  

在VARIABLE下输入该域名的全局变量名称  

点击Save保存  

  

在请求地址栏中将域名路径替换为{{WxApiRoot}}(注意:格式为双大括号包裹上全局变量名称)  

这样既解决了重复写入相同数据的问题,又给我们日后修改带来便利  

  

八、如何创建PostmanTests?  

PostmanTests在请求中添加JavaScript代码来协助验证结果,如:成功或失败状态、预期结果的比较等等。通常从pm.test开始。它可以验证其他工具中可用的命令。  

8.1Statuscode:Codeis200  

切换到Tests选项  

选择右侧的Statuscode:Codeis200  

点击Send  

在TestResults可以看到PASSStatuscodeis200  


8.2ResponseBody:Jsonvaluecheck  

断言-自动判断是否成功  

切换到Tests选项  

选择右侧的ResponseBody:Jsonvaluecheck  

点击Send  

在TestResults可以看到PASS请求成功  

 

8.3编写自定义脚本  

在实际开发中我们会遇到这样一个场景:用户发起登录请求成功后,后台会返回一个token作为该用户的唯一标识,接下来的所有操作将必须带上token作为参数请求其它接口(即其它接口必须携带token作为参数),但是假如token失效了,那么我们请求接口的时候又要修改成新的token,为了减少不必要的麻烦,我们可以在Postman中自定义一个脚本。  

实现功能:请求账号登录接口将接口返回的token保存在环境名称为kmsv的变量token中  

这回我们新建一个环境,点击New  


点击Environment  

 

输入环境名称:kmsv,变量名称:token,点击Save  

 

点击右上角选择环境为:kmsv  

 

点击“小眼睛”,我们可以看到此时在kmsv环境下变量token是没有值的  

 

在账号登录接口下,选择Tests选项,加入如下js代码,点击Send  


此时我们再次打开小眼睛,可以看到成功拿到返回的token值!这时倘若其他接口需要携带token,则在参数栏里使用双大括号变量名法即可!  

 

8.4简单的自动化测试  

前提:将每个接口设置断言  

选择Collections->选择接口集合kmsv->点击三个点->选择Runcollection  


选择接口,拖动可以调整顺序->点击Runkmsv  

测试结果.png 

我们可以看到测试的结果,由于只是简单演示步骤,代码未编写