Jmeter上傳文件一直失敗

基本的參數(shù)為:1、上傳文件勾選form-data,這是必須勾選的;文件名稱必須寫全路徑(如果與jmx文件不在同一目錄下),否則會(huì)報(bào)錯(cuò)找不到文件,參數(shù)名稱寫file;mime類必須替填寫,因?yàn)槲沂莏meter5.2.1版本,不填寫會(huì)報(bào)錯(cuò);

uploadfile請(qǐng)求

2、這些基本參數(shù)填寫后仍然時(shí)是報(bào)錯(cuò)“文件上傳上傳失敗”,找了后端開發(fā)幫忙定位說是content-type不對(duì),查看request header發(fā)現(xiàn)果然是格式不正確,錯(cuò)誤的請(qǐng)求中 content-type如下

content-type請(qǐng)求

3、然后恍然大悟發(fā)現(xiàn)自己在thread下已經(jīng)設(shè)置了通用的header manager如下,導(dǎo)致content-type格式不正確


http headermanager

4、最后在網(wǎng)上找了這個(gè)方法,在http sample的前后分別添加beanshell前置處理和beanshell后置處理,最后終于解決了問題。

原文鏈接:https://blog.csdn.net/xingyunpi/java/article/details/77930476? ??

在上傳文件的HTTP request sampler下,加一個(gè)BeanShell PreProcessor, 將全局的content-type remove掉,就可以了. 腳本:

sampler.getHeaderManager().removeHeaderNamed("Content-Type");

如果接下來的case還想再加回content-type=application/json, 如下:

import org.apache.jmeter.protocol.http.control.Header;

sampler.getHeaderManager().add(new Header("Content-Type","application/json"));


beanshell預(yù)處理程序
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容