文章目录
(三)接口自动化测试框架封装实现
之前分析完了接口测试框架的设计与架构,下面我们就来一步一步的完成接口自动化测试框架的实现。
1、创建测试框架项目
为Student Management System Interface testing framework
创建一个测试项目SMSITF
。
项目名上右键 —> New —> Python Package —> 创建common目录。
同理创建
interface目录:存放接口的目录。
script目录:存放测试用例的目录。
Config目录:存放配置文件。配置一些常量,例如数据库的相关信息,接口的相关信息等。
Data目录:存放公共部分数据,比如测试数据,excel文件等等。
Log目录:存放logging日志信息。
Reports目录:存放接口测试报告目录。
创建好后如下图:
接下来我们要一步一步实现这个框架里边的功能。
Dictionary
和Python Package
目录说明:
Dictionary
在Pycharm中就是一个文件夹,放置资源文件,该文件夹其中并不包含__init.py__
文件。
Python Package
文件夹会自动创建__init.py__
文件,换句话说Python Package
就是创建一个目录,其中包括一组模块和一个__init.py__
文件。
2、封装发送请求方法
一些公共的方法,要写在common目录中,主要是封装使用requests库发送请求的方法。
其他所有的公共的方法都可以封装在common目录中。
"""
send_method.py 文件说明:
1,封装接口请求方式
根据项目接口文档提供的内容进行封装
不同的项目,sendmethod也不太一样,如请求体格式等。
2.封装思路-结合接口三要素
请求方式+请求地址
请求参数
返回值
3.以学生管理系统SMS为例:
结合学生管理系统项目的接口文档,封装SendMethod类
"""
# 导入所需模块
import requests
import json
# 封装请求模块
class SendMethod:
"""
结合学生管理系统SMS,请求方式包括如下:
get ---> parmas标准请求参数
post--->请求参数类型 json
put --->请求参数类型 json
delete ---> parmas标准请求参数
"""
# 定义该方法为静态方法
@staticmethod
def send_method(method, url, parmas=None, json=None):
"""
封装适用于学生管理系统项目的接口请求
:param method: 请求方式
:param url: 请求地址
:param parmas: get和delete请求参数
:param json: post和put请求参数
:param headers: 请求头
:return:
"""
# 定义发送请求的方法
if method == "get" or method == "delete":
response = requests.request(method=method, url=url, params=parmas)
elif method == "post" or method ==