這一篇記錄的是 在 Postman 使用 CSV 一次完成相同欄位但不同資料的 Request,還有如果資料讀取的內容全是數字時建議應該如何做
API 的測試或者是平時打 API,都很有機會會打同一支 API 但資料不同的情況,如果是打 1、2 次換幾個欄位感覺不怎麼樣
但如果是1、2千次...握草,API 還沒打完自己就先死了欸...
今天的文章目錄
- 資料準備
- 資料變數使用
- 開啟 Collection Runner
- 執行結果
- 注意事項
本文參考於:
官方文件提到使用 CSV 和 JSON 的資料使用方式
資料準備
首先準備資料,5 筆欄位為 Number 的資料,存成 CSV 檔
Number
79013874
17013188
16452592
30892277
81651120
資料變數使用
以此資料為例,若要在 request body 或是 url 中使用時,只要使用 {{variable name}} 就可以了,如下
使用於 pre-request 和 Tests 時,就要使用 "data.variableName",以下為範例
在這裡寫了pm.test的原因是想知道目前這個request用了哪一個資料。
開啟Collection Runner
這時候開啟 Collection Runner 匯入自己的 CSV
記得將 Data File Type 改成 text/csv
執行結果
執行完畢後可以看到剛才寫的 pm.test 輸出了使用的資料!
注意事項
因為 postman 使用的語言 是 javascript,所以在讀取 CSV 的資料時要特別小心,比方說如果你的資料有電話號碼時...
以此資料為例
Phone
0912345678
0987654321
0912345679
直接打過去不對其資料進行處理的話,他會將你的號碼去除前面的 0
PS: 我公司的電腦全部的號碼都去除 0 了,不知為何我在家的電腦只有最後一筆變成整數...(如果有大大知道麻煩告訴我..)
CSV 資料變數建議使用方式
使用 全域變數或環境變數來存取 data 的資料,然後進行判斷後轉型,程式碼如下
if(typeof(data.Phone) != "string"){
pm.globals.set("Phone", String("0" + data.Phone));
}
以上程式碼加在 Pre-request Script 中,如下圖
接下來看一下執行結果!
這樣所有打出去的變數都會跟你預想的一樣了!
下面的注意事項就是今天採到的雷...實在是很悲劇啊 QAQ
如果以上有更好的做法歡迎跟我說~
感謝各位大大收看 <(_ _)>