HttpRunner接口自動化測試框架

HttpRunner接口自動化測試框架

HttpRunner

簡介

HttpRunner 是一款面向 HTTP(S) 協議的通用測試框架,只需編寫維護一份 YAML/JSON 腳本,即可實現自動化測試、性能測試、線上監控、持續集成等多種測試需求。

核心特性

  • 繼承 Requests 的全部特性,輕鬆實現 HTTP(S) 的各種測試需求
  • 測試用例與代碼分離,採用YAML/JSON的形式描述測試場景,保障測試用例具備可維護性
  • 測試用例支持分層機制,充分實現測試用例的複用
  • 測試用例支持參數化和數據驅動機制
  • 使用 skip 機制實現對測試用例的分組執行控制
  • 測試請求支持完善的 hook 機制
  • 支持熱加載機制,在文本測試用例中輕鬆實現複雜的動態計算邏輯
  • 基於 HAR 實現接口錄製和用例生成功能(har2case)
  • 結合 Locust 框架,無需額外的工作即可實現分佈式性能測試
  • 執行方式採用 CLI 調用,可與 Jenkins 等持續集成工具完美結合
  • 測試結果統計報告簡潔清晰,附帶詳盡統計信息和日誌記錄
  • 具有可擴展性,便於擴展實現 Web 平臺化(HttpRunnerManager)

下載安裝

使用pip命令進行安裝

1
pip install httprunner

安裝後校驗是否安裝成功,可以使用如下命令進行校驗

1
2
3
4
5
hrun -V
1.4.2

har2case -V
0.1.8

若版本號正常顯示,則說明安裝正常。

入門使用

測試場景

用例設計

HttpRunner 的測試用例支持兩種文件格式:YAML 和 JSON。這裏以YAML爲例。

test_httpbin.yml

1
2
3
4
5
6
7
8
9
10
11
12
- config:
    name: httpbin api test
    request:
        base_url: http://www.httpbin.org
- test:
    name: get request
    request:
        url: /get
        method: GET
    validate:
        - eq: [status_code,200]

 

  • config:作爲整個測試用例集的全局配置項
  • test:對應單個測試用例
  • name 這個test的名字
  • request 這個test具體發送http請求的各種信息, 如下:
  • url 請求的路徑 (若config中有定義base_url, 則完整路徑是用 base_url + url )
  • method 請求方法 POST, GET等等
  • validate 完成請求後, 所要進行的驗證內容. 所有驗證內容均通過該test纔算通過,否則失敗.

相關資料

運行測試

使用hrun執行測試,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
C:\Users\Shuqing>hrun D:\api_test\HttpRunner_test\test_httpbin.yml
get request
INFO     GET /get
INFO     status_code: 200, response_time(ms): 1967.35 ms, response_length: 273 bytes
INFO     start to validate.
.

----------------------------------------------------------------------
Ran 1 test in 1.976s

OK
INFO     Start to render Html report ...
INFO     Generated Html report: C:\Users\Shuqing\reports\1533092144.html

查看測試報告

打開html報告如下:

httprunner-report.png

HttpRunnerManager

簡介

HttpRunnerManager是基於HttpRunner的接口自動化測試平臺,該工具是對 HttpRunner的包裝和Web圖形化, 另外還增加了一些新概念(項目/模塊)用來組織用例。
如果對yaml語法格式不熟悉,以及對於httprunner命令不熟悉的可以使用該平臺執行接口自動化測試。

項目地址:https://github.com/HttpRunner/HttpRunnerManager

核心特性

  • 項目管理:新增項目、列表展示及相關操作,支持用例批量上傳(標準化的HttpRunner json和yaml用例腳本)
  • 模塊管理:爲項目新增模塊,用例和配置都歸屬於module,module和project支持同步和異步方式
  • 用例管理:分爲添加config與test子功能,config定義全部變量和request等相關信息 request可以爲公共參數和請求頭,也可定義全部變量
  • 場景管理:可以動態加載可引用的用例,跨項目、跨模快,依賴用例列表支持拖拽排序和刪除
  • 運行方式:可單個test,單個module,單個project,也可選擇多個批量運行,支持自定義測試計劃,運行時可以靈活選擇配置和環境,
  • 分佈執行:單個用例和批量執行結果會直接在前端展示,模塊和項目執行可選擇爲同步或者異步方式,
  • 環境管理:可添加運行環境,運行用例時可以一鍵切換環境
  • 報告查看:所有異步執行的用例均可在線查看報告,可自主命名,爲空默認時間戳保存,
  • 定時任務:可設置定時任務,遵循crontab表達式,可在線開啓、關閉,完畢後支持郵件通知
  • 持續集成:jenkins對接,開發中。。。

下載安裝

  1. 安裝mysql數據庫服務端(推薦5.7+),並設置爲utf-8編碼,創建相應HttpRunnerManager數據庫,設置好相應用戶名、密碼,啓動mysql。

  2. 將HttpRunnerManager下載下來,解壓放在任意盤符位置,例如我放在D盤根目錄,並重命名爲HttpRunnerManager

環境配置

HttpRunnerManager支持分佈式執行,模塊和項目執行可選擇爲同步或者異步方式,因此需要安裝相關依賴工具。

erlang

Erlang是一種通用的面向併發的編程語言,它由瑞典電信設備製造商愛立信所轄的CS-Lab開發,目的是創造一種可以應對大規模併發活動的編程語言和運行環境。

下載地址:http://www.erlang.org/downloads

Rabbitmq

RabbitMQ 是一個由 Erlang 語言開發的 AMQP(高級消息隊列協議)的開源實現。它支持多個消息傳遞協議。RabbitMQ可以部署在分佈式和聯合配置中,以滿足高規模、高可用性的需求,另外安裝rabbitmq需要先安裝erlang

下載地址:http://www.rabbitmq.com/download.html 下載後雙擊rabbitmq-server-3.7.7.exe文件進行安裝。

安裝完成後如下圖如所示,選中RabbitMQ Service -start 然後以管理員身份運行。

image

可以通過訪問 http://localhost:15672 進行測試,默認的登陸賬號爲:guest,密碼爲:guest。

image

相關資料:RabbitMQ Windows環境安裝官方手冊

數據庫配置

打開HttpRunnerManager項目的setting.py文件,進行如下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
if DEBUG:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'HttpRunnerManager',  # 新建數據庫名
            'USER': 'root',  # 數據庫登錄名
            'PASSWORD': '',  # 數據庫登錄密碼
            'HOST': '127.0.0.1',  # 數據庫所在服務器ip地址
            'PORT': '3306',  # 監聽端口 默認3306即可
        }
    }
    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, 'static'),  # 靜態文件額外目錄
    )
else:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'HttpRunnerManager',  # 新建數據庫名
            'USER': 'root',  # 數據庫登錄名
            'PASSWORD': '',  # 數據庫登錄密碼
            'HOST': '127.0.0.1',  # 數據庫所在服務器ip地址
            'PORT': '3306',  # 監聽端口 默認3306即可
        }
    }
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')

 

work配置

修改work配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
djcelery.setup_loader()
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Asia/Shanghai'
BROKER_URL = 'amqp://guest:[email protected]:5672//' if DEBUG else 'amqp://guest:[email protected]:5672//'
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'

CELERY_TASK_RESULT_EXPIRES = 7200  # celery任務執行結果的超時時間,
CELERYD_CONCURRENCY = 1 if DEBUG else 10 # celery worker的併發數 也是命令行-c指定的數目 根據服務器配置實際更改 一般25即可
CELERYD_MAX_TASKS_PER_CHILD = 100  # 每個worker執行了多少任務就會死掉,我建議數量可以大一些,比如200


EMAIL_SEND_USERNAME = '[email protected]'  # 定時任務報告發送郵箱,支持163,qq,sina,企業qq郵箱等,注意需要開通smtp服務
EMAIL_SEND_PASSWORD = 'XXX'     # 郵箱密碼

安裝依賴庫文件

打開cmd命令窗口,切換到HttpRunnerManager目錄,然後執行下面命令,自動安裝需要的依賴庫文件。

1
pip install -r requirements.txt

數據庫遷移

1
2
python manage.py makemigrations ApiManager #生成數據遷移腳本
python manage.py migrate  #應用到db生成數據表

