前言
一个完整的接口自动化测试项目到底该如何设计?httprunner框架的知识点其实并不多,前面基本上把一些重要的概念都介绍完了。
本篇就是一个总结性的,可以用于实际工作中设计一个接口自动化测试项目。
项目文件结构
在 HttpRunner 自动化测试项目中,主要存在如下几类文件:
- YAML/JSON(必须):测试用例文件,一个文件对应一条测试用例
- debugtalk.py(可选):脚本函数,存储项目中逻辑运算函数
- 该文件存在时,将作为项目根目录定位标记,其所在目录即被视为项目工程的根目录(当前工作目录CWD)
- 该文件不存在时,运行测试的路径将被视为当前工作目录CWD
- 测试用例文件中的相对路径(例如.csv)均需基于当前工作目录CWD
- 运行测试后,测试报告文件夹(reports)会生成在当前工作目录CWD
- .env(可选):存储项目环境变量
- .csv(可选):项目数据文件,用于进行数据驱动
- reports(自动生成): 运行后自动生成,无需创建
以 debugtalk.py 文件目录为项目的根目录,使用tree生成目录树
D:softuntitledapidemo>tree /F
│ .env
│ debugtalk.py
│ __init__.py
│
├─reports
│ 1569663556.html
│
├─testcase
│ test_env_demo.yml
│ test_hook_demo.yml
│ test_hook_demo2.yml
│ test_info_demo.yml
│ test_param_csv.yml
│ test_param_csv_psw.yml
│ user_name.csv
│ user_psw.csv
│ __init__.py
│
└─
运行用例
运行全部用例
如果我想运行整个项目的用例,可以直接运行testcase整个目录 hrun testcase
hrun testcase
运行单个用例
如果我只想运行 testcase/test_env_demo.ymll的用例
hrun testcase/test_env_demo.yml
运行多个用例
同时运行 testcase/test_env_demo.yml 和 testcase/test_hook_demo.yml用例
hrun testcase/test_env_demo.yml testcase/test_hook_demo.yml
用例失败后停止--failfast
如果我们希望测试用例失败后停止运行,可以加--failfast参数
hrun testcase --failfast