引言
前面在Locust学习笔记7——no-web模式运行脚本这篇文章中已经讲过非GUI模式运行脚本,也就是在windows系统下以命令的方式去运行脚本。而Linux系统也是使用no-web方式运行。所以,我们要了解哪些命令。
命令行参数
最简单的方式,输入cmd,再dos窗口下输入locust --help,查看所有的命令行参数
locust --help usage: locust [-h] [-H HOST] [--web-host WEB_HOST] [-P PORT] [-f LOCUSTFILE] [--csv CSVFILEBASE] [--csv-full-history] [--master] [--slave] [--master-host MASTER_HOST] [--master-port MASTER_PORT] [--master-bind-host MASTER_BIND_HOST] [--master-bind-port MASTER_BIND_PORT] [--heartbeat-liveness HEARTBEAT_LIVENESS] [--heartbeat-interval HEARTBEAT_INTERVAL] [--expect-slaves EXPECT_SLAVES] [--no-web] [-c NUM_CLIENTS] [-r HATCH_RATE] [-t RUN_TIME] [--skip-log-setup] [--step-load] [--step-clients STEP_CLIENTS] [--step-time STEP_TIME] [--loglevel LOGLEVEL] [--logfile LOGFILE] [--print-stats] [--only-summary] [--no-reset-stats] [--reset-stats] [-l] [--show-task-ratio] [--show-task-ratio-json] [-V] [--exit-code-on-error EXIT_CODE_ON_ERROR] [-s STOP_TIMEOUT] [LocustClass [LocustClass ...]] Args that start with '--' (eg. -H) can also be set in a config file (~/.locust.conf or locust.conf). Config file syntax allows: key=value, flag=true, stuff=[a,b,c] (for details, see syntax at https://goo.gl/R74nmi). If an arg is specified in more than one place, then commandline values override config file values which override defaults. positional arguments: LocustClass optional arguments: -h, --help show this help message and exit -H HOST, --host HOST Host to load test in the following format: http://10.21.32.33 --web-host WEB_HOST Host to bind the web interface to. Defaults to '' (all interfaces) -P PORT, --port PORT, --web-port PORT Port on which to run web host -f LOCUSTFILE, --locustfile LOCUSTFILE Python module file to import, e.g. '../other.py'. Default: locustfile --csv CSVFILEBASE, --csv-base-name CSVFILEBASE Store current request stats to files in CSV format. --csv-full-history Store each stats entry in CSV format to _stats_history.csv file --master Set locust to run in distributed mode with this process as master --slave Set locust to run in distributed mode with this process as slave --master-host MASTER_HOST Host or IP address of locust master for distributed load testing. Only used when running with --slave. Defaults to 127.0.0.1. --master-port MASTER_PORT The port to connect to that is used by the locust master for distributed load testing. Only used when running with --slave. Defaults to 5557. --master-bind-host MASTER_BIND_HOST Interfaces (hostname, ip) that locust master should bind to. Only used when running with --master. Defaults to * (all available interfaces). --master-bind-port MASTER_BIND_PORT Port that locust master should bind to. Only used when running with --master. Defaults to 5557. --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 How many slaves master should expect to connect before starting the test (only when --no-web used). --no-web Disable the web interface, and instead start running the test immediately. Requires -c and -t to be specified. -c NUM_CLIENTS, --clients NUM_CLIENTS Number of concurrent Locust users. Only used together with --no-web -r HATCH_RATE, --hatch-rate HATCH_RATE The rate per second in which clients are spawned. Only used together with --no-web -t RUN_TIME, --run-time RUN_TIME Stop after the specified amount of time, e.g. (300s, 20m, 3h, 1h30m, etc.). Only used together with --no- web --skip-log-setup Disable Locust's logging setup. Instead, the configuration is provided by the Locust test or Python defaults. --step-load Enable Step Load mode to monitor how performance metrics varies when user load increases. Requires --step-clients and --step-time to be specified. --step-clients STEP_CLIENTS Client count to increase by step in Step Load mode. Only used together with --step-load --step-time STEP_TIME Step duration in Step Load mode, e.g. (300s, 20m, 3h, 1h30m, etc.). Only used together with --step-load --loglevel LOGLEVEL, -L LOGLEVEL Choose between DEBUG/INFO/WARNING/ERROR/CRITICAL. Default is INFO. --logfile LOGFILE Path to log file. If not set, log will go to stdout/stderr --print-stats Print stats in the console --only-summary Only print the summary stats --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 Show list of possible locust classes and exit --show-task-ratio print table of the locust classes' task execution ratio --show-task-ratio-json print json data of the locust classes' task execution ratio -V, --version show program's version number and exit --exit-code-on-error EXIT_CODE_ON_ERROR sets the exit code to post on error -s STOP_TIMEOUT, --stop-timeout STOP_TIMEOUT Number of seconds to wait for a simulated user to complete any executing task before exiting. Default is to terminate immediately. This parameter only needs to be specified for the master process when running Locust distributed.
你也可以在pycharm编辑器终端terminal输入:locust --help
参数中文说明
参数名称 | 参数值 | 参数说明 |
---|---|---|
-h, --help | 不带参数 | 查看帮助信息 |
-H HOST, –host=HOST | HOST | 指定被测试的主机,采用以格式:http://10.21.32.33 |
–web-host=WEB_HOST | WEB_HOST | 指定运行 Locust Web 页面的主机,默认为空 “。 |
-P PORT, –port=PORT, –web-port=PORT | PORT | 指定 –web-host 的端口,默认是8089 |
-f LOCUSTFILE, –locustfile=LOCUSTFILE | LOCUSTFILE | 指定运行 Locust 性能测试文件,默认为: locustfile.py |
–csv=CSVFILEBASE, –csv-base-name=CSVFILEBASE | CSVFILEBASE | 以CSV格式存储当前请求测试数据。 |
–master | 不带参数 | Locust 分布式模式使用,当前节点为 master 节点。 |
–slave | 不带参数 | Locust 分布式模式使用,当前节点为 slave 节点。 |
–master-host=MASTER_HOST | MASTER_HOST | 分布式模式运行,设置 master 节点的主机或 IP 地址,只在与 –slave 节点一起运行时使用,默认为:127.0.0.1. |
–master-port=MASTER_PORT | MASTER_PORT | 分布式模式运行, 设置 master 节点的端口号,只在与 –slave 节点一起运行时使用,默认为:5557。注意,slave 节点也将连接到这个端口+1 上的 master 节点。 |
–master-bind-host=MASTER_BIND_HOST | MASTER_BIND_HOST | 做分布式压测时,指定分机IP。只用于master。如果没有指定,默认是所有可用的IP(即所有标记主机IP的slave) |
–master-bind-port=MASTER_BIND_PORT | MASTER_BIND_PORT | 做分布式压测时,指定分机port。默认是5557与5558。 |
–no-web no-web | -c 和 -r 配合 | 模式运行测试,需要 -c 和 -r 配合使用. |
-c NUM_CLIENTS, –clients=NUM_CLIENTS | NUM_CLIENTS | 指定并发用户数,作用于 –no-web 模式。 |
-r HATCH_RATE, –hatch-rate=HATCH_RATE | HATCH_RATE | 指定每秒启动的用户数,作用于 –no-web 模式。 |
-t RUN_TIME, –run-time=RUN_TIME | RUN_TIME | 设置运行时间, 例如: (300s, 20m, 3h, 1h30m). 作用于 –no-web 模式。 |
-L LOGLEVEL, –loglevel=LOGLEVEL | LOGLEVEL | 选择 log 级别(DEBUG/INFO/WARNING/ERROR/CRITICAL). 默认是 INFO. |
–logfile=LOGFILE | LOGFILE | 日志文件路径。如果没有设置,日志将去 stdout/stderr |
–print-stats | 不带参数 | 在控制台中打印数据 |
–only-summary | 不带参数 | 只打印摘要统计 |
–no-reset-stats | 不带参数 | Do not reset statistics once hatching has been completed。 |
-l, –list | 不带参数 | 显示测试类, 配置 -f 参数使用 |
–show-task-ratio | 不带参数 | 打印 locust 测试类的任务执行比例,配合 -f 参数使用. |
–show-task-ratio-json | 不带参数 | 以 json 格式打印 locust 测试类的任务执行比例,配合 -f 参数使用. |
-V, –version | 不带参数 | 查看当前 Locust 工具的版本. |
总结
前面讲案例的时候也讲过命令详情,这里单独拎出来讲一下常用的一些命令,方便以后查阅。另外,对测试及测试开发感兴趣的,有思想的小伙伴们可以加入QQ群,一起学习与沟通。