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

软件测试笔记——接口测试

文章目录

  • 一、概念
      • 1.接口测试流程
      • 2.URL
      • 3.HTTP协议
      • 4.RESTful
      • 5.案例介绍
  • 二、Postman
      • 1.Postman软件
      • 2.登录接口调试-获取验证码
      • 3.登录接口调试-自动关联数据
      • 4.合同上传接口-提交请求数据
      • 5.提交参数查询
      • 6.批量执行
      • 7.接口用例设计
      • 8.断言
      • 8.参数化
      • 三、案例
      • 1.项目
      • 2.课程添加
      • 3.课程列表查询
      • 4.课程修改
      • 5.课程删除
  • 四、接口自动化
      • 1.接口自动化测试流程
      • 2.搭建自动化测试环境
      • 3.接口自动化框架
      • 4.Requests
      • 5.接口对象封装
      • 6.断言
      • 7.数据驱动
      • 8.allure



一、概念

1.接口测试流程

1.接口文档解析
2.设计测试用例
3.脚本开发
4.执行脚本
5.缺陷跟踪
6.测试报告

2.URL

是互联网上标准资源的地址,一般称为统一资源定位符。
(1)组成:
协议://hostname[:port]/path/[?查询参数1&查询参数2]

在这里插入图片描述

3.HTTP协议

超文本传输协议,基于请求与响应的应用层协议。
(1)作用:
规定了客户端与服务器之间信息传递规范,是二者共同遵循的协议。
(2)组成:
1.HTTP请求:定义请求数据格数
请求行、请求头、请求体
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.HTTP响应:定义响应数据格数
状态行、响应头、响应体
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.RESTful

在这里插入图片描述
在这里插入图片描述

5.案例介绍

(1)项目介绍:

客达天下销售管理系统(CRM),前后端分离。
(2)待测接口:
1.合同管理业务:
登录、添加课程、上传合同、新增合同。
2.课程管理模块:
添加课程、修改课程、查询课程、删除课程。
(3)设计业务流程测试用例:
1.根据流程图,找出业务路径。
2.根据业务路径分析对应的接口请求。
3.将业务路径转化为接口测试用例。

(4)合同新增业务流程:
在这里插入图片描述
(5)解析接口文档:
在这里插入图片描述

二、Postman

1.Postman软件

1.介绍:
是一个接口调试工具
2.下载:
官网

2.登录接口调试-获取验证码

在这里插入图片描述
在这里插入图片描述
如何发送请求并查看响应结果:
1.设置请求方法
2.设置URL
3.设置请求头
4.设置请求数据
5.点击Send发送请求
6.查看响应状态码
7.查看响应体数据

3.登录接口调试-自动关联数据

解决接口之间需要自动传递数据的问题。
在这里插入图片描述
在这里插入图片描述
Tests:
在这里插入图片描述
Body-raw:
在这里插入图片描述

4.合同上传接口-提交请求数据

在这里插入图片描述
在这里插入图片描述

5.提交参数查询

(1)设置在URL中:
在这里插入图片描述

(2)设置在Params区域:

在这里插入图片描述

6.批量执行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.接口用例设计

(1)单接口测试:
1.正向测试:
1.1必填参数 P2
1.2全部参数 P2
2.逆向测试:
2.1参数数据为空 P3
2.2参数类型不符 P3
2.3参数长度不符 P3
2.4业务规则不符 P3

在这里插入图片描述

在这里插入图片描述

(2)使用Postman:

在这里插入图片描述

8.断言

在这里插入图片描述
(1)Status code:Code is 200
在这里插入图片描述
(2)Response body:Contains string
在这里插入图片描述
(3)Response body:JSON value check

在这里插入图片描述

在这里插入图片描述

8.参数化

(1)步骤:
1.测试数据保存在数据文件单独维护
2.引用数据文件实现脚本循环调用
(2)实现:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、案例

1.项目

在这里插入图片描述
在这里插入图片描述

2.课程添加

(1)单接口设计测试用例
1、正向:
1.1全部必填参数
1.2全部参数
2、逆向
2.1为空
2.2长度不符
2.3类型不符
2.4规则不符
(2)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.课程列表查询

在这里插入图片描述

单条件查询:
在这里插入图片描述
组合条件查询:

在这里插入图片描述

4.课程修改

在这里插入图片描述

