前言
之前在學習HttpRunner時,我們都是把用例寫在 YAML/JSON
中進行維護,使用起來也很方便。其實,現在有不少大佬都喜歡開發自動化測試平台,比如我們今天要搭建的HttpRunnerManager
,這就是已開發好的基於HttpRunner開發的接口自動化測試平台。
雖然現在HttpRunnerManager的作者已經停止維護該平台了,但我們仍可以通過搭建HttpRunnerManager來進一步學習,在平台搭建完成后,我們可在平台上直接編寫接口自動化測試用例。
需要在Linux上提前准備的環境(下面是本人搭建時的環境):
1,Python 3.6.8 (可參考文章:Linux下安裝Python3)
2,MySQL 5.7(可參考文章:Linux下安裝MySQL 5.7 )
下載HttpRunnerManager源碼
首先,我們直接到 Github
上下載 HttpRunnerManager
,把它下載到本地,或者通過 git 上直接 clone 。在這里,我是先直接下載壓縮包。
下載完成,解壓后傳到Linux服務器上,或者先傳到Linux再通過 unzip
命令解壓,最后,我們得到如下內容:
安裝 requirements.txt 里的依賴包
因為已經在Linux下安裝了python3和pip3,因此這里直接通過 pip3 來安裝即可。
安裝命令:pip3 install -r requirements.txt
輸入命令安裝后,等待安裝完成。我在安裝時遇到了如下錯誤:
上面的報錯是在安裝 mysqlclient
時報錯,在網上查了下,發現原因是Linux系統在裝mysql相關的包時要先裝依賴包 mysql-devel
,因此我們需要先安裝 mysql-devel
,命令如下:
yum install mysql-devel
安裝之后,再重新安裝 requirements.txt
里的依賴包,就不會報錯了。
MySQL上創建HttpRunner數據庫
接下來,我們需要在MySQL上創建相應HttpRunner數據庫,設置好相應用戶名、密碼,並啟動MySQL。下面是我在 Windows 下通過 Navicat
連接MySQL后創建的數據庫,名稱為 hrun
。
創建完成,就可以不用管它了,后面會進行同步數據庫,進而得到數據表結構。
修改配置文件
修改 HttpRunnerManager/settings.py
配置文件里DATABASES字典,需要修改的地方(大約在settings.py中第120行左右):
我們本次只修改數據庫配置相關的內容,可以通過 vim 命令進行修改,修改之后如下(根據自己實際情況修改):
同步數據庫
上面,我們只是創建了一個名稱為 hrun
的數據庫,但這個數據庫下沒有任何數據表,現在,我們將同步數據庫得到數據表。需要先返回到 HttpRunnerManager 的根目錄,在我們這里也就是 HttpRunnerManager-master
目錄下。
生成數據遷移腳本:python3 manage.py makemigrations ApiManager
應用到db生成數據表:python3 manage.py migrate
同步數據庫完成之后,我們再到 MySQL 中查看,可以發現 hrun
數據庫下新增了很多數據表。
創建后台管理員用戶
到這里,我們基本的搭建工作已差不多完成。現在,我們創建一個超級用戶,並按提示輸入相應用戶名,密碼,郵箱。該用戶可用於管理后台數據。
創建后台用戶:python3 manage.py createsuperuser
啟動Django服務
我們還需要啟動Django服務,Django默認端口一般是8000,啟動服務的命令如下:
python3 manage.py runserver 0.0.0.0:8000
使用上面的命令,有一個不足的地方,那就是不能在后台運行,因此我們最好通過后台運行的方式來啟動Django服務,命令如下:
nohup python3 manage.py runserver 0.0.0.0:8000 >hrun.log 2>&1 &
HttpRunnerManager在后台運行的日志,將輸出到 hrun.log
下。
登錄HttpRunnerManager
在Linux下啟動服務之后,我們將在Windows下進行訪問並登錄HttpRunnerManager,我們需要檢查一下 8000 等端口是否已開放,特別如果是在雲服務器上搭建的環境,需要添加安全組規則,否則可能訪問不到。
后台管理:http://ip地址:8000/admin/
注冊界面:http://ip地址:8000/api/register/
后台運維管理登錄界面如下:
輸入上一步驟創建的后台用戶即可進行后台登錄,登錄后的界面如下:
HttpRunnerManager用戶注冊界面如下:
創建普通用戶之后,切換到登錄界面,如下:
用戶登錄成功后的主界面:
注意:在上面的主界面中,我們發現界面的樣式似乎有些不對勁,這是因為我們從Github上下載的源碼有些問題,這里就需要手動修改一下了。
上面 templates/base.html
文件中第23行,需要修改一下,將 http://cdn.amazeui.org/amazeui/2.7.2/css/amazeui.min.css
替換為 http://cdn.bootcss.com/amazeui/2.7.2/css/amazeui.min.css
,替換之后,再次刷新頁面,界面樣式就正常了,最后顯示的界面效果如下:
HttpRunnerManager中,異步執行、定時任務、任務監控等功能,需要搭建RabbitMQ消息中間件等,這些我們在后續再進一步學習吧。
OK,現在我們的HttpRunnerManager接口測試平台已經基本搭建成功了,除了異步執行、定時任務、任務監控等之外,其他的功能都可以使用了。