postman(六):詳解在Pre-request Script中如何執行請求

上一篇藉着如何在不一樣接口之間傳遞數據,簡單說了下在postman編寫腳本發送請求,這裏再詳細介紹一下如何在Pre-request Script和Tests標籤中編寫腳本。由於我目前研究的也不是很深,對js也只是瞭解一點皮毛,因此大部分仍是依賴postman已經封裝好的方法來介紹json

這裏以Pre-request Script標籤來介紹數組

1.首先postman提供了一個「Send a request」代碼段,他是已經封裝好的發送請求的方法app

pm.sendRequest("https://postman-echo.com/get", function (err, response) {
    console.log(response.json());
});

其中,https://postman-echo.com/get表示要發送的請求
function中的err表示請求返回的錯誤信息,response表示響應內容
console.log()是postman封裝的查看日誌的方法,能夠調出postman的console控制檯來查看代碼運行狀況,方便調試。想要打印出什麼由本身來定義,上面表示打印出json格式的響應信息

 須要注意的是,這個代碼段默認只能發送get請求,且這樣直接使用的話沒法指定請求頭等信息,固然大部分狀況下咱們不須要單獨指定一些請求信息,postman能夠自動幫咱們完成準備工做。post

2.本身編寫腳本發送post請求測試

示例代碼以下this

// Example with a full fledged SDK Request
const echoPostRequest = {
  url: 'https://postman-echo.com/post',
  method: 'POST',
  header: 'headername1:value1',
  body: {
    mode: 'raw',
    raw: JSON.stringify({ key: 'this is json' })
  }
};
pm.sendRequest(echoPostRequest, function (err, res) {
  console.log(err ? err : res.json());
});

const是js中用來定義變量的關鍵字,由const定義的變量不能夠修改,並且必須初始化
url表示要發送的請求url;
method指定請求方法;
header定製請求頭信息(很重要,由於你要傳json格式的數據的話,須要在這裏定義請求頭爲Content-Type:application/json,我開始這裏沒填寫,一直提示json參數不對。。。)
body表示請求body中攜帶的參數
方法是將一個JavaScript值(對象或者數組)轉換爲一個JSON字符串

定義好const變量後再由sendRequest()來發送請求便可
JSON.stringify()

咱們須要根據本身的實際須要來往裏面填充內容,假如要傳一個POST請求,且body參數爲json數據url

以下,是我測試一個接口改編的腳本spa

var data = {
"key1":"value1",
"key2":"value2",
} const echoPostRequest = { url: 'http://ip:port/XXX', method: 'POST', header:'Content-Type:application/json', body: { mode: 'raw', raw: JSON.stringify(data) }}; pm.sendRequest(echoPostRequest, function (err, res) { console.log(res.json()); });

開始我沒有把 Content-Type:application/json 定義在請求頭中,致使一直識別不了傳入的json參數,響應報以下錯誤3d

正常返回以下調試

若是header中須要添加多個鍵值對,則須要按照以下方式

header:[
        {"key1":"XXX",
         "value1":"XXX"},
        {"key2":"XXX",
         "value2":"XXX"}
        ]

header:[
         'key1:XXX',
         'key2:XXX'
        ]

 

總結:要學會使用console.log()來調試代碼,例如返回異常,想看看是否是傳參類型問題,則用console.log(typeof(data))


2018-12-30 22:14:11

相關文章
相關標籤/搜索