Postman接口自动化

news2024/11/24 17:39:14
一、接口测试的简介和分类
接口测试就是测试系统组件接口之间的一种测试。

分类 :
测试外部接口: 测试被测系统和外部系统之间的接口。( 只需要测试正例即可 )
测试内部接口 :

1、内部接口只提供给内部系统使用。( 预算系统,承保系统 )( 只需要测试正例即可 )

2、内部接口提供给外部系统使用。( 测试必须非常全面,正例,各种异常场景,权限控制)



二、接口测试的流程以及用例的设计

1.拿到接口api文档(通过抓包工具获取 ),熟悉接口业务,接口地址,鉴权方式,入参码。
2.编写接口用例以及评审
    思路:
正例 : 输入正常入参,接口能够成功返回数据
反例 :
鉴权反例:鉴权码为空,鉴权码错误,鉴权码过期......
参数反例:参数为空,参数类型异常,参数长度异常
错误码覆盖:根据业务而定
其他错误场景:接口黑名单、接口调用次数限制、分页场景

3.使用接口测试工具Postman执行接口测试。
4.Postman+Newman+Jenkins实现持续集成,并目输出测试报告并且发送邮件。



三、Postman的简介,安装,注册。

安装
1.Chrome应用商品搜索Postman安装。(需翻墙)
2.客户端安装
官网地址: Download Postman | Get Started for Free
3.Postman的注册和登录
4.Postman的界面介绍

Home主页
workspaces 工作空间
Collections   集合,项目集合
Apis api      文档
EnViromments 环境变量,全局变量
Mock Server   虚拟服务器
Monitors      监听聚
History       历史记录

四、Postman执行接口测试


请求页签
Params: get请求传参
authorization:鉴权
headers:请求头
Body: post请求传参
form-data : 既可以传键值对参数也可以传文件
X-www-from-urlencoded:只能够传键值对参数
raw : json , text , xml , html , javascript
binary : 把文件以二进制的方式传参
pre-request-script:请求之前的脚本。
tests : 请求之后的断言.
cookies: 用于管理cookie信息。


响应页签:
Body: 接口返回的数据
Pretty : 以Json,html,XML....不同的格式查看返回的数据
Raw: 以文本的方式查看返回的数据
PreView:以网页的方式查看返回的数据Cookies:响应的Cookie信息Headers: 响应头
Test Results: 断言的结果
Status: 状态码+状态信息
Time: 响应的时间
Size: 响应的字节数

Get请求和Post请求的区别:
1.get请求一般是获取数据,post请求一般的提交数据
2.post请求和get请求安全。
3.本质区别是传参的方式不一样:
get请求在地址栏后面以?的方式传参,多个参数之间用&分隔post请求是在bodv以表单的方式传参
问题 :
多种环境: 开发环境,测试环境,生成环境接口关联: 需要手动关联参数需要手动修改。

五、Postman的环境变量以及全局变量

环境变量: 环境变量就是全局变量
全局变量:全局变量是能够在任何接口里面访问的变量
获取环境变量和全局变量的值通过 :{{变量名}}




六、接口关联


使用json提取器实现接口关联

image.png


使用正则表达式实现接口关联

image.png



七、Postman内置动态参数以及自定义的动态参数

postman内置动态参数:

{{$timestamp}} :生成当前时间的时间戳

{{$randomlnt}} :生成0-1000之间的随机数

