咱们知道Jmeter能够用命令去运行脚本,叫作非GUI模式。而Locust一样也有非GUI模式,不过叫作no-web模式运行,windows系统下也是dos下执行命令。python
locust参数选项: -h, --help 帮助信息 -H HOST, --host=HOST 指定被测试的主机,以下格式: http://10.21.32.33 --web-host=WEB_HOST 指定运行 Locust Web 页面的主机. Defaults to '' (all interfaces) -P PORT, --port=PORT, --web-port=PORT 指定 –web-host 的端口,默认是8089 -f LOCUSTFILE, --locustfile=LOCUSTFILE 指定运行 Locust 性能测试文件,如 '../other.py'. 默认: locustfile --csv=CSVFILEBASE, --csv-base-name=CSVFILEBASE 以CSV格式存储当前请求测试数据.csv文件存放当前目录 --master 将locast设置为以该进程为主进程的分布式模式运行 --slave 将locast设置为以分布式模式运行,并将此进程做为从属进程 --master-host=MASTER_HOST 用于分布式负载测试的ocast master的主机或IP地址。仅在与一块儿运行时使用 --slave. Defaults to 127.0.0.1. --master-port=MASTER_PORT 要链接到该端口的端口由用于分布式负载测试的ocast master使用。仅在运行时使用--slave。默认值为5557。请注意,从服务器还将链接到此端口+1上的主节点。 --master-bind-host=MASTER_BIND_HOST locust主机应绑定到的接口(主机名、IP)。仅在与--master一块儿运行时使用。默认为*(全部可用接口)。 --master-bind-port=MASTER_BIND_PORT locust主机指定端口。仅在与--master一块儿运行时使用。默认值为5557。请注意,locast还将使用这个端口+1,所以在默认状况下,主节点将绑定到5557和5558。 --heartbeat-liveness=HEARTBEAT_LIVENESS set number of seconds before failed heartbeat from slave --heartbeat-interval=HEARTBEAT_INTERVAL set number of seconds delay between slave heartbeats to master --expect-slaves=EXPECT_SLAVES 在开始测试以前,须要链接多少个从属主机(仅 --no-web 使用). --no-web 禁用Web界面,而后当即开始运行测试。要求指定-c和-r. -c NUM_CLIENTS, --clients=NUM_CLIENTS 并发用户数. Only used togetherwith --no-web -r HATCH_RATE, --hatch-rate=HATCH_RATE 每秒生成用户的速率. 和--no-web一块儿使用 -t RUN_TIME, --run-time=RUN_TIME 在指定时间后中止, 如 (300s,20m, 3h, 1h30m, etc.). 和--no-web一块儿使用 -L LOGLEVEL, --loglevel=LOGLEVEL 日志等级(DEBUG/INFO/WARNING/ERROR/CRITICAL.默认INFO.) --logfile=LOGFILE 日志文件的路径。若是未设置,日志将转到stdout/stderr --print-stats 在控制台中打印统计信息 --only-summary 只打印摘要统计信息 --no-reset-stats [DEPRECATED] Do not reset statistics once hatching has been completed. This is now the default behavior. See --reset-stats to disable --reset-stats Reset statistics once hatching has been completed. Should be set on both master and slaves when running in distributed mode -l, --list 显示可能的locust类列表并退出 --show-task-ratio 打印locust类任务执行率表 print table of the locust classes' task execution ratio --show-task-ratio-json 打印locust类任务执行率的JSON数据 -V, --version locust版本
在没有Web UI的状况下运行locust - 能够打开cmd 经过使用--no-web参数,web
先cd到脚本当前目录,而后执行指令:json
locust -f locust_batch_data.py --no-web -c 1 -r 1
备注:这里的脚本用的是上篇文章讲的,这里就再也不重复了。windows
若是要指定测试的运行时间,可使用--run-time安全
locust -f locust_batch_data.py --no-web -c 1 -r 1 --run-time 10
或使用-t参数服务器
locust -f locust_batch_data.py --no-web -c 1 -r 1 -t 10
运行时间单位,若是不写单位默认是s,也能够指定小时h,分钟m,能够参考如下时间格式并发
您可能但愿经过CSV文件保存的Locus结果。在这种状况下,有两种方法能够作到这一点。分布式
首先,使用Web UI运行Locust时,您能够在“下载数据”选项卡下点击下载CSV文件。性能
若是是界面的话,就以下图所示:学习
也能够可使用命令行志--no-web模式运行Locust,加上--csv=example参数保存前面两个CSV文件。
–csv=example:example为CSV文件名的前缀;能够自行命名,如:result_csv
locust -f locust_batch_data.py --no-web --csv=example -c 1 -r 1 -t 10
使用--csv=example会自动保存两个文件到当前脚本目录example_distribution.csv、example_stats.csv:
将example_stats.csv打开效果展现:
Locust带有基本的日志记录配置,能够选择采用–loglevel和/或–logfile修改配置。若是要控制日志记录配置,则能够提供该–skip-log-setup标志,该标志将忽略其余参数。
参数说明:
--skip-log-setup:禁用日志记录设置。可是能够由python提供日志功能;
locust -f locust_batch_data.py --no-web --csv=example -c 1 -r 1 -t 10 --skip-log-setup
--loglevel:设置日志的级别;能够设置为 DEBUG/INFO/WARNING/ERROR/CRITICAL。默认的为info级别;简写为 -L
--logfile:日志文件的路径,若是不设置,则显示在命令提示界面:
打开locust.log文件,查看:
locust非GUI模式运行已经讲完,对软件测试,自动化测试,测试开发及安全测试感兴趣的小伙伴,能够入群一块儿学习和讨论。