用過Postman的應該都知道Collection(集合)/Folder(集合的子文件夾)/Request(請求)都有Pre-request script和Tests兩個腳本區域, 分別能夠在發送請求前和請求後使用腳本(基於Javascript實現各類操做),今天就來簡單的聊聊這部分是如何用的。javascript
接口內部的Pre-request script和Tests兩個腳本區域:java
接口集(collections)內部的Pre-request script和Tests兩個腳本區域:json
在遇到有依賴的接口時,好比須要登陸或者須要從前一個接口的結果中獲取參數時,咱們每每須要在該請求前先發送一下所依賴的請求, 咱們能夠在Pre-request script中使用pm.sendRequest實現api
const url = 'http://115.28.108.130:5000/api/user/getToken/?appid=136425'; // 發送get請求 pm.sendRequest(url, function (err, res) { console.log(err ? err : res.text()); // 控制檯打印請求文本 });
能夠配合pm.environment.set(key:value)來將響應中的數據保存到環境變量中以供本次請求使用
示例: 使用請求前腳本獲取token並使用,併發
//構造一個登陸請求 const loginRequest = { url: 'http://115.28.108.130:5000/api/user/login/', method: "POST", body: { mode: 'urlencoded', // 模式爲表單url編碼模式 urlencoded: 'name=張三&password=123456' } }; // 發送請求 pm.sendRequest(loginRequest, function (err, res) { console.log(err ? err : res.text()); });
輸出信息能夠經過點擊Postman菜單欄 ->view-> Show Postman Console, 打開控制檯查看(先打開控制檯,再發送請求)app
1 // 構造一個註冊請求 2 const regRequest = { 3 url: 'http://115.28.108.130:5000/api/user/reg/', 4 method: 'POST', 5 header: 'Content-Type: application/json', //注意要在Header中聲明內容使用的類型 6 body: { 7 mode: 'raw', // 使用raw(原始)格式 8 raw: JSON.stringify({ name: '小小', password: '123456' }) //要將JSON對象轉爲文本發送 9 } 10 }; 11 12 //發送請求 13 pm.sendRequest(regRequest, function (err, res) { 14 console.log(err ? err : res.json()); // 響應爲JSON格式能夠使用res.json()獲取到JSON對象 15 });
1 //構造請求 2 const demoRequest = { 3 url: 'http://httpbin.org/post', 4 method: 'POST', 5 header: 'Content-Type: application/xml', // 請求頭種指定內容格式 6 body: { 7 mode: 'raw', 8 raw: '<xml>hello</xml>' // 按文本格式發送xml 9 } 10 }; 11 12 //發送請求 13 pm.sendRequest(demoRequest, function (err, res) { 14 console.log(err ? err : res.json()); 15 });