HttpRunner 在命令行中启动测试时,通过指定参数,可实现丰富的测试特性控制。
hrun -h
usage: hrun [-h] [-V] [--log-level LOG_LEVEL] [--log-file LOG_FILE]
[--dot-env-path DOT_ENV_PATH] [--report-template REPORT_TEMPLATE]
[--report-dir REPORT_DIR] [--report-file REPORT_FILE]
[--save-tests] [--failfast] [--startproject STARTPROJECT]
[--validate [VALIDATE [VALIDATE ...]]]
[--prettify [PRETTIFY [PRETTIFY ...]]]
[testfile_paths [testfile_paths ...]]
One-stop solution for HTTP(S) testing.
positional arguments:
testfile_paths Specify api/testcase/testsuite file paths to run.
optional arguments:
-h, --help show this help message and exit
-V, --version show version
--log-level LOG_LEVEL
Specify logging level, default is INFO.
--log-file LOG_FILE Write logs to specified file path.
--dot-env-path DOT_ENV_PATH
Specify .env file path, which is useful for keeping
sensitive data.
--report-template REPORT_TEMPLATE
Specify report template path.
--report-dir REPORT_DIR
Specify report save directory.
--report-file REPORT_FILE
Specify report file path, this has higher priority
than specifying report dir.
--save-tests Save loaded/parsed/vars_out/summary json data to JSON
files.
--failfast Stop the test run on the first error or failure.
--startproject STARTPROJECT
Specify new project name.
--validate [VALIDATE [VALIDATE ...]]
Validate YAML/JSON api/testcase/testsuite format.
--prettify [PRETTIFY [PRETTIFY ...]]
Prettify JSON testcase format.
指定测试用例路径
使用 hrun 命令外加单个测试用例文件的路径,运行单个测试用例,并生成一个测试报告文件。
-
运行单个测试文件:hrun + 用例文件路径。
-
运行多个测试文件:hrun+testcase文件夹路径
failfast:遇到失败时不再继续运行后续用例
hrun + 用例文件+ --failfast日志级别
默认情况下,HttpRunner 运行时的日志级别为INFO,只会包含最基本的信息,包括用例名称、请求的URL和Method、响应结果的状态码、耗时和内容大小。
-
默认级别:INFO
-
详细级别:DEBUG
若需要查看到更详尽的信息,例如请求的参数和响应的详细内容,可以将日志级别设置为DEBUG,即在命令中添加--log-level debug。
保存详细过程数据
为了方便定位问题,运行测试时可指定 --save-tests 参数,即可将运行过程的中间数据保存为日志文件。
日志文件将保存在项目根目录的 logs
文件夹中,生成的文件有如下三个(XXX为测试用例名称):
-
XXX.loaded.json
:测试用例加载后的数据结构内容,加载包括测试用例文件(YAML/JSON)、debugtalk.py、.env 等所有项目文件,例如demo-quickstart-6.loaded.json
-
XXX.parsed.json
:测试用例解析后的数据结构内容,解析内容包括测试用例引用(API/testcase)、变量计算和替换、base_url 拼接等,例如demo-quickstart-6.parsed.json
-
XXX.summary.json
:测试报告生成前的数据结构内容,例如demo-quickstart-6.summary.json