近期准備學習自動化測試,各種網站逛了一群,發現呼聲最高的自動化測試工具是-locust.
what is locust?
locust官方文檔簡單翻譯一下就是:
- Locust 是一種易於使用、可編寫腳本且可擴展的性能測試工具。
- 您可以在常規 Python 代碼中定義用戶的行為,而不是停留在 UI 或限制性特定領域的語言中。
- 這使得 Locust 可以無限擴展並且對開發人員非常友好。
主要的特性:
- 用普通的 Python 編寫測試場景
- 分布式和可擴展 - 支持數十萬並發用戶
- 基於網絡的用戶界面
- 可以測試任何系統
- 可破解
How to Use?
注意:安裝locust之前需要python環境,且官方推薦安裝 Python 3.6 或更高版本
很早之前是有安裝python的,出於嚴謹還是使用命令行'python -V'又查看了一邊,dos控制台輸出的結果是 'Python 2.7.0'。突然一下覺得不對勁啊,我從學習python開始就是使用的python3,為什么系統會輸出python 2.7.0? 立馬我就想到了是不是環境變量沒設置或者設置出錯了?通過'less .bash_profile',清晰的看到是有設置python的環境變量
(注意:這是我修改完后才顯示python 3.7.0)
(可以看到我本地是有安裝python 3.7.0)
既然環境變量配置的是python3.7.0,為什么python -V展示的還是python 2.7.0?當時頭腦簡單的覺得是不是沒有執行'source .bash_profile'?可是執行完成后,‘python -V’結果仍為‘python 2.7.0’
網上檢索了一會,最后斷定與Mac版本已經環境變量配置有關。(個人頭鐵,每次mac有版本更新必更新)
首先執行‘python -m site’,發現關於python3.7的USER_BASE和USER_SITE均不存在。
繼續執行‘python -m site -help’
注意,這一步查看的內容甚是重要,site.py文件就是配置上面user_base和user_site的,所以我們需要編輯該文件。可是當我直接vi編輯並保存時,提示我‘permission denied!’。故此一定記住要用root權限編輯,即運行‘sudo vi **’,主要修改這三個地方,ENVALE_USER_SITE默認值為None
.而base路徑設置也很簡單,'python -m site -help'命令查看到的路徑就包含base路徑
只要base路徑確定好,site路徑也就好配置了。看上面‘python -m site’提示我們什么東西不存在?是不是就知道了,配置完后再和提示內容對比一下,進一步確認沒有配置錯。
設置完成后,執行‘python -m site’,查看配置是否成功
最后再執行‘python -V’查看環境變量配置是否成功
(這個就是最開始截圖的python准確版本)
python環境問題整完后,滿心歡喜安裝locust,安裝官方介紹的最簡單方式進行安裝‘ pip install locust’
帥不過三秒,dos控制台提示下面信息,然后就卡住了,不再往下執行(沒有截到當時的提醒,下圖是網絡上文字截圖)
意思很明白吧:就是你的pip版本是19.1.1,然而最新版的是可用的;嘗試使用‘python -m pip install --upgrade pip’進行更新。
毫不猶豫的執行了命令(因為我本地已經是最新版的,所以提示already satisfied)
如果你們沒有更新過,那么你們應該看到兩個信息‘successfully uninstall 老版本’,‘successfully intsall 新版本’
然后執行 ‘pip show pip’,可以發現pip版本和更新后顯示的時候一致的,同時查看location.也和我們上面設置的site-package一致。
安裝完畢,再次執行‘pip install locust’,沒有warnning提醒了(其實warning警告可以忽略,但我不知道為什么我的命令就是不往下走了),心情頓時大好,坐等pip安裝成功。
But你以為事情會這么順利嗎?在安裝gevent時,報錯了。應該是locust需要的依賴或環境安裝失敗了。
起初以為是網絡問題,試了兩次‘pip install locust’后,仍舊是pip install gevent這一步失敗了,而后又單獨執行‘pip install gevent’命令,最終還是失敗了。 在網上搜索了一會,很多人都反映有這個問題,安裝某一程序是,dos控制台在‘pip install gevent’這一步就失敗了,但是只要單獨在運行‘pip install gevent’就行。於是我半信半疑的再執行了一次‘pip install gevent’,還是失敗,最后找到了一個靠譜的答案‘python 安裝gevent 問題’,感謝這位老哥,只需要在執行‘pip install gevent’之前執行‘pip install wheel’就行。
gevent安裝完成后,懷着忐忑的心情,繼續執行‘pip install locust’,等了一會,終於安裝完成了。最后執行‘locust -V’,可以看到已是最新的2.5.1版本了。前前后后忙活了大半天,終於是把locust安裝成功了。
接下來就是參照官方文檔,寫些簡單的測試腳本。如果時間允許,會將后續的學習文章也分享到博客供大家學習交流