目录
前言:
本文介绍了一个基于Python和PyTest的接口自动化框架封装项目实战,重点是如何规范YAML测试用例的封装。在这个项目中,我们将介绍如何使用PyTest和YAML文件来管理和执行接口测试用例,并结合Python编写的封装HTTP请求的库进行测试用例执行,从而实现一个简单易用的接口自动化测试框架。
一、框架介绍
本框架包含两个部分:
1. PyTest测试框架:PyTest是Python中非常流行的一个测试框架,它非常容易上手,支持自定义的fixture、测试用例的参数化等,能够满足大多数测试需求。使用PyTest可以提高测试的可读性、可运行性和可维护性。
2. 封装HTTP请求的库:本框架使用Python requests库来封装HTTP请求,它是Python中常用的HTTP库,使用方便,提供了多种发送HTTP请求的方式,可以轻松地实现GET、POST、PUT、DELETE等HTTP请求。
本框架的构建目标是:
1. 提高测试用例的可读性和可维护性;
2. 优化测试用例的运行效率;
3. 封装HTTP请求,让测试用例的编写变得更加简单。
二、框架目录结构
1. tests目录:用于存放测试用例;
2. common目录:封装了HTTP请求的代码和其他共享的辅助代码;
3. config目录:存放配置文件;
4. report目录:存放测试报告,以HTML格式生成。
三、规范YAML测试用例封装步骤
本框架使用YAML文件来管理和执行测试用例,YAML文件是一种简单的文本格式,易于阅读和编写。下面是实现规范的YAML测试用例封装的步骤:
1. 编写config.py文件,定义基础url等配置参数
class Config:
base_url = 'http://127.0.0.1:5000'
2. 编写封装HTTP请求的库common/http_request.py,使用requests库封装HTTP请求和响应
import requests
class HTTPRequest:
def __init__(self, url, method, headers=None, params=None, json=None, data=None, files=None):
self.response = None
if method.upper() == 'GET':
self.resp