創建超級用戶,用戶後臺管理數據庫,並按提示輸入相應用戶名,密碼,郵箱。

1
python manage.py createsuperuser

啓動服務

輸入下面命令啓動服務

1
python manage.py runserver

 

服務啓動成功之後,打開如下地址,可以進入到不同的頁面。

httprunner-register

httprunner-login

httprunner-admin

註冊登錄之後就可以看到平臺的界面,接下來就可以創建接口測試的項目和用例了。

httprunner-logined.PNG

HttpRunnerManage 入門使用

創建項目

在首頁點擊左側菜單欄新增項目,然後輸入項目相關信息。我們接下來將會以httpbin裏面的接口來進行測試,所以項目名稱命名爲:httpbin接口測試

httprun-create-project

創建模塊

一個項目會一般分爲多個功能模塊,我們可以創建不同模塊,然後基於不同模塊創建測試用例。
在左側菜單選擇模塊管理 然後點擊新增模塊,接下來輸入模塊信息。 這裏我們創建一個模塊:HTTP_Methods

httprun-create-model

創建環境

在接口測試過程中,我們有時需要設置base_url來提高用例編寫執行效率,我們可以在系統設置中的運行環境來創建。例如我們創建一個base_url操作過程如下圖所示:

httprun-environment-create

創建用例

這裏以下面接口爲例創建用例:

1
http://www.httpbin.org/get #請求方式爲GET

點擊頂部快捷入口新增用例 然後在用例編輯窗口切換到request來編輯用例,操作步驟如下:

httprun-create-testcase

如上圖演示所示,用例名稱爲test_get_request 用例要歸屬到項目和具體的模塊

運行測試

如下圖所示,點擊用例測試的運行圖標,然後選擇運行環境即可執行用例,執行完成之後會自動生成測試報告,可以查看運行的結果。

httprun-runcase

以上我們就完成了單個接口的簡單測試,接下來我們要進一步完善用例。

用例配置

header設置

如果想自定義header信息,則可以在用例編輯界面點擊add headers,然後配置header信息。操作如下圖所示:

httprun-add-headers

請求參數

URL參數

在GET請求中,經常會有在URL中的參數,也就是Query String Parameters 比如在用例 test_get_request 增加一個參數 user=51zxw 操作過程如下:

httprun-add-params

body參數

在Post請求中,請求參數一般放在請求體Request body中,HttpRunner支持form-datajson兩種數據格式來傳遞參數。

這裏我們的測試接口如下:請求類型爲POST

1
http://httpbin.org/post

form-data

首先創建用例名稱爲test_post_formdata 用例編輯界面Type選擇data,然後點擊add data按鈕,在下面表單中輸入參數名稱和值即可。操作過程如下:

httprun-formdata

json

傳遞Json參數與form-data方法類似,選擇Type時選Json 創建用例test_post_jsondata操作流程如下:

httprun-jsondata

獲取返回結果

HttpRunnerManager提供了extract功能來從返回結果中提取我們需要的內容。例如前面用例test_get_request執行之後返回結果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "args": {
    "user": "51zxw"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Connection": "close", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.18.4", 
    "User-Headers": "zxw2018"
  }, 
  "origin": "110.52.4.234", 
  "url": "http://httpbin.org/get?user=51zxw"
}

如果我們想提取user值放在一個變量裏面,那麼可以使用extract來提取。在用例編輯界面點擊extract/validate標籤,然後點擊add extract按鈕,進行如下配置即可:

extract

其中Key的值response_user就是將返回值存儲的變量名,content.args.user表示從返回內容中提取args屬性中的user值。下一步再斷言設置中,我們可以驗證是否獲取正確。

斷言設置

結合前面提取返回值的內容,我們設置斷言驗證返回的user值是否和我們預期的一樣,首先點擊add validate 然後可以進行如下設置:

validate

上面的$response_user表示引用我們之前設置的獲取返回值的變量,Comparator表示匹配規則,匹配規則有很多可以點擊下拉菜單查看 Expected值表示我們的期望值。

執行用例之後,我們可以看到在測試報告中,斷言驗證是通過的。

validate-report.

