jmeter實際場景應用之測試上傳excel檔案

念而不傷 發表於 2021-09-01
Excel

日常工作上測試的時候,會有一些場景是匯入/上傳檔案。我們系統多是excel檔案,這裡就用excel檔案為例,詳述一下此次測試遇到的坑。最終結果是成功的,請看到最後!

1、獲取介面的一些引數資訊

先按F12調出控制檯,然後實際操作一次,看一下呼叫的一些介面以及傳參資訊(會用到的,圖中標註了1,2,3,4)

1、2是伺服器ip、請求方式以及路徑情況

3是資訊頭

4是請求引數

jmeter實際場景應用之測試上傳excel檔案

 

2、在jmeter上開始寫

jmeter實際場景應用之測試上傳excel檔案

注意,這裡引數名稱【file】會是一個坑點

jmeter實際場景應用之測試上傳excel檔案

 

 

下面是請求頭的配置。注意,這裡引數【Content-Type】會是一個坑點

jmeter實際場景應用之測試上傳excel檔案

 

配置好這些引數後,執行,發現報錯

jmeter實際場景應用之測試上傳excel檔案

 

檢視請求引數等資訊來分析

jmeter實際場景應用之測試上傳excel檔案

 

 3、執行報錯,開始一步步解決問題

比對發現引數沒問題,但是對【fileUpload:(binary)】這一個引數有疑問,所以去問了前端開發

https://blog.csdn.net/weixin_44994731/article/details/111238747---------對這種流形式的講解

jmeter實際場景應用之測試上傳excel檔案jmeter實際場景應用之測試上傳excel檔案

 

根據開發給的文件來看,是資訊頭中配置的Content-Type引數跟以前不太一樣,我比對了一下,我配置的是對的,問題不是在這裡

後又跟前端開發要了一個之前他們聯調的引數請求來比對,發現Content-Type配置的確實不對

jmeter實際場景應用之測試上傳excel檔案

 

修改了頭資訊後,再次嘗試,仍舊報錯,再次比對,發現我的Contet-Type取值仍舊不對

jmeter實際場景應用之測試上傳excel檔案

 

 再次去百度學習一波後,意識到,在請求引數這裡這個Content-Type指的是這個引數的型別,而不是在頭資訊中配置

且這裡的name指的是引數名稱,因此對檔案的一些配置引數資訊做了調整(引數名稱改成fileUplod是因為第一步獲取引數時請求引數中寫的時fileUpload,是要用在這裡的)

excel檔案的MIME型別是:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

jmeter實際場景應用之測試上傳excel檔案

 

 儲存後執行,仍舊報錯(跟之前手動操作的引數資訊各種比對,沒有發現錯誤。心態有點崩......)

jmeter實際場景應用之測試上傳excel檔案

 

 想著是不是系統暫時沒法訪問,就再次手動操作一次,繼續比對引數

這次發現了不同,請求頭資訊中【Content-Type】的值,不一樣了!!!這個是動態變化的

繼續問百度,找到一個同病相憐的老哥(帶箭頭的是重點需要看的資訊),最終解決辦法是:只要把HTTP資訊頭裡面的content-type整個移除即可。

jmeter實際場景應用之測試上傳excel檔案

 

 

 

把HTTP資訊頭裡面的content-type整個移除後再次執行,成功!!

 jmeter實際場景應用之測試上傳excel檔案