欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:科普文:一文搞懂Postman

柚子快報邀請碼778899分享:科普文:一文搞懂Postman

http://yzkb.51969.com/

1. 概敘

1.1 Postman簡介

Postman是一款強大的接口測試工具,?主要用于測試HTTP請求,?支持各種HTTP請求方法,?包括GET、?POST、?PUT、?DELETE等,?并且提供了豐富的功能來模擬和測試各種網(wǎng)絡(luò)請求。?

Postman官網(wǎng)上這樣介紹它:"Manage all of your organization's APIs in Postman, with the industry's most complete API development environment."看的出來Postman是功能強大的API測試的工具 Postman 提供功能強大的 Web API 和 HTTP 請求的調(diào)試,它能夠發(fā)送任何類型的HTTP 請求 (GET, POST, PUT, DELETE...),并且能附帶任何數(shù)量的參數(shù)和 Headers。不僅如此,它還提供測試數(shù)據(jù)和環(huán)境配置數(shù)據(jù)的導(dǎo)入導(dǎo)出,付費的 Post Cloud 用戶還能夠創(chuàng)建自己的 Team Library 用來團隊協(xié)作式的測試,并能夠?qū)⒆约旱臏y試收藏夾和用例數(shù)據(jù)分享給團隊。

1.2 Postman功能特性說明

可參考:postman接口測試工具詳解【全】_postman工具-CSDN博客

Postman的主要功能和特點包括:?

支持各種HTTP請求方法:?Postman支持HTTP協(xié)議的所有請求方式,?包括GET、?POST、?HEAD、?PUT、?DELETE等,?滿足各種測試需求。?請求參數(shù)設(shè)置:?可以設(shè)置請求的URL參數(shù)、?請求頭、?請求體等,?支持表單格式和JSON格式的數(shù)據(jù)發(fā)送。?模擬登錄和Cookies管理:?可以模擬登錄過程,?保存登錄后的Cookies,?以便在后續(xù)的請求中使用。?數(shù)據(jù)同步和團隊協(xié)作:?支持數(shù)據(jù)同步功能,?可以在不同設(shè)備上同步測試數(shù)據(jù);?支持團隊協(xié)作,?可以推送請求給團隊成員執(zhí)行或繼續(xù)開發(fā)。?接口開發(fā)和測試全流程支持:?從接口開發(fā)到測試,?再到模擬測試和監(jiān)控,?Postman提供了全面的支持。?內(nèi)置腳本和測試自動化:?支持編寫內(nèi)置腳本進行接口測試自動化,?提高測試效率。?

使用Postman進行接口測試的基本步驟包括:?

創(chuàng)建請求:?在Postman中創(chuàng)建一個新的請求,?設(shè)置請求方法、?URL、?請求頭和請求體。?發(fā)送請求:?根據(jù)需要設(shè)置的各種參數(shù),?發(fā)送HTTP請求。?查看響應(yīng):?查看服務(wù)器的響應(yīng),?包括狀態(tài)碼、?響應(yīng)體等。?測試和驗證:?使用內(nèi)置的測試腳本對響應(yīng)進行驗證,?確保接口按照預(yù)期工作。?數(shù)據(jù)同步和團隊協(xié)作:?利用Postman的同步功能,?確保團隊成員使用最新數(shù)據(jù);?通過分享請求,?讓團隊成員繼續(xù)執(zhí)行或修改。?

Postman還支持JSON格式的數(shù)據(jù)發(fā)送和接收,?這對于處理結(jié)構(gòu)化數(shù)據(jù)非常有用。?此外,?Postman還提供了豐富的文檔和教程,?幫助用戶快速上手和使用這款工具。

1.3 Postman下載及安裝

Postman有2種安裝方式,一種是作為Chrome的插件,另一種是客戶端形式,建議使用客戶端安裝

1. Postman下載 官網(wǎng)下載地址 :https://www.getpostman.com/downloads/

2. 安裝過程 默認安裝即可,安裝完成后,注冊登錄

2. Postman詳細操作說明

2.1 Postman功能視圖

詳細功能可以參考Postman官方 文檔, 打開軟件,就可以看到Postman主界面,如下圖所示17個功能菜單和說明:

1.?Collections:在Postman中,Collection類似文件夾,可以把同一個項目的請求放在一個Collection里方便管理和分享,Collection里面也可以再建文件夾。如果做API文檔的話,可以每個API對應(yīng)一條請求,如果要把各種輸入都測到的話,就需要每條測試一條請求了。

2.?上面的黑字注冊是請求的名字,如果有Request description的話會顯示在這下面。下面的藍字是保存起來的請求結(jié)果,點擊可以載入某次請求的參數(shù)和返回值。我會用這個功能給做客戶端的同事展示不同情況下的各種返回值。保存請求的按鈕在15.

3.?選擇HTTP Method的地方,各種常見的不常見的非常全。

4.?請求URL,兩層大括號表示這是一個環(huán)境變量,可以在16的位置選擇當前的environment,環(huán)境變量就會被替換成該environment里variable的值。

5.?點擊可以設(shè)置URL參數(shù)的key和value

6.?點擊發(fā)送請求

7.?點擊保存請求到Collection,如果要另存為的話,可以點擊右邊的下箭頭

8.?設(shè)置鑒權(quán)參數(shù),可以用OAuth之類的

9.?自定義HTTP Header,有些因為Chrome原因不能自定義的需要另外裝一個插件Interceptor,在16上面一行的衛(wèi)星那里

10.?設(shè)置Request body,13那里顯示的就是body的內(nèi)容

11.?在發(fā)起請求之前執(zhí)行的腳本,例如request body里的那兩個random變量,就是每次請求之前臨時生成的。

12.?在收到response之后執(zhí)行的測試,測試的結(jié)果會顯示在17的位置

13.?有四種形式可以選擇,form-data主要用于上傳文件。x-www-form-urlencoded是表單常用的格式。raw可以用來上傳JSON數(shù)據(jù)

14.?返回數(shù)據(jù)的格式,Pretty可以看到格式化后的JSON,Raw就是未經(jīng)處理的數(shù)據(jù),Preview可以預(yù)覽HTML頁面

15.?點擊這里把請求保存到2的位置

16.?設(shè)置environment variables和global variables,點擊右邊的x可以快速查看當前的變量。

17.?測試執(zhí)行的結(jié)果,一共幾個測試,通過幾個。

2.2 測試工具

測試工具主要包括三部分,在發(fā)起請求之前運行的Pre-request,在收到應(yīng)答之后運行的Test,和一次運行所有請求的Collection Runner.

1. Pre-request

預(yù)請求腳本是與在發(fā)送請求之前執(zhí)行的收集請求相關(guān)聯(lián)的代碼片段。

Pre-request和Test用的語言都是JavaScript,Postman在一個沙盒里執(zhí)行代碼,提供給用戶的庫和函數(shù)可以在這里查看。而常用的功能都可以通過右邊的Code Snippets實現(xiàn),點擊就可以插入到代碼區(qū)域。 ?

2. Test測試

使用Postman,您可以使用JavaScript語言為每個請求編寫和運行測試.

測試例子 設(shè)置環(huán)境變量

pm.environment.set("variable_key", "variable_value");

獲取環(huán)境變量

pm.environment.get("variable_key");

獲取環(huán)境變量(其值是字符串化對象)

var array = JSON.parse(pm.environment.get("array"));var obj = JSON.parse(pm.environment.get("obj"));

清除環(huán)境變量

pm.environment.unset("variable_key");

設(shè)置全局變量

pm.globals.set("variable_key", "variable_value");

獲取全局變量

pm.globals.get("variable_key");

清除全局變量

pm.globals.unset("variable_key");

得到一個變量 此函數(shù)在全局變量和活動環(huán)境中搜索變量。

pm.variables.get("variable_key");

檢查響應(yīng)主體是否包含字符串

pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search");});

檢查響應(yīng)主體是否等于字符串

pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string");});

檢查JSON值

pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100);});//var jsonData = JSON.parse(responseBody);//tests["list"] = jsonData["lists"][0] == "11";

內(nèi)容類型存在

pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type");});

響應(yīng)時間小于200毫秒

pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200);});

代碼名稱包含一個字符串

pm.test("Status code name has string", function () { pm.response.to.have.status("Created");});

成功的POST請求狀態(tài)代碼

pm.test("Successful POST request", function () { pm.expect(pm.response.code).to.be.oneOf([201,202]);});

