本文內容來自「天外歸雲」大神,原文連接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