日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/q386815991/article/details/79569409

1、Postman接口測(cè)試工具

Postman簡(jiǎn)介與安裝:

Postman是一款功能強(qiáng)大的網(wǎng)頁(yè)調(diào)試與發(fā)送網(wǎng)頁(yè)HTTP請(qǐng)求的Chrome插件。

它提供功能強(qiáng)大的 Web API & HTTP 請(qǐng)求調(diào)試。它能夠發(fā)送任何類(lèi)型的HTTP 請(qǐng)求 (GET, HEAD, POST, PUT..),附帶任何數(shù)量的參數(shù)+ headers。

Postman功能:

主要用于模擬網(wǎng)絡(luò)請(qǐng)求包

快速創(chuàng)建請(qǐng)求

回放、管理請(qǐng)求

快速設(shè)置網(wǎng)絡(luò)代理

Postman安裝:

1.在chrome應(yīng)用商店搜索,應(yīng)用商店地址:https://chrome.google.com/webstore/search/postman?t=http://webstore.google.com

翻墻下載直接添加成google瀏覽器插件即可

2.客戶(hù)端安裝

https://www.getpostman.com/Apps

建議選擇mac/windows app,比起Chrome app,下載不需要翻墻,功能更強(qiáng)大

2、界面

postman安裝與簡(jiǎn)要操作

 

3、Postman簡(jiǎn)單使用

http://www.bejson.com/ 解析json格式數(shù)據(jù)的網(wǎng)站

https://developers.douban.com/wiki/?title=book_v2#get_book_search

postman安裝與簡(jiǎn)要操作

 

https://mp.weixin.qq.com/wiki/home/

開(kāi)始開(kāi)發(fā)--接口測(cè)試號(hào)申請(qǐng)

appID wx55614004f367f8ca

Appsecret 65515b46dd758dfdb09420bb7db2c67f

用戶(hù)分組管理--創(chuàng)建分組

利用postman發(fā)送post請(qǐng)求、參數(shù)是json格式

postman安裝與簡(jiǎn)要操作

 

頁(yè)面訪(fǎng)問(wèn)請(qǐng)求(Post方法):

form-data、x-www-form-urlencoded、raw、binary的區(qū)別

1. form-data

就是http請(qǐng)求中的multipart/form-data,它會(huì)將表單的數(shù)據(jù)處理為一條消息,以標(biāo)簽為單元,用分隔符分開(kāi)。既可以上傳鍵值對(duì),也可以上傳文件。當(dāng)上傳的字段是文件時(shí),會(huì)有Content-Type來(lái)說(shuō)明文件類(lèi)型;content-disposition,用來(lái)說(shuō)明字段的一些信息;由于有boundary隔離,所以multipart/form-data既可以上傳文件,也可以上傳鍵值對(duì),它采用了鍵值對(duì)的方式,所以可以上傳多個(gè)文件。

2.x-www-form-urlencoded:

就是application/x-www-from-urlencoded,會(huì)將表單內(nèi)的數(shù)據(jù)轉(zhuǎn)換為鍵值對(duì)

3.raw

可以上傳任意格式的文本,可以上傳text、json、xml、html等

4.binary

相當(dāng)于Content-Type:application/octet-stream,從字面意思得知,只可以上傳二進(jìn)制數(shù)據(jù),通常用來(lái)上傳文件,由于沒(méi)有鍵值,所以,一次只能上傳一個(gè)文件。

multipart/form-data與x-www-form-urlencoded區(qū)別

multipart/form-data:既可以上傳文件等二進(jìn)制數(shù)據(jù),也可以上傳表單鍵值對(duì),只是最后會(huì)轉(zhuǎn)化為一條信息;

x-www-form-urlencoded:只能上傳鍵值對(duì),并且鍵值對(duì)都是間隔分開(kāi)的。

Get方法和Post方法的區(qū)別

1. get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。

2.get安全性非常低,post安全性較高。但是執(zhí)行效率卻比Post方法好。

3.POST的安全性要比GET的安全性高。注意:這里所說(shuō)的安全性和上面 GET提到的“安全”不是同個(gè)概念。上面“安全”的含義僅僅是不作數(shù)據(jù)修改,而這里安全的含義是真正的Security的含義,比如:通過(guò)GET提交數(shù)據(jù),用戶(hù)名和密碼將明文出現(xiàn)在URL上,因?yàn)?1)登錄頁(yè)面有可能被瀏覽器緩存,(2)其他人查看瀏覽器的歷史紀(jì)錄,那么別人就可以拿到你的賬號(hào)和密碼了,除此之外,使用GET提交數(shù)據(jù)還可能會(huì)造成Cross-site request forgery攻擊。

總結(jié)一下,Get是向服務(wù)器發(fā)索取數(shù)據(jù)的一種請(qǐng)求,而Post是向服務(wù)器提交數(shù)據(jù)的一種請(qǐng)求,在FORM(表單)中,Method默認(rèn)為"GET",實(shí)質(zhì)上,GET和POST只是發(fā)送機(jī)制不同,并不是一個(gè)取一個(gè)發(fā)!

Postman設(shè)置發(fā)送請(qǐng)求頭

1、查看響應(yīng)結(jié)果

Body 有三種視圖:Prettry, Raw, 和 Preview。

Prettry 模式將 JSON 或 XML 響應(yīng)格式化,使他們更容易被查看。Pretty 模式中的鏈接被高亮顯示,點(diǎn)擊他們可以在 Postman 中加載一個(gè)使用該 URL 的 GET 請(qǐng)求。

Raw 視圖只是一個(gè)顯示了響應(yīng)的 body 的大文本區(qū)域, 它可以幫助你判斷你的響應(yīng)是不是被壓縮的。

Preview 選項(xiàng)卡在內(nèi)聯(lián)沙箱框架中呈現(xiàn)響應(yīng)。一些Web 框架默認(rèn)返回 HTML 錯(cuò)誤,這時(shí), Preview 模式就非常有用了。由于內(nèi)聯(lián)沙箱框架的限制,JAVAScript 和圖像在內(nèi)聯(lián)框架中是被禁用的。如果你的 API 端點(diǎn)返回一個(gè)圖像, Postman 會(huì)自動(dòng)檢測(cè)并呈現(xiàn)它。對(duì)于二進(jìn)制響應(yīng)類(lèi)型,你應(yīng)該選擇“Send and download”,這將讓你保存響應(yīng)到你的硬盤(pán)上,之后你就可以用適當(dāng)?shù)牟榭雌鱽?lái)查看它。這樣你就可以靈活地測(cè)試音頻、PDF、zip 文件或 API 給你的任何文件。

Headers:

在 Header 選項(xiàng)卡中,headers 顯示為 key/value 對(duì)。光標(biāo)懸停 header 名時(shí)則會(huì)顯示根據(jù) HTTP 規(guī)范對(duì) header 的描述。如果你正在發(fā)送一個(gè) HEAD 請(qǐng)求, Postman 會(huì)默認(rèn)顯示 Headers 選項(xiàng)卡。

Cookies

Postman v0.8.x以上版本 可以顯示瀏覽器 cookies, 就像它與瀏覽器共享相同的環(huán)境一樣。對(duì)于本地應(yīng)用, 你需要啟用Interceptor,然后你就可以在響應(yīng)部分的 Cookies 選項(xiàng)卡中查看響應(yīng)的 cookies。

Tests

Tests為執(zhí)行斷言后的測(cè)試結(jié)果

2、常規(guī)使用--斷言Tests

測(cè)試返回的body包含的內(nèi)容

tests["Body matches string"] =responseBody.has("百度搜索");

測(cè)試返回的狀態(tài)碼

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

tests["1+1"] = 1+1 === 2;

測(cè)試返回的狀態(tài)信息

tests["Status code name hasstring"] = responseCode.name.has("OK");

tests["hello is he"] ="hello".has("he");

測(cè)試響應(yīng)時(shí)間是否低于200ms

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

檢查響應(yīng)body中等于指定string--Check if response body is equal to a string

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

檢查Content-Type是否包含在header返回(大小寫(xiě)不敏感)

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

檢查Content-Type是否包含在header返回(大小寫(xiě)敏感)

tests["Content-Type is present"]= responseHeaders.hasOwnProperty("Content-Type");

檢查成功post的請(qǐng)求

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

檢查JSON某字段值

var jsonData = JSON.parse(responseBody);

tests["Your test name"] =jsonData.expires_in === 7200;

3、接口持久化

把單個(gè)接口保存到文件夾(接口項(xiàng)目)中,再接口項(xiàng)目文件夾下新建文件夾(模塊)

4、環(huán)境變量:

環(huán)境變量:

postman可直接通過(guò)切換環(huán)境來(lái)實(shí)現(xiàn)多個(gè)環(huán)境中的參數(shù)切換。常用功能:環(huán)境地址切換、全局變量使用。

5、Postman導(dǎo)入導(dǎo)出功能

6、Postman持久化運(yùn)行

postman安裝與簡(jiǎn)要操作

 

7、postman提取接口返回值

1、變量賦值的方式

postman安裝與簡(jiǎn)要操作

 

let jsondata = JSON.parse(responseBody) ;

let access_token = jsondata.access_token ;

let expires_in = jsondata.expires_in ;

tests["時(shí)效"] =expires_in === 7200 ;

2、保存到全局變量

var jsondata = JSON.parse(responseBody) ;

