1. 程式人生 > >Linux下搭建HttpRunnerManager介面測試平臺

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

連線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介面測試平臺已經基本搭建成功了,除了非同步執行、定時任務、任務監控等之外,其他的功能都可以使用了