Postman小技巧之腳本中發送請求

用過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

  1. 發送GET請求
    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並使用,併發

     

  2. 發送表單格式Post請求
    //構造一個登陸請求
    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

     

  3. 發送JSON格式請求
     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 });

     

  4. 發送XML格式請求
    發送XML格式和發送JSON格式差很少, 只要指定內容格式併發送相應的內容便可
     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 });
相關文章
相關標籤/搜索