基于postman獲取動態(tài)數(shù)據(jù)過程詳解
1、在 Tests 中處理
返回報文為 json 格式的
- 示例:因為充值記錄接口中需要用到登錄接口返回報文中的信息如下
- 以獲取 token(JWT)和 uid 為例
- 在登錄接口的tests中寫入代碼(因為登錄接口報文信息中有返回 JWT 和 uid)
輸入完上圖中代碼后,點擊send請求接口,去全局變量中查看,是否成功獲取JWT和uid的值并且設(shè)置了全局變量
在充值記錄接口中需要用到JWT和uid的地方設(shè)置變量{{JWT}}和{{uid}}
請求完成后清除變量
通過批量執(zhí)行用例的方法執(zhí)行,且切換賬號進行登錄請求,進行驗證充值記錄的動態(tài)數(shù)據(jù)獲取是否成功
返回報文為 xml 格式從返回報文中取值設(shè)變量
執(zhí)行完上面接口后在全局變量中已存在變量 provice
依賴接口將變量中的 value 作為參數(shù)傳入
2、在 Pre-request Script 中處理
首先 postman 提供了一個 "Send a request" 代碼段,他是已經(jīng)封裝好的發(fā)送請求的方法,這個代碼段默認只能發(fā)送get請求,且這樣直接使用的話無法指定請求頭等信息
- https://postman-echo.com/get 表示要發(fā)送的請求
- function 中的 err 表示請求返回的錯誤信息,response 表示響應內(nèi)容
- console.log() 是 postman 封裝的查看日志的方法,可以調(diào)出 postman 的 console 控制臺來查看代碼運行情況,方便調(diào)試。想要打印出什么由自己來定義,上面表示打印出 json 格式的響應信息
假如要傳一個 POST 請求,且 body 參數(shù)為 json 數(shù)據(jù)
var data = {"userName": "17779828887","passWord": "123456"} const postRequest = { url: "http://localhost:8080/user/login", method: 'POST', header:"Content-Type: application/json", body: { mode: 'raw', raw: JSON.stringify(data) }}; pm.sendRequest(postRequest, function (err, res) { console.log(res.json()); // 講報文中的字段設(shè)為全局變量 pm.globals.set("uid", res.json().data.user.uid); pm.globals.set("token", res.json().data.token); }); // const 是 js 中用來定義變量的關(guān)鍵字,由 const 定義的變量不可以修改,而且必須初始化 // url 表示要發(fā)送的請求 url; // method 指定請求方法; // header 定制請求頭信息(因為你要傳 json 格式的數(shù)據(jù)的話,需要在這里定義請求頭為 Content-Type:application/json,我開始這里沒填寫,一直提示 json 參數(shù)不對。。。) // body 表示請求 body 中攜帶的參數(shù) // JSON.stringify() 方法是將一個 JavaScript 值(對象或者數(shù)組)轉(zhuǎn)換為一個 JSON 字符串
如果 header 中需要添加多個鍵值對,則需要按照如下方式
header: [ "Content-Type: application/json", "token: duoceshi" ]
假如要傳一個 POST 請求,參數(shù)類型是 application/x-www-form-urlencode
const form_request = { url: "http://192.168.0.221:8181/cms/manage/loginJump.do", method: "post", header: [ "Content-Type: application/x-www-form-urlencoded" ], body:{ mode: "raw", raw: "userAccount=admin&loginPwd=123456" } }; pm.sendRequest(form_request, function (err, response) { console.log(response.json()); });
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于IE中g(shù)etElementsByClassName不能用的問題解決方法
今天使用getElementsByClassName寫了段小程序,在IE6、8中測試的時候就出現(xiàn)問題了,瀏覽器報錯,經(jīng)搜索找到了一個比較好的方法,是個老外寫的一個方法2013-08-08獲取客戶端網(wǎng)卡MAC地址和IP地址實現(xiàn)JS代碼
獲取客戶端的一些信息,如IP和MAC,以結(jié)合身份驗證,相信很多人都會這樣做吧,我們這里用Javascript,這樣做的好處是不需要服務器端進行處理,有客戶端自行獲取,感興趣的你可以參考下哈2013-03-03用javascript關(guān)閉本窗口技巧小結(jié)
window.close()是用來關(guān)閉窗口的,而且ie和firefox都是支持的,下面通過示例為大家介紹下用javascript關(guān)閉本窗口2014-09-09