{{#guid}} :生成速记GUID字符串


自定义动态参数

image.png


请求前生成时间戳

image.png




八、断言

Postman断言

image.png


常规的6种断言方式:
Status code:Code is 200 :检音返回的状态码是否为200
Response body:Contains string :检查响应中包括指定字符串
Response body:Json value check :检查响应中其中ison的值
Response body :is equal to a string :检查响应等于一个字符串
Response headers: Content-Type...:检查是否包合响应头
Content-TypeResponse time is less than 200ms:检查请求耗时小于200ms

在断言中获取自定义动态参数(全局变量)的方式
pm.globals.get("times")
globals["times"]
globals.times

全局断言:

image.png

image.png

执行自动化

若有收获,就点个赞吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1044750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法】分治法

文章目录 概念原理和步骤代码示例 总结 概念 分治法(Divide and Conquer)是一种算法设计策略,其思想是将一个大问题划分为若干小规模的子问题,然后递归地解决每个子问题,并将它们的解合并起来以得到原始问题的解。分治…

记一次springboot的@RequestBody json值注入失败的问题(字段大小写的问题)

有时候做后端开发时,难免会与算法联调接口,很多算法的变量命名时全部大写,在实际springmvc开发中会遇到无法赋值的问题。 先粘贴问题代码 entity类 Data NoArgsConstructor EqualsAndHashCode(callSuper true) ToString(callSuper true) …

Linux命令之chattr命令

一、chattr命令简介 chattr命令用于更改文件或目录的属性,包括不可修改属性、同步属性、追加属性、无尽属性、压缩属性、无尽属性、不可删除属性等。chattr命令只能由超级用户或文件的所有者使用。 二、chattr命令使用示例 1、给文件设置版本 -v参数设置版本信息只…

数据库备份的几种方式

数据已成为当今数字时代公司的主要资产。然而,数据的安全性和完整性也成为企业经营的主要挑战。数据库备份对于维护这些宝贵的数据尤为重要。本文将详细介绍几种比较常见的数据库备份方式,帮助用户掌握如何有效地保护数据,保证业务的可持续发…

linux使用操作[1]

文章目录 版权声明快捷键ctrl c 强制停止ctrl d 退出、登出history命令光标移动快捷键清屏快捷键 软件安装命令常见linux系统包管理器yum命令apt命令 systemctl命令软连接日期&时区修改linux时区ntp程序 IP地址&主机名ip&主机名域名解析win配置主机名映射虚拟机…

Mysql003:基础查询

目录: 1. 基本查询 2. 条件查询(where) 3. 聚合函数(count、max、min、avg、sum) 4. 分组查询(group by) 5. 分组后查询(having) 6. 排序查询(order by&#…

【空间-光谱联合注意网络:多时相遥感图像】

A Spatial–Spectral Joint Attention Network for Change Detection in Multispectral Imagery (一种用于多光谱图像变化检测的空间-光谱联合注意网络) 变化检测是通过比较双时相图像来确定和评估变化,这是遥感领域的一项具有挑战性的任务…

Wireshark抓包分析ICMP协议

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 分析目的:分析ICMP协议的数据格式、报文…

【赠书活动】无测试组织:测试团队的敏捷转型

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

不可忽视的字符函数与字符串函数:它们如何改变你的编程世界

💓博客主页:江池俊的博客⏩收录专栏:C语言进阶之路👉专栏推荐:✅C语言初阶之路 ✅数据结构探索💻代码仓库:江池俊的代码仓库🎉欢迎大家点赞👍评论📝收藏⭐ 文…

苹果恢复出厂设置怎么操作?方法在这!

手机恢复出厂设置,简单点来说就是将手机恢复到出厂时的默认状态。如果在使用手机的过程中遇到内存不足、系统闪退、应用卡顿等问题,可以尝试通过将手机恢复出厂设置来解决问题。那么,苹果恢复出厂设置的方法是什么?还不知道如何操…

API接口自动化测试框架

前言 接口自动化逐渐成为各大公司投入产出最高的测试技术。但是如何在版本迅速迭代过程中提高接口自动化的测试效率,仍然是大部分公司需要解决的问题。 框架定位 数据驱动设计模式,无需写测试代码脚本即可实现自动化等价类非等价类覆盖, E2E…

浅谈如何预防高层小区电气火灾的发生

【摘要】:随着国民经济的发展和人民生活水平的不断提高,我国工业用电和家庭用电量逐年增加。电气火灾造成的人员伤亡和财产损失巨大,时刻威胁着人们的生命及财产安全。众所周知,因供电线路或用电设备的损坏引发的接地电气火灾的例…

Seata入门系列【2】Spring Cloud 2021.0.5集成seata 1.7.1

1 引出分布式事务问题 1.1 seata-service-account编写查询用户、远程调用下订单接口 RestController RequestMapping("/accountTbl") public class AccountTblController {AutowiredAccountTblMapper accountTblMapper;AutowiredOrderFeign orderFeign;GetMapping(…

西门子KTP触摸屏做画面时如何把设备图片或Logo做到画面上?

西门子KTP触摸屏做画面时如何把设备图片或Logo做到画面上? 如下图所示,新建一个项目,添加一个触摸屏设备,这里以TP1200 Comfort触摸屏为例进行说明,双击进入根画面, 如下图所示,在右侧的工具箱中…

SpringBoot 学习(一)自动装配

本系列文章为【狂神说 Java 】视频的课堂笔记,若有需要可配套视频学习。 1.1 pom.xml (1) 父工程( spring-boot-starter-parent ) 核心依赖,静态资源过滤等配置。编写或导入 springboot 依赖时不需要指定版本号,继承…

MySQL 连接查询(多表查询 二)

基本介绍 作用:连接查询(Join)操作,用于联结多个表以获取更全面和准确的数据 基本分类: 内连接:相当于查询A、B交集部分数据(去掉迪卡尔积无效组合)外连接: 左外连接&…

nginx: 部署前端项目的详细步骤(vue项目build打包+nginx部署)

目录 第一章 前言 第二章 准备工作 2.1 项目打包理解 2.1.1 打包命令 2.1.2 理解npm run serve/dev 和 npm run build命令 2.2 nginx参数配置理解 2.2.1 nginx常用基本命令 2.2.2 默认配置 2.2.3 搭建不同网站的站点 2.2.4 禁止访问的目录以及一键申请SSL证书验证目录…

Red Hat更新开发套件了,有你期待的功能吗?

导读近日,Red Hat公司将Red Hat Development Suite更新到了2.0版本,其中包括对Red Hat JBoss Development Suite和Red Hat Container Development Kit的一系列优化。 Red Hat Development Suite 2.0版本的主题是扩展可用性与产品集成,以及扩展…

毕业设计--基于SpringBoot+Vue的科研课题项目管理系统

介绍 基于SpringBootVue的科研课题项目管理系统 ; 实现 登录 /注销、 用户管理、项目管理、申报管理、变更管理、结题管理、角色管理、权限管理、数据字典等功能 ; 可作为 SpringBoot前后端分离项目 开发练习模型、课程设计 、 毕业设计 等。 环境准…