日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

开源接口测试平台BTest

發布時間:2023/12/20 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开源接口测试平台BTest 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BTest platform

前言

BTest是一個接口測試平臺, 能幫助用戶高效快捷地完成接口自動化用例的開發, 覆蓋較為復雜的流程接口場景. 它是我個人業余時間開發的, 難免有不少BUG. 類似這樣的平臺, 網上已經有很多, 那為什么還要開發這個呢.

在此之前, 實際工作中我基于開源項目HttpRunnerManager做了一些補充性和優化性的二次開發, 漸漸有了自己寫個測試平臺的想法: 一是為了分享自己的經驗和想法,希望能幫助到測試人員更有效的完成工作;二是實踐自己的想法, 當是練手.

介紹

本平臺基于django restframwork和vue+iview開發, 驅動框架使用httprunner(1.5.8)

強烈建議使用平臺前先了解httprunner的基本用法

項目地址: https://gitee.com/scu-zrb/interface_test_platform/tree/master

平臺特性

  • 測試管理:按項目-模塊-用例的層級管理,均可批量運行用例
  • 用例管理:實現嵌套引用,支持快速調試,以樹型展示接口響應數據,并可一鍵提取結果
  • 定時任務:可編輯任務,樹型展示用例,方便選擇;支持定時和手動觸發任務
  • 測試報告:包括任務概況、用例詳情和top10錯誤表等內容,簡潔地展示任務情況
  • 環境管理:保存環境相關的基礎數據,便于環境切換,支持python數據類型,支持在線編輯
  • 參數化變量:數據量少時可在用例中定義;數據量大時可在文件中定義,支持在線編輯
  • mock管理:mock數據按接口-場景的層級管理,均支持獨立啟/禁用
  • 全局變量:方便定義全局通用數據

win開發環境搭建

一、項目結構

  • 項目結構

  • 目錄說明: 前端代碼放在后端代碼根目錄中

  • 二、前端環境

  • 安裝node.js/npm并配置環境
  • 配置淘寶鏡像
  • npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 安裝vue腳本架
  • cnpm install --global vue-cli
  • cd到frontend目錄
  • cnpm install
  • 運行前端
  • npm run dev

    三、后端環境

  • 安裝mysql,創建數據庫dbname,設置用戶名、密碼,啟動mysql
  • 修改:AutoTest/settings.py里DATABASES字典和郵件配置
  • DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'dbname', # 數據庫名'USER': 'root', # 用戶名'PASSWORD': '123456', # 密碼'HOST': '127.0.0.1', # 數據庫ip'PORT': '3306', # 端口默認3306即可} } EMAIL_SERVER = 'smtp.qq.com' # 郵箱服務器 EMAIL_PORT = 465 # 郵箱服務器端口 EMAIL_SENDER = '123456789@qq.com' # 發件人 EMAIL_PASSWORD = '' # 發件人密碼
  • 安裝erlang和rabbitmq,服務是默認啟動的,訪問地址 http://localhost:15672/
    默認用戶名/密碼:guest
  • # 如果沒啟動使用下面命令 net start RabbitMQ
  • 安裝python3(本人使用3.7,與celery3.x版本存在沖突命名沖突,需要手動修改celery;或者使用py3.6,可以先參考第7點)
  • 創建虛擬環境(看需要)
  • python -m venv venvName venvName/Scripts/activate.bat
  • 安裝三方庫
  • pip install -r require.txt
  • 更新三方庫(celery和httprunner)***(必須操作)***
  • # kumbo庫中使用了保留關鍵字async,與python3.7存在沖突,worker無法運行. 考慮下面三種方式: 1.py<=3.6,則不需要修改任務celery相關內容 ----------------------------------------------------------- 2.py>=3.7,手動修改kumbo.async包名,再修改celery中相關引用項(未修改運行會報錯,挨個改) ----------------------------------------------------------- 3.py>=3.7,命令升級celery庫(升到4.x,不確定celery beat任務實時更新是否有效,未驗證): pip install --upgrade https://github.com/celery/celery/tarball/master -----------------------------------------------------------# 更新httprunner,把工程根目錄下httprunner_update目錄的文件全部替換到當前環境三方包httprunner目錄下,對1.5.8版本httprunner做了幾處優化. 1.引用函數時參數可以使用python多數數據類型 詳情見 https://www.jianshu.com/p/2b83c1216f57 ----------------------------------------------------------- 2.結果提取失敗可返回用戶定義的默認值 詳情見 https://www.jianshu.com/p/c31a803f1f6a
  • 解壓phantomjs, 配置環境變量, 命令行輸入phantomjs不報錯即可
  • 安裝jdk,為了運行mock服務,如不需要mock服務可跳過
  • 下載最新版本moco.jar到工程根目錄,新命令行切換到工程根目錄,運行服務
  • java -jar moco-runner-X.X.X-standalone.jar http -p 8899 -c mock_data/settings.json
  • 切換到工程根目錄(manage.py所在目錄)
  • python manage.py makemigrations # 生成數據遷移腳本 python manage.py migrate # 創建表
  • 啟動后端服務(端口自定義,修改后前端也要配置frontend/src/api/index.js)
  • python manage.py runserver 9999
  • 新命令行切換到工程根目錄, 分別啟動worker、beat、flower
  • celery -A AutoTest worker -l info #啟動worker celery -A AutoTest beat -l info #啟動任務監聽 # 上面兩命令可以合并: celery -A AutoTest worker -l info -B celery flower #啟動任務后臺
  • 訪問:http://localhost:5555/dashboard 即可查看任務列表和狀態
  • 平臺地址: http://127.0.0.1:8080/
  • django后臺是否需要看自己情況
  • 功能介紹

  • 注冊新用戶,成功后自動登錄跳轉,前臺只能注冊為普通用戶.而管理員用戶可以通過admin后臺創建或修改.

  • 首頁為數據面板,菜單按測試管理-數據管理-報告管理,劃為三個模塊

  • 平臺按項目-模塊-用例的層級管理,要依次創建對應的條目

  • 多數模塊都提供了搜索欄

  • 項目/模塊/用例均提供了批量運行的方式, 而用例也可以單獨運行和快速調試

  • debugtalk頁面, 為每個項目綁定一份自定義函數或變量(下版本改為多項目共用debugtalk), 可在線編輯, 遵循python語法.

  • 用例嵌套引用/快速調試/結果一鍵提取



  • 添加及觸發任務

  • 數據管理, 提供多種形式保存用例數據, 做到數據與用例分離的目的

  • MOCK服務基于moco運行

  • 測試報告及郵件

  • 下版本待實現

  • 增加二級模塊; 項目使用目錄結構管理(項目-模塊-二級模塊-用例)
  • celery分布式并發是以任務為執行單位的,如設定的任務用例數量過大,則無法發布分布式的優勢,下版本將對過大的任務進行拆分,可真正發揮分布式并發的優勢
  • 用例重試機制
  • 任務中錯誤用例一鍵重試
  • 用例草稿/回收站
  • 自動化文字用例與腳本關聯及場景覆蓋率統計
  • 總結

    以上是生活随笔為你收集整理的开源接口测试平台BTest的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。