httprunner3源碼解讀(1)簡單介紹源碼模塊內容


前言

最近想着搭建一個API測試平台,基礎的注冊登錄功能已經完成,就差測試框架的選型,最后還是選擇了httprunner,github上已經有很多開源的httprunner測試平台,但是看了下都是基於httprunner1.5.8測試框架,1.0和3.0差距還是很大的,所以自己想集成個3.0的平台,既然要繼承,讀懂源碼必不可少
 

源碼目錄結構

我們先來看下源碼的目錄結構

 

app

是一個Python package,這部分主要使用了fastapi框架

├── __init__.py
├── main.py
└── routers
    ├── __init__.py
    ├── debug.py
    ├── debugtalk.py
    └── deps.py

 

builtin

這個包做了一些內置的功能

├── __init__.py
├── comparators.py
└── functions.py
  • comparators:內置驗證校驗器
  • functions:內置的一些方法
     

ext

httprunner基礎上集成了別的插件

├── __init__.py
├── har2case
│   ├── __init__.py
│   ├── core.py
│   └── utils.py
├── locust
│   ├── __init__.py
│   └── locustfile.py
└── uploader
    ├── __init__.py
  • har2case:將.har生成一個測試用例,支持yaml/json/pytest
  • locust:集成了locust性能測試
  • uploader:集成了上傳文件的功能
     

cli.py

命令行驅動執行
 

client.py

客戶端相關方法,主要是封裝 requests.Session.request,安全調用,輸出log等, 給runner.py調用.
 

compat.py

提供各種處理兼容性的方法,包括讓v2版本的用例能在v3版本繼續運行的相關轉換方法
 

exceptions.py

定義了失敗類型的異常信息
 

loader.py

加載文件內容的方法
 

make.py

主要集成參數使之生效在測試用例中,如configrequestteststep等等,構成一個可用的用例
 

models.py

定義各種model類,以BaseModel為父類
 

parser.py

各種解析方法,主要用於數值類型判斷后自動轉換
 

response.py

處理響應報文格式.
 

runner

運行項目的核心
 

scaffpld.py

創建項目腳手架,生成框架的基本模板
 

testcase

測試用例的信息
 

utils.py

一些工具函數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM