jmeter中請求參數和消息體數據的區別


copy一位大神的博客:

引用博客地址:https://www.cnblogs.com/star12111/p/13160383.html

因為我們在做接口測試的時候,經常會碰到post請求方式。

 

而post請求就是上傳參數,傳遞數據。不同於get請求,是請求數據。

 

但是JMETER做接口測試的時候,傳遞參數,有Parameters 、Body Data的區別。

 

那么二者有什么區別呢?

 

使用Parameters時,Content-Type不傳,或者直接傳application/x-www-from-urlencoded,若傳application/json出錯。
使用Body Data時,Content-Type可傳application/x-www-from-urlencoded或application/json,兩者的區別是數據格式不同。
可以從post data中看出區別:

Parameters的request請求數據:

 

一般來說,Get請求用Parameters,Post請求用Body Data。

精確的對於Post的說法是:

普通的post請求和上傳接口,選擇Parameters。
json和xml點數據格式請求接口,選擇Body。
詳細來解釋,根據post請求數據的格式,分兩種情況:map格式、json格式。

post請求數據為map格式
當post請求數據為map格式,即參數名、參數值為key-value鍵值對,請求的參數添加在Parameters參數表中即可,

 

post請求數據為json格式   
目前階段比較流行的是json格式傳遞參數,使用jmeter時,將json格式的請求數據加入到http請求BodyData中,

另外,由於POST請求方式,如果不設置Headers的content-type,基本默認會以 application/x-www-form-urlencoded 方式提交數據。為了Post請求確保傳的是json格式,還需要在請求頭中聲明一下請求參數的格式為json,具體操作如下:

Thread Group右鍵Add》Config Element》HTTP Header Manager,打開HTTP信息頭管理器,Add一個Name為Content-Type,Value為application/json,如下圖,一個json格式的post請求完成了。

 

以上就是二者的區別了。

總結一下,如果post傳遞的數據是key-value格式時,基本是用Parameters的方式上傳數據。

如果post傳遞的數據是json格式時,則要選擇Body Data的方式上傳數據。

另外要保證我們傳的是json格式,我們還要在請求頭中聲明一下請求參數的格式為json,具體步驟就是在http信息頭管理器中增加一個Content-Type,值為:application/json,這樣就可以保證我們上傳的數據是json格式了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM