Locust性能-零基礎入門系列(16)-JMeter用戶福音

可能之前很多同學對JMeter比較熟悉,反而對Locust接觸比較少。大家知道在使用JMeter進行web性能測試時,可以利用其錄製的功能,從而減少其工作量。而轉移到Locust這款工具時,發現要直接寫python腳本去實現要模擬的性能場景。其實Locust也有類似錄製的功能,現介紹如下:

比如我們要實現一個功能,打開一篇博客文章。https://blog.51cto.com/13734261/2540530, 那怎麼用錄製的思維方式去實現呢? 當然了這個例子很簡單,可能有同學覺得沒必要走錄製的情況,直接去實現一個HTTP request就可以了。是的,但是如果需求是模擬打開這篇博客文章的所有的請求,包括相關的圖片,JS, CSS請求。那麼錄製的思維就比較好了,即使只是一個http請求,一個個去實現起來也是比較費事的。

實現步驟主要分爲幾步:

1> 在瀏覽器中打開dev tool 去network tab頁面去抓取頁面請求,然後將顯示結果保存爲.har文件。抓取到的頁面請求細節如下圖所示,其中第一爲主請求。

Locust性能-零基礎入門系列(16)-JMeter用戶福音

2> 將 .har 文件轉換成locust file格式(.py):

首先大家可以參考python給出了這個轉換器模塊,在Python環境中可以安裝使用,官網地址爲: https://pypi.org/project/har-transformer/

2.1> 首先安裝相應的python模塊,安裝命令爲:

pip install har-transformer

2.2> 執行轉換操作,具體如下,其中"blog.51cto.com.har"是之前保存的.har文件名稱。

transformer blog.51cto.com.har > har_locust_file.py

2.3> 轉換locust file腳本如下(部分截圖),其實發現,其實轉換器偵測到requests需要遵循一定的sequence順序,具體如腳本。
Locust性能-零基礎入門系列(16)-JMeter用戶福音

3> 運行測試,此時可以按照locust file運行性能測試即可,運行命令可以爲:

locust -f har_locust_file.py

運行結果如下:
Locust性能-零基礎入門系列(16)-JMeter用戶福音

大家可以按照文中步驟練習,如有問題,請留言。

Locust性能-零基礎入門系列(16)-JMeter用戶福音

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章