前言
數據文件是非常強大的方式使用不同的測試數據來測試我們的API,以檢查它們是否在各種情況下都能正常運行。我們可以認為數據文件是“Collection Runner”中每個請求的參數。下面,通過一個例子來說明如何使用數據文件。
這篇文章需要結合下面兩個文件進行說明,請分別下載:
在Postman中導入集合文件。導入成功后,有一個只有一個Post請求的集合。打開這個集合中的請求,我們會發現這個請求有兩個變量,分別是請求URL中的path
和請求體中的value
,它們就像和環境變量一樣被使用。這次,我們將通過使用數據文件,給這些變量賦值。再打開該請求的測試腳本,我們會發現在腳本中使用了data
指定的數據。這個data
在腳本中本身並沒有定義。Postman沙箱從我們在設置集合運行的配置參數中選擇的JSON/CSV
文件初始化數據變量。
使用案例
下面演示在“Collection Runner”使用數據文件。我們先看看數據文件,Postman目前支持JSON和CSV兩種格式的文件。在本文中對應的數據JSON文件像下面這樣:
[{ "path": "post", "value": "1" }, { "path": "post", "value": "2" }, { "path": "post", "value": "3" }, { "path": "post", "value": "4" }]
這是一個對象數組。每個對象表示一次迭代的變量值。這個對象的每個成員都代表一個變量。這樣,在第一次迭代中,路徑的變量將被賦值為post,並且請求體中的value將被賦值為1。同樣,在第二次迭代中,路徑的變量將被賦值為post,並且請求體中的value將被賦值為2。
數據文件也可以是CSV。示例CSV看起來像這樣:
path, value post, 1 post, 2 post, 3 post, 4
在典型的CSV方式中,第一行表示所有變量名稱,后續行表示每次迭代時這些變量的值。對於第一次迭代,路徑值為post,請求體值為1。對於第二次迭代,路徑值仍然為post,但請求體值為2。
請注意,“Collection Runner”的每一次運行只能選擇一個數據文件。
現在我們已經了解如何構建數據文件,接下來我們將該數據文件提供給“Collection Runner”。在運行器中單擊選擇文件,然后選擇其中一個文件。我們還可以通過單擊文件名旁邊的預覽來預覽每個變量,以及每個變量的值。如下圖所示:
現在我們可以運行我們的集合。我們會看到所有的測試都通過了。如果打開請求調試工具並展開請求正文,則會看到變量{{value}}
已被數據文件中對應的值所代替。實際上,對於不同的迭代,這個值是不同的。這樣,我們已經向我們的API使用了不同的數據進行測試,並確保它可以針對每種情況都能夠正確工作。
我們再來看看我們的測試腳本。變量數據是從數據文件中獲取的。隨着每次迭代,它的值都會從我們數據文件中獲取對應的值。所以,我們可以通過API返回的值與我們在數據文件中設定的期望值進行比對,如果值一致,則認為測試通過;反之則測試不通過。
不僅僅在前置請求和測試腳本之中,數據變量可以在所有可以使用環境變量的地方使用,方式完全相同。
參考:https://www.jellythink.com/archives/187