今天安裝了一天的locust,最后在要放棄的時候,突然就成功了,讓我松了一口氣,唉,好事多磨哦。現在將我遇到的坑寫出來,給各位同樣踩坑的童鞋一個參考。
首先,簡單介紹下locust,它是一款開源負載測試工具。這個工具是否適合你,要根據實際情況來看,如果你對編程了解比較多,有一定的編程能力和邏輯思維能力,那么選擇locust,可以完全替代jmeter。如果編程能力較弱,那還是建議選擇jmeter吧,畢竟jmeter是用組件來編寫腳本。而locust是基於時間,通過python代碼完成測試腳本,監控和測試結果展示都有局限性,需要二次開發。
然后,說說我的locust的安裝之旅,就這樣艱難的開始了,我知道locust是和python搭檔,所以我預先安裝python,我之前安裝過python,安裝包還在,就直接安裝了,安裝成功之后,發現是32位的,但是完全可用,就沒管它。接着按照locust的安裝步驟來安裝,在運行窗口敲代碼 pip install locustio,安裝失敗,我首先想到的是python和我的系統不匹配造成的,於是我就把剛才安裝的32位的卸載了,又去官網下載了,最新版本的python。重新安裝了之后,還是不成功,百度了一下,好多人說可能不支持這個版本,好嘛,繼續去下載了python3.8。結果問題依然存在,我就確定不是python版本問題了,還是針對報錯來解決吧。但是網上有搜不到原因,很多說的都是只言片語,根本解決不了我的問題。我就根據報錯信息,加上我的理解,再加上百度,一點一點的修正。
一、安裝篇
pip install locustio,出現如圖的錯誤,提示沒有wheel包,也就是沒有安裝wheel.
安裝wheel,pip install wheel,這個倒是很快就安裝了。
接着安裝locust,因為下載慢會導致失敗,所以加了源地址 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple locustio
提示沒有安裝VC++組件,就去下載安裝了VC++,這個下載地址提供給大家,安裝就是傻瓜式安裝,下一步,下一步就可以了。不過比較占空間,沒報這個就不要安裝。
資源鏈接:https://pan.baidu.com/s/1YMOaTZzS-gthZkqfD0H8ow 提取碼:rk7s
再次安裝,還是報錯
百度了一下,需要升級,pip install -U setuptools
升級成功之后,用這個命令安裝 pip install -U --pre locustio,開始因為網速慢,導致失敗,如圖
后面又運行了一次,網速跟上了,但是版本不匹配
在運行的時候,加上了版本號。pip install -i https://pypi.tuna.tsinghua.edu.cn/simple locustio==0.13.5
終於沒有報錯,安裝成功了。
最后,總結一下,最好還是根據安裝錯誤提示來修正,網上的方法很多,但都只言片語,不一定就適合你的環境。至於別人說的支持什么版本,其實,根據我的經驗看,現在沒有那么多的限制,只要和自己的操作系統匹配,可用就行。如果需要分布式測試的話,還要安裝 pip install pyzmq。
二、調試篇
1、在使用中,如果導入以下類
from locust import HttpLocust
被告知:
ImportError: The HttpLocust class has been renamed to HttpUser in version 1.0.
應當需要修改為:
from locust import HttpUser
2、運行腳本
出現如下報錯
注意:此處的 task_set = UserBehavior
,
從版本1.0開始,就不支持使用 task_set進行實例化,可能是和內部的一些重名了吧……
所以要改一下,比如 task_create = UserBehavior
等等能成功運行的。
三、啟動locust
在運行窗口,啟動locust
在瀏覽器輸入http://127.0.0.1:8089訪問不了的話,就用http://localhost:8089/