postman.setGlobalVariable("tokenid",jsondata.access_token);

3、接口串行傳參

把上一個(gè)接口的返回值送給下一個(gè)接口作為輸入?yún)?shù)

在postman中通過(guò)全局變量實(shí)現(xiàn)

postman安裝與簡(jiǎn)要操作

 


postman安裝與簡(jiǎn)要操作

 

4、Postman動(dòng)態(tài)傳參

在runner里循環(huán)發(fā)n次請(qǐng)求/做自動(dòng)化測(cè)試時(shí),有些接口不適合寫(xiě)死參數(shù):

1.Postman有以下內(nèi)建變量,適合一次性使用:

{{$guid}}//生成GUID

{{$timestamp}}//當(dāng)前時(shí)間戳

{{$randomInt}}//0-1000的隨機(jī)整數(shù)

2.參數(shù)依賴(lài)上一個(gè)請(qǐng)求的返回:

上個(gè)請(qǐng)求的Tests里提取參數(shù)存環(huán)境變量,這個(gè)請(qǐng)求里用{{變量名}}取值

3.參數(shù)每次都不同,但之后的斷言或別的請(qǐng)求里可能還要用:

在Pre-requestScript里寫(xiě)代碼處理,存為環(huán)境變量,參數(shù)里用{{變量名}}取值

5、Postman流程控制

流程控制只有在collection runner或Newman里才生效

設(shè)2個(gè)接口的順序?yàn)椋航涌贏-->接口B

如果希望執(zhí)行順序?yàn)椋航涌贏 -> 接口B -> 接口A,又不想復(fù)制一份接口A

A接口:

postman安裝與簡(jiǎn)要操作

 

B接口:

postman安裝與簡(jiǎn)要操作

 

失敗的測(cè)試自動(dòng)重新運(yùn)行

6、Postman調(diào)試功能(日志)

1.使用 Ctrl+Alt+c 可以打開(kāi)Postman的控制臺(tái),可以查看請(qǐng)求和響應(yīng)(只適用于客戶(hù)端,不適用于Chrome 插件)

postman安裝與簡(jiǎn)要操作

 

2.用console.log()打印,到控制臺(tái)看

console.log(jsondata.access_token);

3.tests['這里拼出你想看的字符串']= true在界面/報(bào)告看斷言

tests[jsondata.access_token] = false;

7、定義公共函數(shù)

常用公共函數(shù):

1).判斷是否超時(shí)(assertNotTimeout):

varhasResponse=postman.getResponseHeader('Content-Type')?true:false;if(!hasResponse) tests['服務(wù)端在超時(shí)前沒(méi)返回任何數(shù)據(jù),請(qǐng)檢查相關(guān)服務(wù)、網(wǎng)絡(luò)或反向代理設(shè)置(以下跳過(guò)其他斷言)']=false;

2).未超時(shí),顯示發(fā)出的請(qǐng)求參數(shù)(logParams):

if(hasResponse) tests[`[INFO] 請(qǐng)求參數(shù)(超時(shí)沒(méi)返回時(shí)不解析):${JSON.stringify(request.data)}`]=true;

3).未超時(shí),解析返回的JSON對(duì)象(getResponseJson):

try{if(hasResponse) var json=JSON.parse(responseBody);}catch(err){tests['服務(wù)端沒(méi)返回合法的JSON格式,請(qǐng)檢查相關(guān)服務(wù)、網(wǎng)絡(luò)或反向代理設(shè)置(以下跳過(guò)其他斷言)']=false; tests[`[INFO] 返回:${responseBody}`]=true;console.error(err);}

4).返回元素的類(lèi)型(assertType):

var assertType=(name,value,type)=>{letisType=(type==='array')? Array.isArray(value):typeof value===type;tests[`${name}為${type}(實(shí)際值:${value})`]=isType;};

js的數(shù)據(jù)類(lèi)型:

typeof 2 輸出 number

typeof null 輸出 object

typeof {} 輸出 object

typeof [] 輸出 object

typeof (function(){}) 輸出 function

typeof undefined 輸出 undefined

typeof '222' 輸出 string

typeof true 輸出 boolean

5).返回元素是否與預(yù)期值一致(assertEqual):

var assertEqual=(name,actual,expected)=>{tests[`${name}等于${expected}(實(shí)際值:${actual})`]=actual===expected;};

6).返回元素是否與預(yù)期值不一致(assertNotEqual):

varassertNotEqual=(name,actual,expected)=>{tests[`${name}不等于${expected}(實(shí)際值:${actual})`]=actual!==expected;};

————————————————

版權(quán)聲明:本文為CSDN博主「快樂(lè)風(fēng)男灬」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/q386815991/article/details/79569409

分享到:
標(biāo)簽:postman
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定