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

文章目录



一、概念

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)发送请求:

python 复制代码
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.cookies cookie信息

(3)登录接口调试-获取验证码:


(4)处理multipart/form-data:

python 复制代码
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站了解更多。

相关推荐
AlexMercer101210 分钟前
[C++ 核心编程]笔记 4.2.6 初始化列表
开发语言·数据结构·c++·笔记·算法
霍格沃兹测试开发学社测试人社区43 分钟前
软件测试学习笔记丨Selenium学习笔记:css定位
软件测试·笔记·测试开发·学习·selenium
琼火hu3 小时前
R语言笔记(五):Apply函数
开发语言·笔记·r语言·apply
光明中黑暗4 小时前
Python 学习笔记
笔记·python·学习
山里灵活的狗_5 小时前
蓝桥杯练习笔记(十九-质数筛)
笔记·职场和发展·蓝桥杯
YuCaiH5 小时前
【STM32】LED闪烁 & LED流水灯 & 蜂鸣器
笔记·stm32·单片机·嵌入式硬件
codists6 小时前
《使用Gin框架构建分布式应用》阅读笔记:p212-p233
笔记·golang·gin·编程人·codists·gin框架
Nepethens6 小时前
【OccNeRF: Advancing 3D Occupancy Prediction in LiDAR-Free Environments】阅读笔记
笔记·3d
小c君tt6 小时前
MFC文件管理-学习笔记
笔记·学习·mfc
白狐欧莱雅7 小时前
使用Python中的DrissonPage库爬取小说网站并保存章节内容(bqg)
经验分享·笔记·python·自动化·drissonpage