项目结构
文件类型说明
在 HttpRunner 自动化测试项目中,主要存在如下几类文件:
- debugtalk.py(可选):存储项目中逻辑运算辅助函数
- 该文件存在时,将作为项目根目录定位标记,其所在目录即被视为项目工程根目录
- 该文件不存在时,运行测试的所在路径(CWD)将被视为项目工程根目录
- 测试用例文件中的相对路径(例如.csv)均需基于项目工程根目录
- 运行测试后,测试报告文件夹(reports)会生成在项目工程根目录
- YAML/JSON/Python(必须):测试用例文件,存储接口测试相关信息
- .env(可选):存储项目环境变量,通常用于存储项目敏感信息
- .csv(可选):项目数据文件,用于进行数据驱动
- reports:默认生成测试报告的存储文件夹
- testcases: 测试用例存放目录
- testsuites: 测试用例集存放目录
- data: 存储参数化文件,或者项目依赖的文件
项目文件结构
对于接口数比较少,或者测试场景比较简单的项目,组织测试用例时无需分层。在此种情况下,项目文件的目录结构没有任何要求,在项目中只需要一堆 YAML/JSON 文件即可,每一个文件单独对应一条测试用例;根据需要,项目中可能还会有 debugtalk.py、.env等文件。
推荐的项目文件目录结构示例如下:
$ tree demo -a
demo
├── .env
├── .gitignore
├── debugtalk.py
├── har
├── reports
└── testcases
├── demo_testcase_ref.yml
└── demo_testcase_request.yml
完整的项目文件目录结构示例如下:
tree httprunner_demo -a
httprunner_demo
├── .env
├── .gitignore
├── data
│ ├── account.csv
│ └── vip.csv
├── debugtalk.py
├── har
├── logs
│ └── 2aad97e8-2c00-46a6-8897-e129e0d741be.run.log
├── reports
│ ├── assets
│ │ └── style.css
│ └── demo.html
├── testcases
│ ├── __init__.py
│ ├── demo_testcase_request.yml
│ ├── demo_testcase_request_test.py
└── testsuites
└── suite.yml