當然如果還想添加其他斷言規則,就繼續點擊add validate 例如設置驗證響應狀態碼爲200可以進行如下設置

validate-statuscode.PNG

注意:200數值類型爲int

用例組合

有時候我們想把一些單個的接口按照指定順序組合成爲一個業務邏輯模塊。比如用戶模塊,把用戶註冊、用戶登錄,用戶退出幾個用例封裝成一個業務邏輯模塊,從而形成接分層測試。

實踐案例:

將之前的三個用例test_get_request,test_post_formdatatest_post_jsondata封裝爲一個用例test_method_group 然後執行test_method_group。具體操作如下:

testcase-addgroup.gif

從圖中我們可以看出新建一個用例test_method_group,然後可以自由添加單個接口用例,並且可以自由調整用例執行順序,以及刪減用例。

注意:新建組裝的用例時, 只能選擇單請求的用例進行拼接, 不可選擇已組裝過的用例。例如再新建一個用例,把test_method_group放進去是不行的。
只能選擇包含”不包含別的用例的用例”。

測試計劃

測試套件

測試套件(test suite)和我們上面講的組合用例類似,我們可以把單個用例按照業務邏輯進行組合運行,和組合用例不同的是:測試套件可以包含組合用例,但是組合用例不能包含組合用例。
測試套件是對測試用例的更高一層的封裝。

實踐案例

創建測試用例集suite_test_methods 包含測試用例test_get_request和組合用例test_method_group 然後執行查看結果。
操作過程如下:

set-testsuite

從上圖中我們可以看到創建的測試套件成功執行,加載的測試套件也可以任意調整執行順序。相關的數據配置會自動從用例的配置中讀取,無需再單獨配置參數。

上面我們選擇的是同步執行方式,我們可以選擇異步執行方式,可以在後臺執行,然後生成測試報告。

run-asyn.PNG

在異步執行之前我們需要先啓動支持異步的相關服務:

1.啓動RabbitMQ Server

2.進入到HttpRunnerManager目錄,啓動worker

1
python manage.py celery -A HttpRunnerManager worker --loglevel=info

 

3.啓動任務監控後臺

1
celery flower

 

celery簡介

Celery是一個異步任務隊列/基於分佈式消息傳遞的作業隊列。它側重於實時操作,但對調度支持也很好。Celery用於生產系統每天處理數以百萬計的任務。Celery是用Python編寫的,但該協議可以在任何語言實現。它也可以與其他語言通過webhooks實現。

執行完成之後我們可以在【報告管理】——【查看報告】中看到生成的測試報告。

run-asyn-report.PNG

擴展資料:Python 並行分佈式框架 Celery

定時任務

測試套件還支持定時任務,這樣方便進行迴歸測試。
定時任務需要啓動定時任務監聽器,具體如下:

1
python manage.py celery beat --loglevel=info

平臺界面設置步驟爲:點擊菜單欄左側【測試計劃】-【定時任務】 進入到【系統設置】界面,可以進行如下設置:

setting-run-time

上面定時配置 */10 * * * * 表示每10分鐘執行一次,使用的是crontab表達式

執行結果如下圖所示,可以看到是每隔10分鐘執行一次。

report-crontab.PNG

crontab格式

通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。

分 時 日 月 星期

  • 第1列分鐘0~59
  • 第2列小時0~23(0表示子夜)
  • 第3列日1~31
  • 第4列月1~12
  • 第5列星期0~7(0和7表示星期天)

crontab設置案例

每隔1分鐘執行一次

1
* * * * *

 

每30分鐘運行一次:

1
*/30 * * * *

每隔1小時執行一次

1
* */1 * * *

每週一到週五早上八點運行

1
* 8 * * 1-5

相關資料:crontab表達式

注意

如果遇到如下報錯:

1
2
3
D:\HttpRunnerManager>python manage.py celery beat --loglevel=info
celery beat v3.1.26.post2 (Cipater) is starting.
OSError: [WinError 87] 參數錯誤。

進入到HttpRunnerManager目錄,然後刪除celerybeat.pid文件,重啓命令即可。

配置管理

前面我們用例的各個參數都是配置在各自用例之中的,如果參數有變化則需要打開對應請求用例來修改,當用例數量較多時,這樣操作會比較低效。那麼該如何有效解決這個問題呢?

