Locust学习笔记7——no-web模式运行脚本

  引言

  咱们知道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模式

  在没有Web UI的状况下运行locust - 能够打开cmd 经过使用--no-web参数,web

  • -c指定要生成的Locust用户数
  • -r每秒启动虚拟用户数

  先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,能够参考如下时间格式并发

  • 10s 10秒(不写单位默认s)
  • 5m 表示5分钟
  • 1h 1小时
  • 1m30s 1分30秒

 

  导出CSV格式报告

  您可能但愿经过CSV文件保存的Locus结果。在这种状况下,有两种方法能够作到这一点。分布式

  首先,使用Web UI运行Locust时,您能够在“下载数据”选项卡下点击下载CSV文件。性能

  • Download request statistics CSV
  • Download response time stats history CSV
  • Download failures CSV
  • Download exceptions 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模式运行已经讲完,对软件测试,自动化测试,测试开发及安全测试感兴趣的小伙伴,能够入群一块儿学习和讨论。

相关文章
相关标签/搜索