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


      引言

      我们知道Jmeter可以用命令去运行脚本,叫做非GUI模式。而Locust同样也有非GUI模式,不过叫做no-web模式运行,windows系统下也是dos下执行命令。

      命令详情

    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参数,

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

      先cd到脚本当前目录,然后执行指令:

    locust -f locust_batch_data.py --no-web -c 1 -r 1

       备注:这里的脚本用的是上篇文章讲的,这里就不再重复了。

      设置运行时间

      如果要指定测试的运行时间,可以使用--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模式运行已经讲完,对软件测试,自动化测试,测试开发及安全测试感兴趣的小伙伴,可以入群一起学习和讨论。

  • 相关阅读:
    Linux系统下公式编辑器KLatexFormula
    C++11 std::chrono库详解
    Direct Visual-Inertial Odometry with Stereo Cameras
    改变机器人的初始位姿,让机器人的初始位置不在地图的原点处
    ubuntu为文件添加可执行权限
    oracle的启动和停用
    orcale创建用户、授权
    手工配置oracle数据库
    MySQL存储过程详解 mysql 存储过程
    mysql的navicat执行存储过程
  • 原文地址:https://www.cnblogs.com/liudinglong/p/13199354.html
Copyright © 2020-2023  润新知