当前位置: 首页 > news >正文

【软件测试】Postman接口测试基本操作

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨

Postman-获取验证码

需求:使用Postman访问验证码接口,并查看响应结果。 

地址:http://kdtx-test.itheima.net/api/captchaImage

步骤:1.设置请求方式,GET请求 2.输入接口地址 3.点击发送请求 4.查看响应结果

图片

图片

{ "username":"admin", "password":"HM_2023_test", "code":"2", "uuid":"f3ba5d0cd5554e5cb842e2ceea87d1d6" 
}

设置请求方法--->设置接口URL地址---->设置请求头--->设置请求数据--->点击Send发送请求--->查看响应数据--->查看响应体数据。

Postman-登录接口自动关联数据

Postman自动关联

图片

图片

图片

// 设置验证码的uuid为指定变量 
var jsonData=pm.response.json(); 
// 设置变量值 {{captchaImage_uuid}}
pm.environment.set("captchaImage_uuid", jsonData.uuid); 

实操:

图片

图片

Postman-调试课程添加接口

接口地址:http://kdtx-test.itheima.net/api/clues/course 请求方法:Post 请求头:

{"Content-Type":"application/json", "Authorization":"XXXX"}

请求体:

{"name":"测试开发训练课001","subject":"6","price":188.88,"applicablePerson":"2","info":"专注于测试人的培训提升"}

使用Postman的自动关联功能,设置登录接口response的json数据中的token到环境变量中。

图片

在添加课程接口的Post请求的Headers中传入登录接口返回的token参数值即可正常进行添加课程操作。

图片

Postman批量运行

图片

image.png

接口测试用例设计思路

  • 正向测试

必填参数(P2)、全部参数(P2)。

  • 逆向测试

参数数据为空(P3)、参数类型不符(P3)、参数长度不符(P3)、业务规则不符(P3)。

案例:KDTX项目登录接口用例设计

需求:

  • 已注册正确的用户名和密码,登录成功

  • 用户名或密码错误,登录失败,提示“用户名或密码错误”

要求:

  1. 按照接口测试思路进行测试点分析

  2. 从测试点转化为测试用例

  3. 使用Postman进行接口测试

API文档如下:

登录接口API文档

URL:/api/login **Type:**POST **Description:**登录方法Request-Header:

参数名称参数值是否必填
Content-Typeapplication/json

Body-Parameter:

参数名称类型描述是否必填备注
usernamestring用户名True如:Manager
passwordstring密码True如:123456
codestring验证码True如:2
uuidstring用户唯一标识True生成验证码接口

Response:

request:
{"username": "admin","password": "HM_2023_test","code": "2","uuid": "b47747c6307345aab84f16e5746baef4"
}response:
{"msg": "操作成功","code": 200,"userId": 1,"token": "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImMzN2NlNDVhLWQ3NzctNDM2MC1iN2UyLWQxZDI2ODE4NmU3NiJ9.eTfoEFY8O1rGCGd5IO8fc8nFTxMq-DFkWdvPvHcJHgO_3cPc2gqdziyIpvclRxi-QEihy2EXHRbMfm65v__JWg"
}

response-example: 响应状态码:200 响应数据:登录成功:{"msg":"操作成功","code":200,"token":"xxxxxxxx"}用户名或密码错误:{"msg":"用户名或密码错误","code":500}验证码错误或过期:{"msg":"验证码已过期","code":500}

测试用例思维导图设计提取测试点

图片

测试用例设计

图片

image.png

使用Postman执行测试用例
  1. 点击测试集中的“Add Folder”添加文件夹管理测试用例

  2. 点击文件夹上的“Add Request”添加请求实现测试用例

  3. CTRL+D快速复制已保存的用例

**Postman断言设置:**

  • 响应状态码断言

  • 返回值包含断言

  • JSON内容断言

图片

example:

图片

// 响应状态码断言
pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});
// Response内容包含断言
pm.test("Body matches string", function () {pm.expect(pm.response.text()).to.include("操作成功");
});
// JSON字段断言
pm.test("Your test name", function () {var jsonData = pm.response.json();pm.expect(jsonData.msg).to.eql("操作成功");
Postman参数化

场景:测试脚本中仅测试数据不一样,使用参数化提高脚本复用性。步骤:

  1. 测试数据保存在数据文件单独维护

  2. 引用数据文件实现脚本循环调用

测试数据组织成JSON格式数据即可。

图片

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

相关文章:

  • AI一键音频转文字工具 速度超快,支持实时转换,无需联网,本地整合包下载
  • 2024年中国网络安全市场全景图 (2024.7)
  • Go 语言条件语句
  • 2024 年 亚太赛 APMCM (C题)中文赛道国际大学生数学建模挑战赛 | 量子计算的物流配送 | 数学建模完整代码+建模过程全解全析
  • mybatis实现动态sql
  • EHS是什么意思啊?EHS系统有什么作用?
  • 一文带你看懂什么是营销归因模型及SaaS企业的应用
  • 汉王、绘王签字版调用封装
  • dc-3靶机渗透
  • 014-GeoGebra基础篇-快速解决滑动条的角度无法输入问题
  • 如何通过IP地址查询地理位置及运营商信息
  • Elasticsearch exists 和 missing 查询:检查字段是否存在或缺失
  • webpack 之 splitChunks分包策略
  • Pixi.js 使用指南
  • 【应届应知应会】SQL常用知识点50道
  • [nginx文档翻译系列] 控制nginx
  • android 一些 utils
  • Docker入门(二) - Dockerfile
  • eclipse的离线汉化
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • java中的hashCode
  • jquery ajax学习笔记
  • jquery cookie
  • Linux快速复制或删除大量小文件
  • Material Design
  • React Native移动开发实战-3-实现页面间的数据传递
  • React-生命周期杂记
  • use Google search engine
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 码农张的Bug人生 - 见面之礼
  • 七牛云假注销小指南
  • 前端技术周刊 2019-02-11 Serverless
  • 全栈开发——Linux
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 怎样选择前端框架
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 1.Ext JS 建立web开发工程
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​ArcGIS Pro 如何批量删除字段
  • #define与typedef区别
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • ()、[]、{}、(())、[[]]命令替换
  • (C#)一个最简单的链表类
  • (Java数据结构)ArrayList
  • (poj1.2.1)1970(筛选法模拟)
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (ZT)薛涌:谈贫说富
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • ... 是什么 ?... 有什么用处?
  • .cn根服务器被攻击之后