在这里插入图片描述

5.课程删除

在这里插入图片描述
接口文档:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、接口自动化

1.接口自动化测试流程

1.选取自动化测试用例
2.搭建自动化测试环境
3.搭建自动化测试框架
4.代码实现自动化
5.输出测试报告
6.实现持续集成

2.搭建自动化测试环境

(1)编程语言: python
(2)测试框架: pytest
(3)请求接口: requests

3.接口自动化框架

在这里插入图片描述
设计思路:
在这里插入图片描述

项目目录:
在这里插入图片描述

4.Requests

安装:pip3 install requests
验证:pip3 show requests
操作步骤:导包、发送接口请求、查看响应数据

(1)发送请求:

requests.请求方法(url,params=None,data=None,json=None,headers=None)#参数:
请求方法:get/post/put/delete
url:请求的url地址
params:请求查询参数
data:请求体为form表单参数
json:请求体为json参数
headers:请求头参数

(2)查看响应:

属性/方法说明
response.status_code状态码
response.json()JSON形式的响应内容
response.text文本形式的响应内容
response.url请求url
response.encoding查看响应头部字符编码
response.headers头信息
response.cookiescookie信息

(3)登录接口调试-获取验证码:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(4)处理multipart/form-data:

requests.请求方法(url,data=None,json=None,headers=None,files=None)#补充;
files:上传的文件
f=open("test.pdf","rb")  :读取文件数据
response=requests.post(url=xxx,files={"file":f"}) :设置请求数据

在这里插入图片描述
(5)解决接口之间的数据依赖:
使用python中变量或属性接口依赖数据
在这里插入图片描述

5.接口对象封装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.断言

相等断言: assert test_data==‘xxx’
包含断言: assert ‘xxx’ in test_data

在这里插入图片描述

7.数据驱动

以测试数据驱动脚本执行,维护焦点从脚本转向测试数据的一种自动化测试设计模式。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.allure

帮助文档:https://docs.qameta.io/allure
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

该为黑马程序员接口自动化测试 学习笔记,有兴趣的可以去b站了解更多。

相关文章:

软件测试笔记——接口测试

文章目录 一、概念1.接口测试流程2.URL3.HTTP协议4.RESTful5.案例介绍 二、Postman1.Postman软件2.登录接口调试-获取验证码3.登录接口调试-自动关联数据4.合同上传接口-提交请求数据5.提交参数查询6.批量执行7.接口用例设计8.断言8.参数化三、案例1.项目2.课程添加3.课程列表查…...

东方通 TongRDS V2 配置与开机自启指南及 Spring Boot 集成

东方通 TongRDS V2 配置与开机自启指南及 Spring Boot 集成 文章目录 东方通 TongRDS V2 配置与开机自启指南及 Spring Boot 集成一 简述二 配置 cfg.xml1 启用密码访问2 Spring Boot 连接 TongRDS 三 配置 TongRDS 开机自启1 配置 RdsCenter1)设置 RdsCenter.servi…...

在 VS Code 中调试 Tensor 形状不显示的问题及解决方案

文章目录 常见问题解决方案1. 定制类包装和 __repr__ 方法 解释如何应用总结 在使用 VS Code 调试 PyTorch 代码时,可能会遇到一个常见问题:调试时 variables 窗口中不显示 Tensor 的形状信息。这会使得调试时观察数据的结构变得不便,尤其是在…...

Linux 时间获取全面总结

1. 引言 在Linux操作系统中,获取时间是一个基本且重要的功能。本文旨在全面总结Linux系统中获取时间的方法,包括命令行工具和编程接口,帮助读者深入理解Linux时间管理的机制。 2. 命令行工具 2.1 date 命令 date 命令是Linux中最常用的命…...

SQL 自学:游标(Cursors)的理解与应用

在 SQL 中,游标(Cursor)是一种用于处理从数据库中检索出的多行数据的机制。它允许我们逐行地处理查询结果集,而不是一次性处理整个结果集。 一、游标是什么 游标可以看作是一个指向结果集的指针。通过游标,我们可以在…...

IO多路复用概述与epoll简介

一、引言 在网络编程中,高并发的场景下处理大量连接请求是一项挑战。传统的阻塞式IO模型会让线程在等待数据的过程中陷入停顿,导致系统效率低下。为了解决这个问题,IO多路复用应运而生。它允许一个线程同时监听多个文件描述符(如…...

关于region_to_label算子的想法

1,定义:将区域进行编码 2,如何做到的:底层逻辑应该是paint_region。通过一个小的循环,按顺序将区域从灰度值1开始11的往上喷。 3,有什么作用:目前能用到的,是有字典的作用&#xff0…...

uni-app 实现好看易用的抽屉效果

在移动应用开发中,抽屉效果是一种常用的用户界面设计,它能有效地节省空间,同时提供导航和其他功能。本文将介绍如何在uni-app中实现一个好看且易用的抽屉效果,帮助你提升应用的用户体验。 一、什么是抽屉效果? 抽屉效…...

PowerShell 脚本 比较两文件差异(带粗狂进度条)并汇总输出

一上来就放代码 function Compare-FileHex {param ([Parameter(Mandatory$true)][string]$SourceFile,[Parameter(Mandatory$true)][string]$CompareFile,[Parameter(Mandatory$false)][string]$OutputFile,[Parameter(Mandatory$false)][int]$BufferSize 1MB)function Forma…...

学习 UE5 的一些前置操作总结

随着 Unity, Godot 这些引擎都玩抽象,主动捅自己一刀后,UE5 的风头不可谓不盛,本着多学一点免得失业的思路方针,咱也研究了一下 UE5 引擎,然后发现想要开始使用 UE5 ,包含了很多前置操作,这里总…...

C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。 欢迎投稿、推荐…...

Git 基本配置

目录 打开 Git Bash设置用户信息查看配置信息修改电脑名字为常用指令配置别名打开用户目录,创建 .bashrc 文件在 .bashrc 文件中输入如下内容:打开gitBash,执行 source ~/.bashrc 解决GitBash乱码问题打开GitBash执行下面命令${git_home}/etc…...

理工科考研想考计算机,湖南大学、重大、哈工大威海、山东大学,该如何选择?

C哥专业提供——计软考研院校选择分析专业课备考指南规划 计算机对理工科同学来说,还是性价比很高的,具有很大的优势! 一、就业前景广阔 高需求行业 在当今数字化时代,计算机技术几乎渗透到了各个领域,无论是互联网…...

使用langchain和大模型API提取QA的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委,编写微软OpenAI考试认证指导手册。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。授权多项发明专利。对机器学…...

Java面试场景题(1)---如何使用redis记录上亿用户连续登陆天数

感谢uu们的观看,话不多说开始~ 对于这个问题,我们需要先来了解一下~ 海量数据都可以用bitmap来存储,因为占得内存小,速度也很快 我大概计算了一下~ 完全够:String类型512M 1byte 8个bit位 8个状态 512M1024byt…...

Element UI

Element ui 就是基于vue的一个ui框架,该框架基于vue开发了很多相关组件,方便我们快速开发页面。 官网: https://element.eleme.io/#/zh-CN 安装Element UI vue init webpack element(项目名)确认项目是否构建成功:进入到项目的根路径 执行 npm start 访问 h…...

②PROFINET转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 协议转换通信网关 PROFINET 转 Modbus TCP (接上一章) 配置使用 与 PROFINET 主站进行组态说明 这里介绍与西门子 PLC 的…...

python+Mosh网课笔记04

太久没写python代码了,学机器学习重新拾起python,笔记比较简陋。 参考:mosh python网课 一、导入同一文件夹下其他文件 first.py def swim():print("swim")def run():print("run")同一个文件夹下的second.py from f…...

【微服务】全面构建微服务监控体系:确保系统稳定与性能优化的关键

目录 引言一、微服务监控概述1.1 微服务监控的定义1.2 微服务监控的重要性1.3 监控的核心目标1.4 微服务监控的关键指标1.5 监控的策略 二、微服务监控的架构2.1 监控架构图2.2 架构组件2.3 监控架构示意图 三、微服务监控的工具3.1 工具概述3.2 Prometheus3.3 Grafana3.4 ELK …...

Gin框架操作指南08:日志与安全

官方文档地址(中文):https://gin-gonic.com/zh-cn/docs/ 注:本教程采用工作区机制,所以一个项目下载了Gin框架,其余项目就无需重复下载,想了解的读者可阅读第一节:Gin操作指南&#…...

接口测试中缓存处理策略

在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...