Linux下搭建HttpRunnerManager介面測試平臺
前言
之前在學習HttpRunner時,我們都是把用例寫在 YAML/JSON
中進行維護,使用起來也很方便。其實,現在有不少大佬都喜歡開發自動化測試平臺,比如我們今天要搭建的HttpRunnerManager
,這就是已開發好的基於HttpRunner開發的介面自動化測試平臺。
Github地址:https://github.com/HttpRunner/HttpRunnerManager
雖然現在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
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介面測試平臺已經基本搭建成功了,除了非同步執行、定時任務、任務監控等之外,其他的功能都可以使用了