使用HttpRunnerManager的配置管理工具就可以比較好的解決這個問題。我們可以將一些公共的變量,參數、方法、請求頭信息都存儲在一個配置模塊中,這樣維護和使用就非常便利。

支持的配置類型包括以下幾類:

  • Variables 變量類型
  • Parameters 參數類型
  • Hooks 方法類型
  • Request 請求類型

點擊菜單欄左側的配置管理 然後點擊新增配置 或者直接頂部新增配置快捷入口,就可以創建配置。
這裏演示VariablesParameters配置

variable配置

如下圖所示:創建公共變量com_user 值設爲zxw2018 操作過程如下:

config-variable

變量創建完成之後,接下來要引用這個公共變量,在用例test_get_requesttest_post_formdata分別添加公共變量com_user,配置如下:

add-config-var

最後開始引用配置,在用例test_method_group中引用該配置,然後運行即可。操作過程如下:

run-configvar

從上圖可以看出,我們設置的配置變量已經在用例生效,下次想修改變量值,只需要修改配置就可以了。

注意

當用例1關聯了配置(config)1, 用例2關聯了配置(config)2 時,
現在新建一個用例3, 將用例1和用例2都組合進用例3中, 並且用例3關聯配置(config)3,
此時執行用例3, 配置(config)1 和 配置(config)2 會被使用麼?

答案是不會, 執行用例3時, 只有配置(config)3 會被使用. 在執行的過程中, 用例1和用例2所要引用的變量, 都只會去配置(config)3中找。

Parameters配置

對用例中的某些請求參數, 有時想要測試多種輸入情況, 可以爲每種情況都編寫獨立的用例或配置. 但是這樣會比較麻煩, 另一種方式是將原來的variables變量定義改爲Parameters參數列表來定義. 這個列表中定義需要傳入的參數. 然後使用這些參數分別執行一次,也就是參數化。

案例1——單個參數設置

針對用例test_get_request 設置參數para_user 分別取值爲[‘zxw2016’,'zxw2017','zxw2018']針對這三個不同的參數來進行接口測試。

config-para

配置好之後,接下來點擊用例test_get_request 然後添加參數配置,操作如下所示:

run-config-para

從上圖我們可以看出,用例遍歷執行了我們設定的三個參數。

案例2——多個參數

對於同時存在多個參數列表, 則需要對其排列組合的每一種情況都執行一次,也就是笛卡爾乘積

例如有xxyy兩組參數,對應的變量分別如下

1
2
xx : [xxvalue1, xxvalue2]
yy : [yyvalue1, yyvalue2, yyvalue3]

 

那麼最終會按以下六種情況各執行一次用例:

1
2
3
4
5
6
xx=xxvalue1, yy=yyvalue1
xx=xxvalue1, yy=yyvalue2
xx=xxvalue1, yy=yyvalue3
xx=xxvalue2, yy=yyvalue1
xx=xxvalue2, yy=yyvalue2
xx=xxvalue2, yy=yyvalue3

所以, 當對多個變量使用parameters參數列表時, 特別需要事先考慮清楚用例將會被循環的次數. 避免不必要的測試時間的消耗.

例如在配置表中我們再增加一個參數para_pwd 取值爲['666', '888']

config-multi-para.PNG

然後在用例中引用變量para_pwd

testcase-muti-para.PNG

最後執行的結果爲6次。

multi-para-report.PNG

參數組合爲:

1
2
3
4
5
6
zxw2016,666
zxw2016,888
zxw2017,666
zxw2017,888
zxw2018,666
zxw2018,888

配置參數的作用域

當組合用例中的單個用例引用了配置參數,那麼該組合用例下所有的用例都會按照參數組合來執行對應的次數。

例如在test_method_group中用例test_get_request引用了配置參數,那麼所有的用例都會執行6次(上面案例中para_userpara_pwd的笛卡兒積),總共爲3*6=18次。

config-testsuite.PNG

這樣帶來一個問題也就是有些沒有設置參數的用例也會重複運行,這對整體運行效率會有比較大的影響,

如果只想針對指定的用例遍歷設定的參數,那麼需要將參數配置在用例中,而不是在公共配置模塊中。

