https://www.cnblogs.com/tiechui2015/p/10017801.html
近幾日一直在研究如何把接口自動化做的順暢,目前用的是輕量級jmeter+ant+Jenkins自動化測試框架,目前測試界的主流是python語言,所以一直想用搭建一個基於python的HttpRunnerManager。公司項目也比較多,在上班的過程中偶爾研究了一下,於是就利用週末,在家操作了一發。在搭建的過程中遇到幾個困難,但是在和各位網友的交流中,逐步找到問題,然後解決問題。感謝測試大神尹全旺給的指導,在他的基礎上實現了搭建。參考他的博客地址爲:https://testerhome.com/topics/13295,下面我就記錄一下我在搭建過程中遇到的問題,踩過的坑,供大家參考。
1,開源代碼下載
這裏的git下載地址是:https://github.com/HttpRunner/HttpRunnerManager,如果不會使用git,我也上傳了一份源碼在csdn上,下載地址如下:https://download.csdn.net/download/yelang_110/10806644,下載後的解壓的目錄如下:
2,數據庫準備
我這邊安裝的是mysql8.0.13版本數據庫,參考資料上寫推薦5.7版本以上,設置爲utf-8編碼,創建相應HttpRunner數據庫,設置好相應用戶名、密碼,啓動mysql。
在數據庫安裝過程中,也遇到一個問題,由於8.0版本和以往的版本不一樣,安裝成功後,客戶端連接不上,於是在這個地方踩了第一個坑,後來找到資料解決了。具體的安裝情況參考我的另外一篇博客:https://www.cnblogs.com/tiechui2015/p/10011908.html
3,修改源碼中settings.py的配置文件
具體的路徑爲:HttpRunnerManager/HttpRunnerManager/settings.py,修改:HttpRunnerManager/HttpRunnerManager/settings.py裏DATABASES字典相關配置:NAME(默認HttpRunner)USER(用戶名,建議root用戶,需要有增刪改查權限!)、PASSWORD(對應登錄用戶名密碼)、HOST(數據庫所在服務器ip地址)
PORT(數據庫服務監聽端口,默認3306)
我修改後的如下圖:本地數據庫,馬賽克就不打了。
4,rabbitmq消息中間件的安裝
具體的安裝方法,參考我的另外一篇博客:https://www.cnblogs.com/tiechui2015/p/10016106.html
啓動和關閉命令需要記住:打開sbin目錄,雙擊rabbitmq-server.bat
訪問http://localhost:15672
username:guest、Password:guest, 成功登陸即可
5,修改settings.py配置文件
修改配置路徑目錄如下:修改:HttpRunnerManager/HttpRunnerManager/settings.py裏BROKER_URL = 'amqp://guest:[email protected]:5672//'將127.0.0.1替換成host
截圖如下:
6,安裝工程所依賴的庫文件-requirements.txt
命令行窗口執行pip install -r requirements.txt 安裝工程所依賴的庫文件,這個地方踩了一個坑,幾次都是報錯,問題就是依賴問題,解決方法:
生成requirements.txt文件
pip freeze > requirements.txt
安裝requirements.txt依賴
pip install -r requirements.txt
如此,就安裝成功了。
7,生成數據庫遷移腳本
這是一個大坑,正常的執行都會一直報錯,我們看下大神些的:
命令行窗口切換到HttpRunnerManager目錄,執行python manage.py makemigrations ApiManager 生成數據庫遷移腳本。你在執行這個的時候,報錯,信息如下:
解決方法,使用pycharm,直接安裝插件flask-djcelery。如下圖:
安裝成功後如下:
本以爲上面的問題解決後,就可以,可是又出現了一個幺蛾子。踩坑記錄如下,先看報錯:
這是一個非常令人痛苦的時間,當然解決方法也是有的,解決方法如下:
進入到你的源碼路徑下,我的是在:
路徑如下:C:\HttpRunnerManager-master
cmd後進入C:\HttpRunnerManager-master目錄下後,執行:pip install pymysql,如下圖:
繼續執行我們的 腳本:python manage.py makemigrations ApiManager
可是,執行之後又出現了錯誤,如下圖:
解決方法二:
下載文件放到python安裝的目錄下:C:\Users\TieChui\AppData\Local\Programs\Python\Python37\Lib\site-packages 如下圖:
下載地址:https://download.csdn.net/download/yelang_110/10806737
下載後,今日到該路徑下的目錄,一定要cd進入到你的python的site-packages路徑下。
執行腳本:pip.exe install 你的文件名,如圖
然後我們在執行我們的腳本:執行python manage.py makemigrations ApiManager 生成數據庫遷移腳本。
8,對數據庫生成相應表結構
執行python manage.py migrate 對應HttpRunner數據庫生成相應表結構。我們截圖如下:
如下圖:
9,輸入對應的後臺賬戶密碼
執行python manage.py createsuperuser 根據提示輸入用戶名,郵箱,密碼。這裏的密碼就是剛纔我們settings.py中配置的郵箱賬戶密碼。如下
10,執行python manage.py runserver,跑起來。
如下圖:
此時注意啓動命令:python manage.py runserver,要在cd:C:\HttpRunnerManager-master目錄下執行。
python manage.py runserver 10.10.15.141:8000 #通過本地局域網IP訪問請使用本條命令
-----------------------------------------------------------------------------------------------------------------------------------分割線---------------------------------------------------------------------------------------------
11,shell或dos窗口切換到HttpRunnerManager目錄執行腳本
執行腳本:python manage.py celery -A HttpRunnerManager worker --loglevel=info 啓動worker
問題沒有解決:報錯如下:
12,shell或dos窗口切換到HttpRunnerManager目錄執行:python manage.py celery beat --loglevel=info 開啓定時任務配置
13,CLI窗口執行:celery flower 訪問:http://localhost:5555/dashboard 即可查看任務列表和狀態
備註:11,12,13這三個地方,開啓定時任務和啓動worker,目前我這邊還是報錯,後面有空再研究,如果有人知道這個地方,也可以告訴我,謝謝。
14,瀏覽器輸入:http://127.0.0.1:8000/api/register/ 註冊用戶,開始享用
我沒看下效果:
15,瀏覽器輸入http://127.0.0.1:8000/admin/ 輸入步驟6設置的用戶名、密碼,登錄後臺運維管理系統