將XML主體轉(zhuǎn)換為JSON對象

var jsonObject = xml2Json(responseBody);

獲取HTML并取出其中的值

//獲取HTMLconst $ = cheerio.load(responseBody);//獲取input標簽中name屬性值為SignValue的數(shù)據(jù)中屬性為value的值var signvalue=$('input[name=SignValue]').attr('value');獲取textarea標簽中name值為SignValue的數(shù)據(jù)中文本屬性text的值var signvalue=$('textarea[name=SignValue]').text();

3. Collection Runner

當編寫了很多測試之后,就可以使用Collection Runner來自動運行整個Collection了,入口就在主界面最上面一行的Runner。選好Collection、Environment,如果有需要還可以載入JSON和CSV作為數(shù)據(jù)源。點擊Start Run,就可以看到結(jié)果了。

runner是postman中執(zhí)行collection集合中請求的一種用法,可以調(diào)整執(zhí)行的順序和用例的數(shù)量。

可以記錄執(zhí)行結(jié)果及導(dǎo)出結(jié)果報告(json格式的報告)。

運行測試集合

選擇一個測試集合,啟動運行器。

參數(shù)化(數(shù)據(jù)驅(qū)動測試)

1)json文件數(shù)據(jù)驅(qū)動

創(chuàng)建json文件,并設(shè)置數(shù)據(jù):

使用文件中的鍵名參數(shù)化postman正文數(shù)據(jù)值。

斷言也需要進行參數(shù)化:

使用Runner運行器,導(dǎo)入、并查看數(shù)據(jù)文件

因為有四條數(shù)據(jù),迭代次數(shù)就默認給設(shè)置成了4次。

它會每次迭代從文件中讀取一行數(shù)據(jù)進行參數(shù)化,并允許。

直到四次迭代結(jié)束,數(shù)據(jù)使用完畢。

做好設(shè)置,保存響應(yīng)結(jié)果,點擊運行集合。

2)csv文件數(shù)據(jù)驅(qū)動

后續(xù)操作過程見json數(shù)據(jù)驅(qū)動過程。

4. newman插件的使用

newman是postman的插件,是用于命令行運行測試集合的一個插件。

1、安裝

先安裝nodejs,通過npm -v驗證

最好安裝16版本以上。

如果出現(xiàn)安裝進度慢,默認鏡像源(軟件所在的服務(wù)器)在國外,可以更新到國內(nèi)的鏡像源服務(wù)器上去。

npm config set registry?http://registry.npm.taobao.org

2、使用newman運行collection

前提準備:

測試集合文件,是通過postman導(dǎo)出的json文件。環(huán)境變量文件,是需要通過postman導(dǎo)出的json文件。數(shù)據(jù)驅(qū)動文件:data.json、data.csv

1) 只運行一個collection集合(不涉及到環(huán)境變量、不涉及參數(shù)化)

導(dǎo)出集合文件為:zhuluoji_collection.json

就可以使用newman運行這個集合文件了:

格式: newman run 集合文件的全路徑

2) 指定迭代次數(shù) : -n

newman run e:\zhuluoji_collection.json -n 2

3) 指定局部環(huán)境變量:-e

導(dǎo)出environment環(huán)境變量文件。

newman run e:\zhuluoji_collection.json -e e:\BaiDuTrans_environment.json -n 2

4) 指定全局環(huán)境變量:-g

導(dǎo)出globals環(huán)境變量文件:

newman run e:\BaiDuTrans_collection.json -e e:\BaiDuTrans_environment.json -g e:\globals.json -n 1

5) 指定參數(shù)化文件的:-d

可以支持json和csv文件進行參數(shù)化的。

newman run e:\MiFeng_collection.json -d e:\data.json

newman run e:\MiFeng_collection.json -d e:\data.csv

3、生成報告

1) cli過格式報告

在cmd下運行的結(jié)果報告的展示形似。

2) json格式報告

-r json : 指定輸出報告的格式是json格式。

newman run e:\MiFeng_collection.json -d e:\data.csv -r json --reporter-json-export e:\data\result1212.json

3) html格式報告

-r html : 指定輸出報告的格式為html格式

newman run e:\MiFeng_collection.json -d e:\data.csv -r html --reporter-html-export e:\data\result1212.html

但是html格式輸出,需要安裝插件才能使用。

npm install -g newman-reporter-html

4) 集成命令到批處理文件中(bat文件)

創(chuàng)建一個txt文件,重命名為run.bat文件,將其編碼改為utf-8,將上面可執(zhí)行的newman命令復(fù)制到該文件即可。

保存后,雙擊該文件運行。

4、newman+jenkins集成做定時任務(wù)

1、配置jenkins支持newman的環(huán)境變量

需要配置newman和node的路徑,通過where命令來獲取。

可參考:Postman接口測試工具最全實用教程

2.3 變化的參數(shù)

1. 使用變量 現(xiàn)在使用參數(shù)都是寫死的, 那么如果想要測試賬號密碼參數(shù)使用其它值有沒有異常怎么辦呢? 這里就需要使用變量 引用變量的語法:{{變量名}} Pre-request Script 和 Tests都可以設(shè)置變量,區(qū)別在于:Pre-request Script 中的腳本是在執(zhí)行請求之前運行,而Tests 中的腳本則是在請求完成之后執(zhí)行。2. 測試數(shù)據(jù)集 在執(zhí)行Collection Runner時可以選擇CSV或json格式的文件作為測試數(shù)據(jù)集 CSV文件格式:

JSON文件格式:

在執(zhí)行Collection Runner時使用CSV/JSON文件

3. 定期任務(wù) Postman 提供了一個 Monitors (監(jiān)視器)功能,支持我們提交一個測試任務(wù),按照設(shè)置的定時器進行運行,如每小時測試一次,具體操作如下:

2.4 接口依賴的問題

1. 接口執(zhí)行順序 首先,說明一下,接下來說的接口都是默認屬于同一個集合 (Collections) 中的。 接口的執(zhí)行順序其實就是按照這邊目錄中的順序(從上到下);所以有了這個默認的執(zhí)行順序后,那么我們便可以把需要優(yōu)先執(zhí)行的接口放前面即可,比如把“登錄接口”放在第一個。2. 自定義執(zhí)行順序 當然,如果只有默認的一個執(zhí)行順序的話,通常沒法滿足我們復(fù)雜的業(yè)務(wù)需求,所以 Postman 為我們提供了一個函數(shù):postman.setNextRequest("填寫你要跳轉(zhuǎn)的接口名") 我們可以在接口的 Tests 功能區(qū)中執(zhí)行跳轉(zhuǎn)代碼,如:

這里需要注意幾點:

postman.setNextRequest() 只在運行集合測試的時候生效,也就是說我們單獨運行 (Send) 接口 時,函數(shù)是不起作用的。當我們運行集合測試成功從 Request1 -> Request3 后,如果 Request3 后面還有接口,那么后面的接口仍然繼續(xù)按默認順序執(zhí)行,即圖中的接口 Request4 仍會被執(zhí)行。指定的跳轉(zhuǎn)接口必須屬于同一個集合中。setNextRequest() 函數(shù)不管在 Tests 腳本中何處被調(diào)用,它都只在當前腳本最后才被真正執(zhí)行。比如我們將圖中的第二行與第一行互調(diào)后,那么在運行跳轉(zhuǎn)函數(shù)后第二行代碼仍會被執(zhí)行。

3. 解決依賴的思路

保證 Request1 在 Request3 之前被運行將 Request1 返回的 access_token 的值添加到環(huán)境變量"參數(shù)集"中。Request3 在請求時引用 access_token 的值

2.5 預(yù)處理和斷言

這兩個模塊采用的是js語法腳本。

1、預(yù)處理 -pre-request script模塊

在當前請求發(fā)送之前要處理的腳本,我們能做點什么事情?

用于處理請求數(shù)據(jù)(獲取、設(shè)置、加密等)

在發(fā)送當前請求之前發(fā)送另外一個請求(OA的登錄和上傳圖片)。

1)發(fā)送一個get請求

2)獲取參數(shù)(全局環(huán)境、局部環(huán)境、集合變量)

3)修改、設(shè)置參數(shù)(掌握)

4)發(fā)送一個post類型的請求

//發(fā)一次登錄請求??

//是在OALoadImage前要處理的腳本

//實現(xiàn)發(fā)送一個post請求

var postInfo = {

"url":"http://xxxx/MiFengOA/index.php?a=check&m=login&d=&ajaxbool=true&rnd=607798",

"method":"post",

"body":{

"mode":"urlencoded",

"urlencoded":"rempass=0&jmpass=false&device=1650464000397<ype=0&adminuser=YWRtaW4:&adminpass=YTg5ODM5ODM:&yanzm="

}

}

pm.sendRequest(postInfo, function (err, response) {

//如果響應(yīng)正文是json格式的,就可以response.json()輸出響應(yīng)正文

//如果響應(yīng)正文是不是json格式的,就輸出字符粗格式:response.text()

console.log(response.json());

});

2、斷言-tests

在當前請求發(fā)送之后要處理的腳本,是作為斷言來使用的。

發(fā)送完當前請求之后,對響應(yīng)的結(jié)果進行判斷、斷言

斷言的內(nèi)容可以是:響應(yīng)正文、響應(yīng)狀態(tài)碼、響應(yīng)頭部的字段呢?響應(yīng)時間等

響應(yīng)正文斷言:包含子字符串(掌握)和json斷言(掌握)

其他斷言方式了解:響應(yīng)狀態(tài)碼斷言、響應(yīng)時間斷言等

//實現(xiàn)斷言,是在當前請求發(fā)送完成之后,得到響應(yīng)結(jié)果才能進行的。

//1、判斷響應(yīng)狀態(tài)碼是否符合預(yù)期,并不能完全確定業(yè)務(wù)是否是正確的

pm.test("響應(yīng)狀態(tài)碼是200?", function () {

//實現(xiàn)判斷語法

//pm.response: http的響應(yīng)報文(四大組成部分)

// to.have.status(200):是否包含狀態(tài)碼200呢?

pm.response.to.have.status(200);

});

//了解就行

tests["響應(yīng)狀態(tài)碼是否為200?"] = responseCode.code === 200;

// 2、響應(yīng)正文做斷言(重點掌握)

// 以字符串格式的正文形式斷言(都行)

// 大串(實際結(jié)果)包小串(預(yù)期結(jié)果)。

// pm.response.text():將響應(yīng)報文中的正文部分轉(zhuǎn)化為字符串格式

pm.test("大串包小串??", function () {

pm.expect(pm.response.text()).to.include("用戶名不符合格式要求");

});

//responseBody :獲取的是響應(yīng)正文

tests["響應(yīng)正文包括指定字符串?"] = responseBody.has("用戶名不符合格式要求");

// 以json格式的正文進行i斷言(響應(yīng)報文頭部的content-type為json的可以用)

//直接使用json斷言

pm.test("Your test name", function () {

var jsonData = pm.response.json();

console.log(jsonData.trans_result[0].dst)

pm.expect(jsonData.trans_result[0].dst).to.eql("蘋果");

});

//響應(yīng)時間:從發(fā)出請求,到接收到響應(yīng)結(jié)果的時間差就是響應(yīng)時間,是接口的一個性能指標

// 假設(shè)要求,該請求響應(yīng)時間不應(yīng)該高于200ms

pm.test("響應(yīng)時間的判斷:", function () {

//pm.response.responseTime:實際的響應(yīng)時間

// to.be.below:低于某個指定的值

pm.expect(pm.response.responseTime).to.be.below(400);

});

2.6 使用postman進行HTTP接口測試

詳細功能可以參考:Postman接口測試工具最全實用教程

1、get請求

get請求不需要有請求的正文數(shù)據(jù)的,其他都要(url和請求方式必須,可選的是頭部字段)。

1)百度翻譯接口? ?自己再去做一遍即可。

請求地址:

url:https://fanyi-api.baidu.com/api/trans/vip/translate

請求方式:get

params:q=apple&from=auto&to=zh&appid=xxxxx&salt=888888&sign=a9adc2d687fbacecc3b5059b9ccedc95

2)B站視頻最新評論接口

url:https://api.bilibili.com/x/v2/reply/main

請求方式:get

params: callback=jQuery17207775567550413909_1655259544202&jsonp=jsonp&next=0&type=1&oid=248143527&mode=2&plat=1&_=1655259574655

在postman中實現(xiàn)上述的參數(shù),形成參數(shù)用例(直接報錯,觸發(fā)防盜鏈功能):

視頻類的網(wǎng)站都有一個防盜鏈功能,就算抓到了請求的基本參數(shù),你也不能通過工具獲取評論的參數(shù),其實是通過一個頭部字段進行的限制,這個字段就起到了防盜鏈的作用。

referer:一般只是當前視頻所在的地址,用它做防盜鏈的作用,必須指定referer,而且referer的值和當前視頻的地址一致,你才有權(quán)限獲取評論信息。

至于使用哪一個字段來做防盜鏈,開發(fā)設(shè)計的,只不過使用referer的居多。

解決方法:

postman的header標簽下,添加一個頭字段referer(可以抓包獲?。?。

2、post請求--x-www-form-urlencoded

除了get所需的所有參數(shù)(請求方式、請求地址、請求頭部等),還需要請求正文數(shù)據(jù)。

1)百度翻譯

使用post請求實現(xiàn)百度翻譯功能,content-type一定是x-www-form-urlencoded

https://fanyi-api.baidu.com/api/trans/vip/translate?q=apple&from=auto&to=zh&appid=xxxxxx&salt=888888&sign=a9adc2d687fbacecc3b5059b9ccedc95

請求地址:

https://fanyi-api.baidu.com/api/trans/vip/translate

請求類型:post

請求正文:

q:applefrom:autoto:zhappid:xxxxxsalt:888888sign:a9adc2d687fbacecc3b5059b9ccedc95請求頭部:content-type:x-www-form-urlencoded

2) 電商前臺的注冊接口

特點是post請求,content-type要求是以x-www-form-urlencoded。

請求的地址:

http://xxxxx/qftest/index.php?c=user&a=register&step=submit

請求的方式:post

請求的參數(shù):拼接在地址欄了

請求的數(shù)據(jù):

username: 給一個已注冊的數(shù)據(jù)、空、4位、數(shù)字開頭、正常未注冊等emailpasswordrepasswordagree

請求的頭部:content-type:application/x-www-form-urlencoded

3)電商登錄接口

請求地址:

http://xxxxx/qftest/user/login.html?step=submit

請求方式: post

請求正文:

username:bk2201_00001password:200c6d94e583e62c6964de3acdc723e5

請求頭部:content-type:application/x-www-form-urlencoded

3、post請求--form-data

content-type類型位form-data,數(shù)據(jù)傳輸仍然是鍵值對,數(shù)據(jù)類型可以是文件(word、excel、圖片、視頻等)。

1)蜜鋒OA系統(tǒng)登錄功能--urlencoded

請求url:

http://xxxxx/MiFengOA/index.php?a=check&m=login&d=&ajaxbool=true&rnd=607798

請求方式:post

請求的數(shù)據(jù):

請求頭部:content-type: x-www-form-urlencoded

2)蜜鋒OA系統(tǒng)上傳圖片的功能--form-data

只有登錄成功之后才能夠上傳圖片,登錄失敗(沒有登錄)不能上傳。

請求地址:

http://xxxxx/MiFengOA/index.php?a=upfile&m=upload&d=public&maxsize=80&uptype=image&thumbnail=150x150&ajaxbool=true&rnd=322198

請求方式:post

請求數(shù)據(jù):file: (binary)

請求頭部:content-type:multipart/form-data

3) 多接口的實現(xiàn)-cookie的使用

cookie作為一種鑒權(quán)的方式,登錄某個系統(tǒng)之后,再次訪問系統(tǒng)的不同頁面,都能保持登錄狀態(tài),就是因為后續(xù)的所有請求都攜帶了cookie的參數(shù)。

第一次登錄成功,postman或者瀏覽器,可以將登錄所用的用戶名及密碼等記錄在本地。

再在訪問其他接口的時候,瀏覽器發(fā)出的請求就會自動化從cookie管理器中攜帶和當前主機相關(guān)的cookie及值,這樣就一直保持了登錄狀態(tài)。

在postman中的兩個請求,登錄和上傳簽名。

如果希望通過postman的cookie管理器,來共享cookie值,就可以調(diào)整他倆的現(xiàn)后執(zhí)行順序即可,先登錄再上傳即可,每次都能動態(tài)獲取最新的cookie值,一般不會出錯。

如果不想使用cookie管理器,不想先登錄怎么辦,只能手動給上傳接口添加一個cookie參數(shù),應(yīng)為cookie是有時效性的,過一段時間就不能用了。

4、post請求-content-type:application/json

json數(shù)據(jù)結(jié)構(gòu)作為請求的正文數(shù)據(jù)及響應(yīng)正文數(shù)據(jù)是最常見的用法,將來大家接觸的80%都是這種格式的。

將來項目中json數(shù)據(jù)會更復(fù)雜、內(nèi)容會更多,上百行數(shù)據(jù)都很正常。

住邏輯的登錄的接口來演示。

請求地址:

https://xxx/designer_api/account/login_quick

請求的方式:post

請求的數(shù)據(jù):

{"phone":"xxx","code":"123456","messageType":3,"key":"a2088d42-2eb0-4194-aada-e3a0019ed5f1","registration_type":1,"channel":"zhulogic","unionid":""}

請求的頭部

Content-Type:application/json;charset=UTF-8

5、內(nèi)置腳本說明

1. 清除一個全局變量

Clear a global variable

對應(yīng)腳本:

postman.clearGlobalVariable("variable_key");

參數(shù):需要清除的變量的key

2.清除一個環(huán)境變量

Clear an environment variable

對應(yīng)腳本:

postman.clearEnvironmentVariable("variable_key");

參數(shù):需要清除的環(huán)境變量的key

3.response包含內(nèi)容

Response div:Contains string

對應(yīng)腳本:

tests["Body matches string"] =responseBody.has("string_you_want_to_search");

參數(shù):預(yù)期內(nèi)容

4.將xml格式的response轉(zhuǎn)換成son格式

Response div:Convert XML div to a JSON Object

對應(yīng)腳本:

var jsonObject = xml2Json(responseBody);

參數(shù):(默認不需要設(shè)置參數(shù),為接口的response)需要轉(zhuǎn)換的xml

5.response等于預(yù)期內(nèi)容

Response div:Is equal to a string

對應(yīng)腳本:

tests["Body is correct"] = responseBody === "response_div_string";

參數(shù):預(yù)期response

6.json解析key的值進行校驗

Response div:JSON value check

對應(yīng)腳本:

tests["Args key contains argument passed as url parameter"] = 'test' in responseJSON.args

參數(shù):test替換被測的值,args替換被測的key

7.檢查response的header信息是否有被測字段

Response headers:Content-Type header check

對應(yīng)腳本:

tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");

參數(shù):預(yù)期header

8.響應(yīng)時間判斷

Response time is less than 200ms

對應(yīng)腳本:

tests["Response time is less than 200ms"] = responseTime < 200;

參數(shù):響應(yīng)時間

9.設(shè)置全局變量

Set an global variable

對應(yīng)腳本:

postman.setGlobalVariable("variable_key", "variable_value");

參數(shù):全局變量的鍵值

10.設(shè)置環(huán)境變量

Set an environment variable

對應(yīng)腳本:

postman.setEnvironmentVariable("variable_key", "variable_value");

參數(shù):環(huán)境變量的鍵值

11.判斷狀態(tài)碼

Status code:Code is 200

對應(yīng)腳本:

tests["Status code is 200"] = responseCode.code != 400;

參數(shù):狀態(tài)碼

12.檢查code name 是否包含內(nèi)容

Status code:Code name has string

對應(yīng)腳本:

tests["Status code name has string"] = responseCode.name.has("Created");

參數(shù):預(yù)期code name包含字符串

13.成功的post請求

Status code:Successful POST request

對應(yīng)腳本:

tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

14.微小驗證器

Use Tiny Validator for JSON data

對應(yīng)腳本:

var schema = {

"items": {

"type": "boolean"

}

};

var data1 = [true, false];

var data2 = [true, 123];

console.log(tv4.error);

tests["Valid Data1"] = tv4.validate(data1, schema);

tests["Valid Data2"] = tv4.validate(data2, schema);

參數(shù):可以修改items里面的鍵值對來對應(yīng)驗證json的參數(shù)折疊

柚子快報邀請碼778899分享:科普文:一文搞懂Postman

http://yzkb.51969.com/

好文閱讀

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19299491.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