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

文章目录



一、概念

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站了解更多。

相关推荐
大筒木老辈子几秒前
Linux笔记---内核态与用户态
linux·运维·笔记
Vizio<38 分钟前
基于MNIST数据集的手写数字识别(CNN)
人工智能·笔记·深度学习·神经网络·cnn
FBI HackerHarry浩1 小时前
Linux云计算训练营笔记day11(Linux CentOS7)
linux·运维·笔记·云计算
再看扣你眼1 小时前
系统安全及应用学习笔记
笔记·学习·系统安全
xuanshang_yutou1 小时前
调研函模板可参考,以无人机职业技能调研为例
笔记
再看扣你眼1 小时前
系统安全及应用深度笔记
linux·运维·笔记·安全·系统安全
安安csdn2 小时前
系统架构设计师考前冲刺笔记-第1章-系统工程与信息系统基础
笔记·系统架构
ladymorgana3 小时前
【日常笔记】wps如何将值转换成东西南北等风向汉字
笔记·wps
Lester_11013 小时前
嵌入式学习笔记 - STM32 U(S)ART 模块HAL 库函数总结
笔记·学习
Dovis(誓平步青云)3 小时前
探索C++面向对象:从抽象到实体的元规则(上篇)
开发语言·c++·经验分享·笔记·学习方法