一鍵壓測工具改造(locust)

本文內容來自「天外歸雲」大神,原文連接http://www.cnblogs.com/LanTianYou/p/5987741.html,目前只對啓動腳本作了一些改造,應該說是,不適用powershell腳本,而使用bat批處理文件執行。之因此這麼作,是考慮到powershell腳本運行權限默認沒有開啓,再者,開啓了以後存在必定的風險。故作了這個簡單的改造。html

結構目錄以下:python

原來使用的是start.sp1啓動腳本,用來調用start_locust.py,然後再由start_locust.py啓動locust並載入用例locust_test.pyshell

原powershell腳本以下:django

如今要作的是,使用bat批處理文件實現相同功能。其實查看代碼,比較簡單,就是讓用戶傳入兩個參數,而後再將參數傳給啓動locust的腳本。知道怎麼作了,就好辦了,bat批處理文件腳本是經過set /p來傳入參數的,那麼稍微改下就行了。新建文本,重命名爲start.bat。右鍵編輯。寫入代碼以下:json

其實此時功能已經實現,但算不上完美,全部再加點提示,體驗就更好了。flask

好比輸入爲空提示,爲窗口加上標題、時間,運維

@echo off
:menu
echo 使用說明:
echo 先輸入須要壓測的網站host,在輸入路由,即會自動打開頁面、進行壓力測試
:start1
title 這是一個一鍵壓測工具,如今時間是:%time%
echo 第一步,請先輸入壓測網站host(例如:http://www.cnblogs.com)
set /p a=:
if "%a%" == "" goto sorry1
echo 您輸入的壓測host是:%a%

:start2
title 這是一個一鍵壓測工具,如今時間是:%time%
echo 第二步,而後再輸入壓測網站host後的路由(例如:/mikasama)
set /p b=:
if "%b%" == "" goto sorry2
echo 您輸入的壓測路由是:%b%

python .\start_locust.py %a% %b%
pause
goto end

:sorry1
echo Warnning!!!Please enter the host!(eg:http://www.cnblogs.com)
goto start1

:sorry2
echo Warnning!!!Please enter the rout!(eg:/mikasama)
goto start2

:end
echo 不要瞎點,已經開始測試了

 效果以下:工具

好了,如今能夠愉快的玩耍了。注意,目前這個工具只針對單個頁面進行壓力測試,下一篇再講如何將locust做爲生產力工具,實現關聯測試,各類場景如多用戶每一個用戶只執行一次、多用戶使用不用參數進行測試等等。post

=====================================locust第一部分已完結================================性能

 

有個想法,也不知道可不可行,用django搭建一個性能測試平臺,將locust整合進去。只要點點點就能夠進行壓力測試,不過聽起來有點像是在造輪子,畢竟接口測試的工具實在太多了,好比postman、jmeter等。試想一下,好比我想測試一個接口,先不考慮驗籤等問題,它須要傳5個參數,其中有個參數須要傳大量不一樣數據,如今我只須要將固定的參數填上,而那個須要大量數據的參數,它的value我點擊下上傳按鈕,將已經準備好的csv、excel或者json,都好,上傳完畢,選擇壓力測試運行模式(施壓模式,如全部虛擬用戶循環使用數據、每一個用戶只能使用一個等等),點擊start按鈕,開始壓測,並自動跳轉到對應監控頁面。雖然只是想一想,但感受好激動啊,一旦實現了,那作起性能測試來,太方便啦。並且還能夠設計一個接口出來,用來修改腳本,定時器什麼的確定要的,只要有腦洞,均可以作上去吧。

靈感來自於公司運維同窗正在作的自動化運維平臺,整個運維過程,只要點點點,這種思想其實應該算是來自jenkin吧。當我發現他們正在作這個的時候,特別興奮,也許,性能測試也能夠這麼整,因而有了上面的「胡思亂想」。不管如何,試試吧。記在這裏,不要忘了此想法,儘快實現。

有個疑問,locust是基於flask的,那麼搭這平臺用django仍是flask呢?打住打住,不要想了,請先動手,謝謝。

 時間:20180127

相關文章
相關標籤/搜索