httprunner4.x學習01-安裝和簡單使用案例

趣_学發表於2024-03-19

前言:

HttpRunner 是一個開源的 API 測試工具,支援 HTTP(S)/HTTP2/WebSocket/RPC 等網路協議,涵蓋介面測試、效能測試、數字體驗監測等測試型別。簡單易用,功能強大,具有豐富的外掛化機制和高度的可擴充套件能力。

現在版本已經迭代到V4.3.0,我以V4.3.0版本作為學習案例。

windows環境安裝:

pip install httprunner

安裝完成後,可以用hrun 命令了,比如檢視版本:

C:\Users\DELL>hrun -V
v4.3.0

腳手架建立專案:

1.閱讀官方文件,httprunner迭代到4.X後,新增了hrp命令,可以上github上下載hrp.exe工具:

解決到任一目錄:

2.配置環境變數:

3.試著用它來建立專案:

hrp startproject httprunnerV4.0_demo

從列印日誌可以看出,hrp主要是呼叫cmd.exe命令來先建立python虛擬機器(C:\Users\DELL\.hrp\venv),然後在上面建立專案,看了其它部落格都是你抄我,我抄你的,完全不瞭解其中的原理,這也導致遇到以下問題時,不會自己解決,比如這哥們:

分析:

其中的問題就是:Error: pip install funppy==v0.5.0 failed: pip install package failed: exec: "cmd.exe": executable file not found in %PATH%: prepare python3 venv failed

分析根因:hrp在呼叫cmd時,沒有找到cmd.exe,猜想就是自己的cmd環境變數沒配置好(我開始也遇到過)

解決方式:很簡單,在Path加上cmd的環境變數就行了:

%SystemRoot%\system32;%SystemRoot%;C:\Windows\System32\cmd.exe;

建立後,如下是專案的目錄結構

httprunnerV4.0_demo
├── .env
├── .gitignore
├── debugtalk.py
├── har
│   └── .keep
├── reports
│   └── .keep
└── testcases
    ├── demo_ref_testcase.yml
    ├── demo_requests.yml
    └── demo_with_funplugin.json

相關目錄與檔案說明

  • .env 是環境配置檔案
  • .gitignore 傳git倉庫時忽略檔案
  • debugtalk.py 輔助函式功能檔案
  • har 錄製的檔案目錄
  • eports 報告目錄
  • testcases 測試用例目錄

其中,testcases 資料夾中包含了多個示例測試用例,我們寫自動化用例主要是在這目錄編寫yml檔案

編寫測試場景:

介面間的引數依賴是最常見的,我這裡的場景是:

1.登入自己的測試平臺imos,獲取token

2.請求頭加上token檢視任務列表

get_imos_task_list.yml

`config: name: "login_imos_case" variables: username: admin password: quxue2023 base_url: "http://120.25.121.168:19001/api"

teststeps:

name: "登入測試平臺imos"
request:
    method: POST
    url: /login
    headers:
        Content-Type: application/json
        User-Agent: HttpRunner/${get_user_agent()}
    json:
        username: ${username}
        password: ${password}
extract:
    token: "body.data.token"
validate:
    - eq: ["status_code", 200]

name: "檢視任務列表"
request:
    method: GET
    url: /task
    headers:
        Accept: application/json, text/plain, */*
        Authorization: Bearer ${token}
    params:
        page: 1
        size: 10
        search: ""
validate:
    - eq: ["status_code", 200]
    - eq: ["body.code", 200]
    - eq: ["body.message", "操作成功"]

`

執行測試場景:

加上 --gen-html-report 是生成報告

hrp run .\testcases\get_imos_task_list.yml --gen-html-report

開啟html報告,熟悉的畫面回來了:

可能遇到問題:

全域性變數未生效,導致真實請示url沒有加上base_url

檢視官網,才知道人家早已經把base_url搬到.evn,編輯base_url即可

總結:

1.httprunner4.x新增了命令工具hrp,主要呼叫cmd命令來完成一些操作,如建立虛擬環境>建立專案,說白了就是操作的封裝。

2.config裡的base_url已經搬到.env檔案

相關文章