斗轉星移,時間已經進入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.* 版本區別了,是不是就想要一個腳本模板呢?下面就給大家一個腳本模板,供大家參考:
