在执行接口测试之前,咱们须要在pre-request脚本里执行一些接口申请做一些筹备工作,比方要删除某个订单,则须要确认在删除之前这个订单是存在的,那咱们就能够在pre-request里判断是否存在订单,不存在则创立一个订单。
咱们由浅入深的由几个例子来阐明如何应用。
1. 发送一个简略的get申请
pm.sendRequest("https://postman-echo.com/get", function (err, response) { console.log(response.json());});
2. 发送一个制订headers的get申请
pm.sendRequest({ url: "https://postman-echo.com/get", method: "GET", header: { "Host": "postman-echo.com", "Accept-Encoding": "gzip, deflate, b" }}, function (err, response) { console.log(response.json())});
3. get申请里的内容应用变量
pm.sendRequest({ url: "https:" + pm.environment.get("host") + "/get", method: "GET", header: { "Host": "postman-echo.com", "Accept-Encoding": "gzip, deflate, b" }}, function (err, response) { console.log(response.json())});
4. 满足某个条件后发送第二个get申请 (接口同步)
pm.sendRequest({ url: "https://postman-echo.com/get", method: "GET", header: { "Host": "postman-echo.com", "Accept-Encoding": "gzip, deflate, b" },}, function (err, response) { console.log(response.json()) //if response not empty, then call request again if(response.json()!={}){ pm.sendRequest({ url: "https://postman-echo.com/get", method: "GET", header: { "Host": "postman-echo.com", "Accept-Encoding": "gzip, deflate, b" } }, function (err, response) { console.log(response.json()) }); }});
5.发送post申请
pm.sendRequest({ url: "https://postman-echo.com/post", method: "POST", header:'headername1:value1', body: { foo: 'thisisfoovalue' }}, function (err, response) { console.log(response.json())});
有时候发现body传不过来,能够尝试应用mode 'raw',如下图:
pm.sendRequest({ url: "https://postman-echo.com/post", method: "POST", header:'headername1:value1', body: { mode: 'raw', raw: JSON.stringify({ foo: 'thisisfoovalue' }) }}, function (err, response) { console.log(response.json())});
也能够尝试把申请的内容独自拿进去定义:
const echoPostRequest = { url: 'https://postman-echo.com/post', method: 'POST', header: 'headername1:value1', body: { mode: 'raw', raw: JSON.stringify({ foo: 'thisisfoovalue' }) } }; pm.sendRequest(echoPostRequest, function (err, res) { console.log(err ? err : res.json()); });