postman学习

发布时间:2026/5/23 16:46:16

postman学习 一、为什么要做接口测试接口的由来连接前后端、客户端与服务端之间数据交互的桥梁用来传递请求和返回数据实现各端业务联通为什么做接口测试尽早发现bug接口时业务核心提前测接口能在前端页面没写完时就查出逻辑错误、参数错误、数据异常、修复成本低不受页面进度限制前端、后端、移动端开发进度不一致后端接口先开发完成不用等页面写完就能直接测试保障底层业务稳定页面只是展示核心业务逻辑、数据计算、权限校验都在接口接口稳定整体系统才稳定覆盖更广的场景可轻松测异常参数、边界值、高并发、超时、权限拦截、手工页面测试很难全覆盖方便自动化和回归接口脚本稳定后续迭代直接跑自动化回归大幅节省测试时间定位问题更快出现报错直接判断时后端逻辑问题还是前端传参问题二、postman简介Postman是一个可扩展的API开发和测试协同平台工具可以快速集成到CI/CD管道中。旨在简化测试开发中的API工作流Postman工具由Chrome扩展和独立客户端推荐安装独立客户端Postman有个workspace的概念workspace分为personal和team类型。Personal workspace只能自己查看的APITeam workspace可以添加成员和设置成员权限成员之间可以共同管理API因为API里很多数据是敏感的含Token或者一些私密信息虽然Postman由强调这样安全不会窥探用户信息但还是要有效防范敏感数据不要上传网络没有绝对的安全每次测试后将数据case保存在本地下次使用或者更换设备再把数据拷过去可以继续使用三、为什么选择Postman如今Postman的开发者已经超过1000万选择使用Postman原因如下简单易用使用Postman只需要登录自己的账户只要在电脑上安装了Postman程序就可以方便地随时随地访问文件使用集合Postman允许用户为他们地API调用创建集合。每个集合可以创建子文件夹和多个请求这有助于组织测试结构多人协作可以导入或者导出集合和环境从而方便共享文件直接使用链接还可以用于共享集合。创建环境创建多个环境有助于减少测试重复DEV/QA/STG/UAT/PROD,因为可以为不同地测试环境使用相同地集合。这是参数化发生的地方后续将会介绍创建测试测试检查点如验证HTTP响应状态是否成功可以添加到每个API调用中这有助于确保测试覆盖率自动化测试通过使用集合Runner或Newman,可以在多个迭代中运行测试节省了重复测试时间调试PostMan控制台有助于检查已经检索到的数据从而易于调试测试持续集成通过其持续集成的能力可以维护开发实践四、下载安装PostmanStep 1 官网主页https://www.postman.com/downloads/ 下载所需版本进行安装即可。Step2安装完成之后会要求你必须登录才能使用没有账号可以进行注册注册是免费的。(也可使用Google账号不过基本不能登录你懂的)Step3你将看到启动后的页面如下这是不登录的状态下为轻量级API客户端–Lightweight API ClientStep4如果你有账号或者现注册一个账号登录或创建帐户以使用集合、环境和解锁Postman中的所有免费功能如下图五、使用Postman下面是Postman的工作区间各个模块功能的介绍如下New:在这里创建新的请求、集合或环境还可以创建更高级的文档、Mock Server 和Monitor以及API.import:这里用于导入集合或者环境有一些选项例如从文件文件夹导入链接或粘贴原始文本Runner:可以通过Collection Runner执行自动化测试后续介绍Open New:代开一个新的标签Postman窗口或Runner窗口My Workspace:可以单独或以怨怼的形式创建新的工作区Invite:通过邀请团队成员在工作空间上进行协同工作History:所有请求的历史记录这样很容易的跟踪你所做的操作Collections:通过创建集合来组织你的测试套件。每个集合下可能有多个子文件夹和多个请求。请求或文件夹也可以被复制Request tab:这将显示您正在处理的请求标题。默认对于没有标题的请求会显示“Untitled Request”HTTP Request:单机它将显示不同请求的下拉列表例如GETPOST,COPY,DELETE等等在测试中最常用的请求是GET和POST.Request URL:也称为端点显示API的URLSave:如果对请求进行了修改必须单机save,这样新的更改才不会丢失或覆盖Params:这里将编写请求所需的参数比如key-valueAuthorization:为了访问api,需要适当的授权。它可以是Username、Password、Token等形式Headers:请求头信息Body:请求体信息一般在POST中才会使用到Pre-request Scipt:请求之前先执行脚本使用设置环境的预请求脚本来确保在正确的环境中运行测试Tests:这些脚本实在请求期间执行的。进行测试非常重要因为它设置检查点来响应状态是否正常、检索的数据是否符合预期以及其他测试Settings:最新版本有的设置一般用不到界面介绍六、处理GET请求get请求用于从指定的URL获取信息不会对端点进行任何更改使用如下URL作为演示https://jsonplaceholder.typicode.com/users在Postman的工作区中1、选择HTTP请求方式为GET2、在URL区域输入链接3、点击“send”按钮4、你将看到下方返回200状态码5、在正文中有10个用户的结果代表测试成功运行注意在某些情况下GET请求失败可能由于URL无效或需要身份验证。七、处理POST请求Post请求和Get请求不同因为存在用户向端点添加数据的数据操作。使用之前Get请求中相同的数据现在添加我们自己的用户7.1、正常get请求step 1)创建一个新的请求step 2)在新请求中1、选择HTT请求方式为POST2、在URL区域输入链接https://jsonplaceholder.typicode.com/users3、切换到Body选项step 3)Body选项1、选中raw选项2、选择JSONstep 4) 复制前面Get请求返回的json内容的第一节更改id为11更改name、username、email[ { id: 11, name: wjww, username: qqq, email: wwwapril.biz, address: { street: Kulas Light, suite: Apt. 556, city: Gwenborough, zipcode: 92998-3874, geo: { lat: -37.3159, lng: 81.1496 } }, phone: 1-770-736-8031 x56442, website: hildegard.org, company: { name: Romaguera-Crona, catchPhrase: Multi-layered client-server neural-net, bs: harness real-time e-markets } } ]注意检查Body里用到的JSON格式很重要以确保数据正确。检测的工具比如https://jsonformatter.curiousconcept.com/step 5)发送请求1、完成上述的信息输入点击Send按钮2、Staus:显示201为创建成功3、并在Body里返回数据7.2、参数化get请求Step 1) 创建一个参数化get请求1、将HTTP请求设置为get2、输入URL: https://jsonplaceholder.typicode.com/users这里将链接的域名部分替换为参数例如{{url}},请求的url现在应该是{{url}}/users3、点击send按钮结果会报错因为我们没有设置参数的源如下图Step 2)使用环境设置所需的参数1、点击Globals的add按钮Step 3)变量-variable1、将名称设置为url,该url为https://jsonplaceholder.typicode.com2、ctrls保存Step 4)回到get请求页面然后点击发送Send按钮get请求会返回结果如下图八、创建Postman Testspostman tests在请求中添加JS代码来协助验证结果如成功或失败状态、预期结果的比较等等。通常从pm.test开始他可能与断言相比较验证其他工具中的可用的命令借来下创建一个包含Test的请求Step 1) 创建一个get请求1、选择上方的Scripts标签2、选择左侧的Post-response3、从下面Snippets中选择“Status code:code is 200”,JS代码就会自动出现在窗口Step 2)点击发送请求按钮测试结果就显示出来了如下图Step 3)再添加另一个测试这次将比较预期结果和实际结果1、在Snippets中选择“Response body:JSON value check”选项会出现一段代码这个是用来检查值是否存在Step 4)1、代码中“Your Test Name”指的是这个测试的名字描述测试的目的和内容2、jsonData.value替换为jsonData[0].name第一条测试数据的name值第二条数据的全部值是jsonData[1]3、在eql后面的括号里输入Leanne Graham这个测试的目的是判断第一条数据的name值是不是Leanne Grahampm.test(检查第一条用例数据的name是Leanne Graham, function () { var jsonData pm.response.json(); pm.expect(jsonData[0].name).to.eql(Leanne Graham); });Step 5)点击send发送请求,可以看到在Test Results里有两项显示测试通过注意在这里可以创建不同种类的测试可以多探索下九、创建测试集合集合在组织测试套件中扮演重要角色可以被导入或者带出使得在团队之间共享集合和容易本节学习如何创建和执行集合1、点击左上角选择collection(集合)2、创建collection窗口会出现在左侧修改名称和对集合的描述3、可以在左侧栏里观察到collection已经被创建好了4、这就相当于文件夹可以在里面创建各式各样的文件请求十、运行集合Step1)点击要运行集合的左边的省略号选择Runstep 2)可以在左侧框选择要运行的Sequence在左侧选择设置的内容不懂的时候翻译下意思step 3)点击start run按钮,运行完就可以看到一些结果十一、使用Newman运行集合运行集合还可以通过newman,newman和collection runner之间的主要区别如下Newman是postman的替代品所以需要单独安装newmanNewman使用命令行而collection runner使用UI界面Newman可以持续集成安装Newman并运行collection步骤如下Step 1)下载并安装nodejs:http://nodejs.org/download/Step 2)打开cmd命令行窗口输入下列命令npm install -g newmanStep 3) newman安装好后回到postman点击需要运行collection右侧的省略号点击export collectionStep 4)点击export JSON导出collection集合Step 5) 另外还需要导出我们的环境比如global和environment例如点击Global在右上角的省略号里勾选shared value,然后设置内容和Shared相同。Step 6) 点击右上角export将JSON文件保存在和collection的JSON文件相同的文件夹里Step 8) 在文件夹里打开cmd,使用下面的命令运行测试集合运行结果如图newman run postman_collection.json -e globals.json关于Newman的一些基础命令如下1、只运行集合没有环境或测试数据文件依赖关系选择此命令newman run collection name2、运行集合和环境newman run collection name -e environment name3、让集合迭代几遍跑几次newmna run collection name -n no.of iterations(次数)4、运行数据文件newman run collection name --data file name -n no.of iterations5、设置延迟时间这一点很重要因为如果请求在后台服务器上完成完成前一个请求时没有延迟时间直接启动下一个请求测试可能会失败newman run collection name -d delay time

相关新闻