例如在用例test_get_request配置參數para_user 取值爲['zxw2016', 'zxw2017', 'zxw2018'] 同時刪除之前配置模塊的對應的參數,以及引用的參數。

test-case-param.PNG

然後執行用例集test_method_group,那麼test_get_request會根據設置的三個不同參數運行3次,其他兩個接口運行1次。

鍵值對參數

對於參數間有對應關係的(如用戶名:密碼)可以按如下方式定義, 這樣就避免了無效的排列組合:

1
xx-yy: [[xxvalue1,yyvaule1],  [xxvalue2,yyvalue2]]

組合結果:

1
2
xx=xxvalue1, yy=yyvalue1
xx=xxvalue2, yy=yyvalue2

在使用多個賬戶/密碼進行測試時, 常用這種方式.

例如在用例test_post_formdata中配置如下參數

1
2
3
#用戶名密碼組合
51zxw2016,666
51zxw2018,888

在用例中進行如下配置

set-para-keyvalue.PNG

import-keybalue-para.PNG

運行測試用例:

keyvalue-report

從運行的報告中我們可以看到,參數按照我們設定的運行。

HttpRunnerManager進階應用

自定義輔助函數

在一些比較特殊的接口測試過程中,有時需要做一些比較複雜的邏輯處理,比如加解密。針對這些接口我們需要編寫一些輔助函數來完成測試。

案例:接口參數md5加密

測試登錄接口:http://httpbin.org/post,參數除了userpasswd還需要一個sign參數
sign生成規則爲用戶名+密碼然後進行md5加密。

在項目管理菜單欄中點擊debugtalk.py 然後編輯如下代碼:

1
2
3
4
5
6
7
8
9
10
# debugtalk.py

import hashlib

def getSign(user,passwd):
    str=user+passwd
    md5=hashlib.md5()
    md5.update(str.encode(encoding='utf-8'))
    sign=md5.hexdigest()
    return sign

上面代碼代表根據用戶名密碼生成md5摘要信息,並返回結果。

創建用例test_getSign 配置如下:

test_getSign_request.PNG

test_getSign_variables.PNG

從上面的配置可以看出,方法引用格式爲:${function($para)}

運行結果如下:

test_getSign_report.PNG

從上面的報告可以看出,sign的值參數爲md5算法生成的結果。

Hook

有些接口測試前後需要進行一些特殊的處理,比如初始化操作或者執行完成之後等待操作。
相當於unittest中的setUptearDown方法,HttpRunner也支持類似於這樣的方法。其中Hook功能就支持這樣的操作。

  • setup_hooks: 在 HTTP 請求發送前執行 hook 函數,主要用於準備工作;也可以實現對請求的 request 內容進行預處理。
  • teardown_hooks: 在 HTTP 請求發送後執行 hook 函數,主要用於測試後的清理工作;也可以實現對響應的 response 進行修改,例如進行加解密等處理。

實踐案例

設置接口請求之後如果響應狀態碼爲200就等待0.1s 否則就按照設定的時間等待。

在 debugtalk.py 創建輔助函數sleep() 定義如下:

1
2
3
4
5
6
7
import time

def sleep(response,t):
    if response.status_code==200:
        time.sleep(0.1)
    else:
        time.sleep(t)

然後在用例test_get_request中進行設置${time($response,2)}即可。

任務監控

任務監控可以查看節點的狀況(包括處理的隊列信息等)和task的執行情況

Tips:這裏需要做一個小小的修改,因爲作者把地址配置按照他自己的運行環境寫死了。修改方式爲:打開文件D:\HttpRunnerManager\templates\base.html

192.168.91.45修改爲:127.0.0.1

1
2
<!-- <li><a href="http://192.168.91.45:5555/dashboard">任 務 監 控</a></li>-->
<li><a href="http://127.0.0.1:5555/dashboard">任 務 監 控</a></li>

 

設置好之後打開即可看到如下頁面:

Flower-index.PNG

線上部署

當前系統是部署在本地環境,如果想部署到線上環境,那麼可以參考:Django快速部署簡約版 v3.0

視頻操作演示

《Python接口自動化測試教程》第七章

參考文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章