[Python接口自动化测试] (7)教程之七)邮递员
Postman v6的使用
Postman:是一个简单方便的接口调试工具,用于共享和协作。它具有接口调试、接口集管理、环境配置、参数化、断言、批处理执行、记录接口、Mock Server、接口文档、接口监控等功能。
JMeter:是一款开源的接口测试和压力测试工具,支持Linux,无接口运行。
LR:商务版界面性能测试工具,使用方便,功能强大。
SoupUI:是开源的,是WebService接口的常用测试工具,也可以测试Rest接口和接口安全性。
官方下载地址:https://www.postman.com/downloads/
1、工具栏
New: New,您可以创建新的请求、收集请求集、环境等。
导入:导入,您可以导入其他人导出的请求集。
Runner:运行请求集(批处理执行)
Invite:邀请(需要注册,合作邀请)
同步图标:(您需要注册才能将项目同步到云)
抓取包图标:抓取包/捕获请求,用于启动邮递员代理。您可以在手动设置代理(或手机代理)后抓取包/记录请求
设置:邮递员设置
消息图标:官方和援助消息
收藏图标:我的收藏(需要注册)
云图标:用户云数据(需要注册)
2、接口管理区
历史:请求历史,可以查询以前的请求记录。
Collections:接口集相当于一个接口项目或测试计划。接口集中可以建立Infinitus子文件夹,用于接口的分组管理。
3、环境管理区
环境切换:用于切换环境。
环境预览:用于快速预览环境中的所有变量。
环境管理:用于添加和修改环境和环境变量,以及全局变量。
什么是环境接口全地址=服务地址接口地址,例如
www.sojson.com/开放/api/weather/json.shtml
环境是一组包含许多环境变量的配置。在接口测试中,根据在不同服务器上的部署,服务器地址可能不同,但同一接口,接口地址不变。测试不同服务中的部署
服务在同一个windows套接字上,我们可以设置不同的环境,不同的环境主机变量使用不同的地址。
4、接口设计区 可以通过上方tab边上的+号,新建多个请求。接口设计区从上到下分为请求区和响应区
请求区:
请求地址行:可以选择请求方式(GET/POST/.),填写请求地址,发送请求并将请求保存到测试集。
请求数据区:分为授权、请求头、请求数据、请求发送前执行的脚本(用于准备数据)和请求完成后执行的脚本(用于断言)。
响应区:
回应内容:可以查看漂亮、原始和预览。
响应Cookie
响应头
测试结果,对应于请求中测试中设置的断言。
5、Collection请求集 测试集是Postman中接口管理的一个“整体”单位,运行、导出、分享等都是基于测试集的。
新建测试集:新建按钮-集合或单击测试集列表正上方的新建测试集按钮。
授权:测试集及其子文件夹下的接口统一使用这种授权,而不是单独设置每个接口。
预请求脚本:测试集的每个接口共有的预请求脚本。
请求后断言:测试集的每个接口共有的请求后脚本。
请求集变量:请求集中常见的一些变量。
子文件夹的属性还有描述、授权、请求前脚本和请求后断言(无变量,统一管理一个请求集的变量),实现了不同作用域的Fixture功能。
请求集导出:请求集可以导出并发送给其他人(没有环境信息),其他人可以通过导入来使用您的界面。
请求集共享:请求集直接与其他人共享(双方都需要注册)
6、环境管理
我们可以在环境中设置许多变量,用于在请求中使用环境变量:选择环境,并在请求URL或请求正文中使用{ {变量名}}来使用环境变量。变量可以在请求正文的各种格式中使用,但不能直接在请求前脚本和请求后脚本(测试)中使用。
您也可以单击“全局”在环境管理中添加全局变量。环境变量只有在选择环境时才会生效
局变量在任何环境中生效,测试集中的变量只在当前测试集生效,当测试集变
量,环境变量,全局变量有重复的变量名时,优先级为:环境变量全局变量测试集变量 Params使用 当请求URL中参数很多时,不方便进行添加和查看,可以点击URL输入框后的Params按钮,以表格的方式添加变量及值,从表格添加后,变量和值会自动添加到URL中。
7、请求设计
- 授权:如果接口需要授权,可以在该页面设置授权方式(type)和授权信息
- Header: 请求头,可以设置请求类型(Content-Type)和Cookie
- Body: 请求数据
- form-data:混合表单,支持上传文件
- x-www-form-urlencoded:文本表单
- raw:原始格式,支持JSON/XML格式(后面可选择)
- binary: 二进制格式,用于发送二进制数据流
- Pre-request Script: 请求前脚本,Javascript语法,用于在发送请求前生成一些动态数据或做一些处理
- Tests:请求后脚本,Javascript语法,用于请求返回后做一些处理或断言结果
Postman发送各种格式请求的方法: 注意:选择不同的请求可是,会自动在Header中添加Content-Type信息
8、Tests断言
- HTTP状态码断言
tests["HTTP状态码200"]=responseCode.code == 200;
- 响应包含内容断言:
tests["状态码200"] = responseBody.has("登录成功");
接口样例: POST https://demo.fastadmin.net/admin/index/login.html 用户名/密码: admin/123456
- JSON响应断言
var jsonData = JSON.parse(responseBody); tests["code为200"] = jsonData.code==200 tests["msg为success"] = jsonData.msg == "success"
接口样例: GET http://www.tuling123.com/openapi/apikey=ec961279f453459b9248f0aeb6600bbeinfo=你好
9、Runner: 测试集批量执行
- 支持设置迭代次数
- 支持加载csv或json类测试数据 操作方法: 如https://demo.fastadmin.net/admin/index/login.html接口
- 新建一个Collection,比如名称Demo2
- 填入URL:https://demo.fastadmin.net/admin/index/login.html, 选择POST方法
- 请求数据(Body)格式选x-www-form-urlecoded,请求数据填写username {{username}} password {{password}},这里使用了两个变量来做参数化
- 保存请求到Demo2中
- 在电脑上新建一个data.csv文件,第一行为变量名,下面是数据,如下图
- 点击Postman工具栏的Runner按钮,Collection选择Demo2, Data选择数据文件data.csv, 点击运行Demo2
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
本文来自博客园,作者:hello_殷,转载请注明原文链接:https://www.cnblogs.com/yinzuopu/p/15518353.html
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/74734.html