Postman 本身并不支持直接進行數據驅動測試,但你可以通過編寫腳本或使用其他工具來實現這一目標。以下是一個使用 Node.js 和 Postman 的示例,展示如何實現數據驅動測試:
安裝 Node.js 和 npm(Node.js 包管理器):請訪問 https://nodejs.org/ 下載并安裝最新版本的 Node.js。npm 會隨附安裝。
安裝 Postman:請訪問 https://www.postman.com/downloads/ 下載并安裝最新版本的 Postman。
創建一個新的 Node.js 項目:打開命令行或終端,輸入以下命令:
mkdir postman-data-driven-test
cd postman-data-driven-test
npm init -y
npm install axios postman-collection
這將安裝 axios(用于發送 HTTP 請求)和 postman-collection(用于處理 Postman 集合文件)。
run-tests.js
的 Node.js 腳本文件,并添加以下內容:const axios = require('axios');
const { loadCollection } = require('postman-collection');
// 讀取 Postman 集合文件
const collectionFile = './your-collection.json'; // 替換為你的 Postman 集合文件路徑
const collection = loadCollection(collectionFile);
// 數據驅動測試數據
const testData = [
{
input: { key1: 'value1', key2: 'value2' },
expectedResponse: { key1: 'expectedValue1', key2: 'expectedValue2' },
},
// 添加更多測試數據
];
// 遍歷測試數據并發送請求
testData.forEach(({ input, expectedResponse }) => {
const response = axios.post('https://your-api-endpoint.com', input);
// 檢查響應是否與預期相符
if (response.data === expectedResponse) {
console.log(`Test passed for input: ${JSON.stringify(input)}`);
} else {
console.error(
`Test failed for input: ${JSON.stringify(input)}. Expected: ${JSON.stringify(
expectedResponse
)}, but got: ${JSON.stringify(response.data)}`
);
}
});
在 collection.json
文件中,確保你的請求和響應數據格式正確。
更新 run-tests.js
文件中的 https://your-api-endpoint.com
為你要測試的 API 端點。
在命令行或終端中,運行以下命令以執行腳本:
node run-tests.js
這將遍歷測試數據,對每個數據集發送請求,并檢查響應是否與預期相符。如果所有測試都通過,你將看到類似以下的輸出:
Test passed for input: {"key1":"value1","key2":"value2"}
如果有任何測試失敗,你將看到類似以下的輸出:
Test failed for input: {"key1":"value1","key2":"value2"}. Expected: {"key1":"expectedValue1","key2":"expectedValue2"}, but got: {"key1":"actualValue1","key2":"actualValue2"}