一、前言
想想之前玩的框架,做的项目都是把数据用例冗余到一起的,不符合数据用例分离的思想,所以准备基于pytest搭建个测试框架,支持数据用例分离,接下来会用一系列文章逐步介绍整个框架是怎么搭建起来的。
二、项目结构概览
- conf:存放接口路径、域名等信息
- data:1、存放.json文件(接口的请求头或请求体信息),即测试数据;2、存放.yaml文件(用户信息 比如账号密码)
- log:日志文件
- report:allure测试报告
- testcase:测试用例
- tools:常用方法
- conftest.py:用于处理登录的文件
- excute.py:用于执行项目的文件
三、照葫芦画瓢
1、新建python项目后,建个testcase文件夹
/testcase下面创建个case,比如test_case1.py,里面随意写些内容,主要用于调试excute.py的执行是否正常,要注意的是.py文件要用test开头,因为用的是pytest框架。
2、新建excute.py,源码如下
这里我就不演示了,执行成功后会在report文件夹下面生成测试报告
# -*- coding:utf-8 -*- ''' @Date:2022/10/5 20:30 @Author:一加一 ''' import pytest import os if __name__ == '__main__': # pytest执行脚本并生成测试结果文件到report/tmp目录下 pytest.main(['-s','--alluredir','report/tmp']) # 将report/tmp目录下的结果文件生成html类型的测试报告文件到report/html目录下 # -o report/html --clean 是为了清空已有的测试报告再生成 os.system(r'allure generate report/tmp -o report/html --clean')