httprunner学习15-运行用例命令行参数详解
前言
HttpRunner 在命令行中启动测试时,通过指定参数,可实现丰富的测试特性控制。
命令行参数CLI
使用 -h 查看相关命令行参数
hrun -h
| 参数名称 | 参数值 | 参数说明 |
|---|---|---|
| -h, --help | 不带参数 | 查看帮助信息 |
| -V, --version | 不带参数 | 查看版本号 |
| --no-html-report | 不带参数 | 不生成测试报告 |
| --html-report-name | HTML_REPORT_NAM | 重命名html报告名称 |
| --html-report-template | HTML_REPORT_TEMPLATE | 自定义html报告模板,参数带上html模板的信息路径 |
| --log-level | LOG_LEVEL | 日志等级,如:debug |
| --log-file | LOG_FILE | 指定日志文本保存路径 |
| --dot-env-path | DOT_ENV_PATH | 指定环境变量.env的详细路径 |
| --failfast | 不带参数 | 运到失败后停止测试 |
| --startproject | STARTPROJECT | 指定项目的根目录 |
| --validate | [VALIDATE [VALIDATE ...]] | 校验json格式 |
| --prettify | [PRETTIFY [PRETTIFY ...]] | 各式化json文件 |
--no-html-report
不生成html报告,使用--no-html-report
hrun test_demo.yml --no-html-report
这样运行的时候,就不会生成html报告
D:\soft\untitled>hrun test_demo.yml --no-html-report
test_demo case1
INFO GET http://127.0.0.1:8000/api/test/demo
INFO status_code: 200, response_time(ms): 4.96 ms, response_length: 255 bytes
INFO start to extract from response object.
INFO start to validate.
.
----------------------------------------------------------------------
Ran 1 test in 0.014s
OK
--html-report-name
--html-report-name 用于指定测试报告的名称
hrun test_demo.yml --html-report-name yoyo
这样运行之后,会再当前的report目录下,生成一个yoyo的文件夹

