基于Pytest+request+Allure的接口自动化开源框架
Request.py封装request方法,可以支持多协议扩展(get\post\put)
Config.py读取配置文件,包括:不同环境的配置,email相关配置
Log.py封装记录log方法,分为:debug、info、warning、error、critical
Email.py封装smtplib方法,运行结果发送邮件通知
Assert.py封装assert方法
Hash.py封装常用加密方法
Session.py封装获取登录cookies方法
GToken.py封装跨文件全局变量方法
Methodes.py封装接口 path 过滤方法
Mysql_operate.py封装MySQL操作方法
Config.ini环境配置文件
Config.py封装配置文件读写方法
日志文件路径,用于存储error 及info 及log文件
body_data.py封装request请求参数处理方法
Param 测试用例集 路径包
params.py封装测试用例集解析方法
tools.py封装测试用例集读取方法
xx_test.py封装测试用例执行方法
conftest.py 封装pytest 钩子及 html 修改 方法
run.py 核心代码。定义并执行用例集,生成报告
graph TD
A[run.py] -- start--> B{Config};
S[Log 记录log];
R{SMTP};
B --> D{pytest.allure} --NO-->H[无有效用例];
H-->R;
D --&--> E[allure 定义用例集];
D --Yes--> F{pytest 执行};
F -->G{pytest.fixture 初始化测试数据 };
G--No-->S
G --Yes -->I[定义运行环境];
I -- xx.yaml--params.py-->K{ 解析yaml 文件};
K--No-->S;
K--Yes-->L[tools.py 转换测试用例] -->M[Requesty 运行];
M -->N{Asser断言};
N--Yse-->Q[pytest_html]
Q -->R;
N--Fail-->S;
N--Success-->O[Allure];
H --> S;
R --Fail -->S;
R--Yes-->T(end);