數(shù)據(jù)文件是非常強大的方式來測試您的API與不同的數(shù)據(jù),以檢查它們是否在意外情況下正常運行。
我們可以想到數(shù)據(jù)文件是每次迭代運行的參數(shù)。我們來看一個例子。
下載本例中使用的集合和數(shù)據(jù)文件:
在這里,我們有一個簡單的集合,具有單個POST請求。如果您打開此請求,您將在請求中path(在URL中)&value(請求正文)中看到兩個變量。這些就像環(huán)境變量一樣使用。我們將使用JSON / CSV文件為這些變量提供值。打開測試腳本時,您會看到我們在測試腳本中使用了一些變量 - data具體來說。這在腳本本身沒有定義。Postman Sandbox從我們將在收集運行中選擇的JSON / CSV文件初始化數(shù)據(jù)變量。
我們首先檢查下數(shù)據(jù)文件。我們目前支持JSON和CSV文件。
JSON數(shù)據(jù)文件如下所示:
[{
"path": "post",
"value": "1"
}, {
"path": "post",
"value": "2"
}, {
"path": "post",
"value": "3"
}, {
"path": "post",
"value": "4"
}]
這是一組對象。每個對象表示一次迭代的變量值。此對象的每個成員表示一個變量。這樣,在第一次迭代中,調(diào)用的變量path將具有該值post,該變量value將具有該值1。同樣,在第二次迭代,path仍然是post和value是2。在這個例子中,變量path不會改變它的迭代值,但是value會跟著變化,這完全取決于你。
數(shù)據(jù)文件也可以是CSV。示例CSV如下所示:
path, value
post, 1
post, 2
post, 3
post, 4
在典型的CSV方式中,第一行表示所有變量名,后續(xù)行表示每次迭代中這些變量的值。對于迭代1,path具有值post,并且value是1。對于第二次迭代,path仍然是post,但value是2。
請注意,進(jìn)行一次運行您只能使用一個數(shù)據(jù)文件。
現(xiàn)在,您了解如何構(gòu)建數(shù)據(jù)文件,讓我們將此數(shù)據(jù)文件提供給集合運行。單擊Select File,然后選擇其中一個文件。您也可以通過單擊文件名旁邊的Preview來預(yù)覽每個迭代的每個變量的值。
我們現(xiàn)在來運行我們的集合。你會看到所有的測試都通過了。如果打開請求調(diào)試工具提示并展開Request Body,您將看到變量{{value}}被數(shù)據(jù)文件所指定的值替換。詳細(xì)了解調(diào)試請求。實際上,對于不同的迭代,這個值是不同的。這樣,我們已經(jīng)將不同類型的數(shù)據(jù)投入到我們的API中,并確保它在每種情況下都能正常工作。
我們再來看看我們的測試腳本。該變量data是從數(shù)據(jù)文件獲取值的預(yù)定義變量。通過每次迭代,它的值將從我們的文件中的新數(shù)據(jù)更新。data是您的文件中定義的所有變量的對象,因為它是鍵。由于這個API回傳了發(fā)送給它的任何東西,所以我們斷言Echo的返回值與我們文件所指定的值相同。
數(shù)據(jù)變量可以在所有可以使用環(huán)境變量的地方使用,除了在預(yù)先請求和測試腳本之外,它們以完全相同的方式使用。




