當前位置:編程學習大全網 - 圖片素材 - 性能測試利器-Locust框架解析

性能測試利器-Locust框架解析

本文章出自碼同學軟件測試

碼同學公眾號:自動化軟件測試

碼同學抖音號:小碼哥聊軟件測試

1

認識Locust

說起性能測試工具,大家肯定想到的都是Jmeter,是的,由於其簡單易用、功能強大,已經變成主流的壓測工具之壹。當需要實現壹些高級功能的時候,可以使用Java語言對Jmeter進行擴展。

但是很多小夥伴只會Python,不會Java,可不可使用Python語言來做性能測試呢?答案是肯定的,今我們就來介紹下基於Python的強大的性能測試框架Locust。

Locust直譯是“蝗蟲”的意思,意在壓測時產生的壓力就像是漫天蝗蟲壹樣,鋪天蓋地。Locust是用Python實現的開源性能測試框架,不同於其他壓測工具基於進程/線程產生壓力,Locust是完全基於事件,支持分布式,壹個Locust節點可以在壹個進程中輕松支持上千並發用戶。從這壹點來看,它的設計思路要遠優於Jmeter、Loadrunner之類的工具。

2

Locust環境搭建

1、安裝Python,建議使用Python3.6+

2、安裝Locust及其依賴:pip3 install -i /simple locust

3、驗證是否安裝成功,執行命令:locust -V,如果能看到版本信息,即代表安裝成功

3

Locust腳本編寫

不同於Jmeter的界面化腳本配置,Locust的腳本需要完全寫Python代碼,雖然從壹定程度提高了腳本編 寫的門檻,但是對於熟悉Python的人來說還是比較簡單的,況且自己寫代碼的話,腳本的靈活性更高。

Locust腳本就是壹個普通的Python文件,但是在腳本中必須先定義壹個類,然後繼承Locust提供的壹個HttpUser類。在測試類裏,將壓測的請求封裝到壹個函數裏,壹個簡單的Locust腳本就完成了。

看個實際的例子,比如現在要測試這樣壹個接口

URL: http://192.168.2.130:8080/pinter/login

參數:userName=admin&password=1234

在上面腳本中,login_test是自定義的測試函數,函數上添加了壹個裝飾器@task,標明此函數是需要

Locust並發執行。在函數內調用了父類的client對象中post方法,發起了壹次HTTP post請求。

在MyTest類裏,必須添加壹個wait_time屬性,此屬性設置了循環調用login_test之間的等待時間,

between(1,1)代表等待時間為1秒

4

Locust腳本運行

免費領取 碼同學軟件測試 課程筆記+超多學習資料+完整視頻+最新面試題,可以 轉發文章 + 私信「碼同學666」獲取資料哦

腳本寫好後,需要在命令行上去運行Locust腳本,在cmd下(或者Mac的終端、Linux命令行),進入到腳本目錄,執行命令

然後在瀏覽器上訪問URL: http://localhost:8089/ ,就可以打開Locust的壓測控制頁面

5

Locust壓測執行

在Locust的壓測控制頁面打開後,就可以針對腳本做壹些壓測的配置了,比如並發數,壓測持續時間,

host等,其中:

Number of total users to simulate: 並發數,代表模擬了多少虛擬用戶

Hatch rate: 每秒產生的用戶數

Host: 目標服務器的ip或域名

點擊"Start swarming",即可開始壓測,在web頁面會上統計出實時的性能匯總數據

字段解釋

TPS和響應時間曲線圖

好啦,關於Locust的入門,今天就介紹這麽多啦,後續會繼續介紹Locust的高級特性和詳細功能,敬請期待!

本文著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並註明出處。

  • 上一篇:如何在臺式機硬盤上直接重裝系統?
  • 下一篇:十二生肖總動員全集
  • copyright 2024編程學習大全網