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



一、概念

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值