--html-report-template
自定义测试报告模板,后面参数是模板报告的绝对路径
hrun test_demo.yml --html-report-template /path/templates/extent_report_template.html
如果指定报告名称的话,需要修改源码,详情参考httprunner学习10-测试报告ExtentReport
--log-level
打印日志等级,使用--log-level参数,日志有五个等级:debug < info < warn < error < critical
各等级的含义:
- debug: 级别最低,用户开发过程中的调试
- info:打印程序运行是的正常的信息,用于替代print输出
- warn: 打印警告信息,不影响程序的运行
- error: 程序运行出错,可以修复,常用在except异常捕获之后
- critical: 非常严重,无法修复,程序继续运行的话后果非常严重
设置了日志等级后,调用比等级低的日志记录函数则不会输出。
httprunner默认使用info等级,不带 --log-level info 参数结果也是一样的
hrun test_demo.yml --log-level info
设置debug等级,打印最详细的内容
hrun test_demo.yml --log-level debug
另外三个等级warn/error/critical,只有有警告或者报错时候,才有日志输出,所以用的很少
D:\soft\untitled>hrun test_demo.yml --log-level warn
test_demo case1
.
----------------------------------------------------------------------
Ran 1 test in 0.006s
OK
D:\soft\untitled>hrun test_demo.yml --log-level error
test_demo case1
.
----------------------------------------------------------------------
Ran 1 test in 0.006s
OK
D:\soft\untitled>hrun test_demo.yml --log-level critical
test_demo case1
.
----------------------------------------------------------------------
Ran 1 test in 0.007s
OK
--log-file
--log-file 参数保存日志文件到指定的目录,保存日志文件到yoyo.txt
hrun test_demo.yml --log-file yoyo.txt
在当前运行的目录,会生成一个yoyo.txt文件
2019-09-28 22:43:11,492 - INFO - [32mGET http://127.0.0.1:8000/api/test/demo
2019-09-28 22:43:11,498 - INFO - [32mstatus_code: 200, response_time(ms): 6.0 ms, response_length: 255 bytes
2019-09-28 22:43:11,498 - INFO - [32mstart to extract from response object.
2019-09-28 22:43:11,498 - INFO - [32mstart to validate.
2019-09-28 22:43:11,503 - INFO - [32mStart to render Html report ...
2019-09-28 22:43:11,578 - INFO - [32mGenerated Html report: D:\soft\untitled\reports\1569681791.html
由于日志的输出有加颜色,所以保存的时候会有一些乱码,我稍微改了下httprunner/logger.py文件的日志内容,但还是有一点乱码
def setup_logger(log_level, log_file=None):
"""setup root logger with ColoredFormatter."""
level = getattr(logging, log_level.upper(), None)
if not level:
color_print("Invalid log level: %s" % log_level, "RED")
sys.exit(1)
# hide traceback when log level is INFO/WARNING/ERROR/CRITICAL
if level >= logging.INFO:
sys.tracebacklimit = 0
formatter = ColoredFormatter(
u"%(log_color)s%(bg_white)s%(levelname)-8s%(reset)s %(message)s",
datefmt=None,
reset=True,
log_colors=log_colors_config
)
if log_file:
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') # 加了这句
handler = logging.FileHandler(log_file, encoding='utf-8')
else:
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logging.root.addHandler(handler)
logging.root.setLevel(level)
其它
--dot-env-path 用于指定.env文件的目录
hrun test_demo.yml --dot-env-path d:\path\to.env
--failfast 遇到失败停止测试
hrun test_demo.yml --failfast
--validate 校验json格式,格式正确返回OK,若 JSON 文件格式存在异常,则打印详细的报错信息,精确到错误在文件中出现的行和列。
hrun --validate test_login2.json
--prettify 用于格式化json文件内容
hrun --prettify test_login2.json
D:\soft\untitled>hrun --validate test_login2.json
Start to validate JSON file: test_login2.json
OK
D:\soft\untitled>hrun --prettify test_login2.json
Start to prettify JSON file: test_login2.json
success: test_login2.pretty.json
httprunner学习15-运行用例命令行参数详解的更多相关文章
- VLC命令行参数详解
VLC命令行参数详解 2012-11-29 14:00 6859人阅读 评论(0) 收藏 举报 Usage: vlc [options] [stream] ...You can specify mul ...
- 自定义实现InputFormat、OutputFormat、输出到多个文件目录中去、hadoop1.x api写单词计数的例子、运行时接收命令行参数,代码例子
一:自定义实现InputFormat *数据源来自于内存 *1.InputFormat是用于处理各种数据源的,下面是实现InputFormat,数据源是来自于内存. *1.1 在程序的job.setI ...
- 【转载】Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解
Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解 1清风揽月10人评论5006人阅读2017-06-21 15:48:43 博文说明[前言]: 本文 ...
- 以太坊客户端Geth命令用法-参数详解
Geth在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具. 熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册. 本文主要是对geth help的翻译 ...
- free命令常用参数详解
free命令常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在运维期间我们会经常去查看服务器硬件信息,比如说内存,大家可能知道看内存用“[root@yinzhengji ...
- [转帖]XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件
XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件 https://www.cnblogs.com/smartsmile/p/7665979.html xcopy dirA dir ...
- 运行FreeSWITCH的命令行参数
一般来说,FreeSWITCH 不需要任何命令行参数就可以启动,但在某些情况下,你需要以一些特殊的参数启动.在此,仅作简单介绍.如果你知道是什么意思,那么你就可以使用,如果不知道,多半你用不到. 使用 ...
- Java之jdk命令行工具详解
JPS---虚拟机进程状况工具 常用的参数: -l 输出Java应用程序的main class的完整包 -q 仅显示pid,不显示其它任何相关信息 -m 输出传递给main方法的参数 -v 输出传递给 ...
- linux-linux top 命令各参数详解
简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...
随机推荐
- Prometheus 介绍
我们知道zabbix在监控界占有不可撼动的地位,功能强大.但是对容器监控显得力不从心.为解决监控容器的问题,引入了prometheus技术.prometheus号称是下一代监控.接下来的文章打算围绕p ...
- Pycharm 个人认为舒服漂亮又好用的主题风格
又开始和code打交道了系列…… 实验室换了新电脑,故而,重新安装了各种软件,乃至重新配置 Pycharm主题,找了好久,终于找到,想着应该mark一下,以备下次需要. 个人认为 Monokai 这 ...
- 【转】JavaScript 高性能数组去重
原文地址:https://www.cnblogs.com/wisewrong/p/9642264.html 一.测试模版 数组去重是一个老生常谈的问题,网上流传着有各种各样的解法 为了测试这些解法的性 ...
- .Net Core 基于 SnmpSharpNet 开发
SNMP简介(百度百科): SNMP 是专门设计用于在 IP 网络管理网络节点(服务器.工作站.路由器.交换机及HUBS等)的一种标准协议,它是一种应用层协议. SNMP 使网络管理员能够管理网络效能 ...
- TP5接口开发之异常处理接管
前几天在开发的时候用到了第三方的扩展包,使用过程中第三方扩展包抛出了异常 因为这边是接口开发,需要返回错误代码以及提示信息等,所以就需要接管异常处理. 此文章只做笔记,有不对或不详细的地方欢迎大家留言 ...
- GO中标识符,标识符,变量,常量,iota
参考:https://www.cnblogs.com/nickchen121/p/11517455.html 一.标识符与关键字 1.标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变 ...
- .NET下使用HTTP请求的正确姿势
来源:Lewis.Zou cnblogs.com/modestmt/p/7724821.html 一.前言 去年9月份的时候我看到过外国朋友关于.NET Framework下HttpClient缺陷的 ...
- .NET Core如何使用NLog
1.新建ASP.NET Core项目 1.1选择项目 1.2选择.Net版本 2. 添加NLog插件 2.1 通过Nuget安装 2.2下载相关的插件 3.修改NLog配置文件 3.1添加NLog配置 ...
- python利用dijkstra算法求解图中最短距离
利用dijkstra算法,来完成图中两个顶点间最短的距离,可以直接复制使用,只需要修改参数即可 def dijkstra_raw(edges, from_node, to_node): "& ...
- python实现Huffman编码
一.问题 利用二叉树的结构对Huffman树进行编码,实现最短编码 二.解决 # 构建节点类 class TreeNode: def __init__(self, data): "" ...