斗转星移,时间已经进入2020年,在2020年5月26日,locust也进入了 ’1‘版本时代。
有用过locust的,应该都知道,以前locust的版本号都是0开头,那现在这个1.0.*版本与以前的版本有些什么区别呢?
安装的命令已经统一为
如果使用 locustio,则必须指定以前0开头的版本,不然安装会报错。
参数对比:
1、把Locust类,重命名为User, HttpLocust类,重命名为HttpUser, TaskSet类属性locust重命名为user
2、可以在继承User类下,直接使用@task装饰器
3、以前Locust类中的task_set属性,已经被移除,现在改用User类中的tasks属性,且tasks的写法只能是列表,或字典
4、增加了tag标签,在执行时,可以用 -T --tags 指定标签执行、-E --exclude-tags排除指定标签执行
5、环境变量发生变化
LOCUST_MASTER 重命名为 LOCUST_MODE_MASTER
LOCUST_SLAVE 重命名为 LOCUST_MODE_WORKER
LOCUST_MASTER_PORT 重命名为 LOCUST_MASTER_NODE_PORT
LOCSUT_MASTER_HOST 重命名为 LOCUST_MASTER_NODE_HOST
CSVFILEBASE 重命名为 LOCUST_CSV
6、分布式中,助攻进程的参数,由 --slave \ expect-slaves 更改为 --worker \ --expect-workers
7、无图形模式启动参数,由 --no-web 更改为 --headless
8、移除了 Locust.setup、 Locust.teardown、 TaskSet.setup、 TaskSet.teardown,改用 on_test_start、on_test_stop
9、以前的顺利类 TaskSequence 和 顺序装饰器@seq_task 已经全包变更为 SequentialTaskSet。
这个顺序类,将忽略任务的权重。任务的执行顺序,以任务的声明顺序来执行
10、运行数据记录,csv文件,表头发生变化,增加统计,使表头意思更清晰明了
11、结果写入csv文件的参数 --csv-base-name 已经被移除
12、控制台日志,不在用标准输出stdout(或标准错误输出stderr),要输出日志,可以直接用print()进行输出,也可以用logging模块,定义日志
已经知道locust1.* 版本与以前locust 0.* 版本区别了,是不是就想要一个脚本模板呢?下面就给大家一个脚本模板,供大家参考: