【Tavern】1.tavern測試框架介紹

image

1. Tavern 和 Postman

Tavern是一個用Python實現的介面自動化測試工具,支援RESTful API 和MQTT。

Postman相比,有以下優點:

  • 使用yaml的描述測試用例,簡單、清晰、直觀,特別是對於非開發人員而言
  • 與pytest無縫集成,可用pytest的強大功能和各種插件
  • 功能齊全的Python環境,允許你輕鬆編寫各種自定義斷言
  • 支援對MQTT系統測試

也一些劣勢:

  • 沒有GUI
  • 沒有API monitoring
  • 沒有Mock Server

這是因為tavern只專註做好一件事:API自動化測試,其他事情應當交給專業的工具去做(在Python世界中,有足夠多的專業工具

實際上,Tavern有三種使用方式,以適用於不同的技術基礎、應用場景,分別是:

  1. 作為pytest插件使用

  2. 作為命令行工具使用

  3. 作為python庫使用

其內部使用pytest、requests等知名python自動化測試工具,

如果你對這些工具有經驗,使用tavern非常容易,
如果沒有經驗,也可以藉此進行了解,為日後自定義測試框架打好基礎

本系列文章將介紹第一種,也就是最容易上手的方式,無論你是否擁有Python經驗,都能夠快速實現介面自動化測試

2. 安裝Python

首先你應該一個python環境,如果沒有的話下載下面兩個安裝包,默認安裝即可:

Python 3.9.5: //www.python.org/downloads/release/python-395/

PyCharm 2021.1.1: //www.jetbrains.com/pycharm/download/#section=windows

(這個系列是「用Python」而不是「講Python」,如果你是Python新手,可以私信我,另有Python資料 )

3. 安裝Tavern

當你安裝好Python環境後,只需要執行一個命令即可安裝

pip install tavern

image

image

4. 第一個測試用例

安裝好之後,我們通過第一個測試用例可以來體驗一下

  1. 創建一個yaml文件,文件名為test_sanmu.tavern.yaml,並寫入以下內容

    image

  2. 執行命令pytest

    image

測試通過,撒花~~

關於用例文件的格式和解釋,在下一篇文章進行介紹