【Loadrunner】解决上传附件请求问题

案例1:在上传其他参数正确的前提下,多次回放,无法将包上传成功,通过与开发协同定位,发现上传路径存在问题,经过多次论证,需将本地路径"D:\web.zip"正则表达式转为“D:\\web.zip”,才能上传成功

 web_submit_data("SaveStudentFile",
     "Action=http://{IP}/UploadFile/SaveStudentFile", 
     "Method=POST",
     "EncType=multipart/form-data",
     "RecContentType=application/json", 

     "Snapshot=t87.inf",
     "Mode=HTML",
     ITEMDATA,
     "Name=Filename", "Value=web.zip", ENDITEM,
     "Name=UserID", "Value=5", ENDITEM,
     "Name=examID", "Value=44", ENDITEM,
     "Name=size", "Value=6169016", ENDITEM,
     "Name=questionID", "Value=56", ENDITEM, 
     "Name=name", "Value=B71B3A333F32B7E741D6EBAA109527EE.zip", ENDITEM, 
     "Name=fileName", "Value=web.zip", ENDITEM,
     "Name=type", "Value=.zip", ENDITEM,
     "Name=UserName", "Value=student", ENDITEM,  
     "Name=isUpload", "Value=0", ENDITEM,
     "Name=fileTypes", "Value=*.rar;*.zip", ENDITEM,
     "Name=post", "Value=[object Object]", ENDITEM,
     "Name=ExamName", "Value=上传脚本录制01081120", ENDITEM,
     "Name=creationdate", "Value=Mon Jan 6 16:20:21 GMT+0800 2014", ENDITEM,
     "Name=fileSizeLimit", "Value=20971520", ENDITEM,
     "Name=id", "Value=B71B3A333F32B7E741D6EBAA109527EE", ENDITEM,
     "Name=modificationdate", "Value=Mon Jan 6 16:10:10 GMT+0800 2014", ENDITEM,
     "Name=filestatus", "Value=6", ENDITEM,
     "Name=FileData", "Value=D:\\web.zip", "File=Yes", ENDITEM, 
     "Name=Upload", "Value=Submit Query", ENDITEM,
  LAST);

案例2:此案例是有同事提供,解决问题思路,1:包头问题,通过工具抓包即可解决;2:上传文件问题,录制过程中将上传文件的数据流保存在lrw_custom_body.h文件body_variable_1参数中,故不方便更换其他上传文件,因此将上传文件路径更替即可(注:上传文件的绝对路径需正则表达式转换方可使用,否则无法上传,比如:"D:\1045.pdf"转为"D:\\1045.pdf")。

/*工具抓出上传附件请求的包头,如下:
Content-Type: application/octet-stream
gtaFileName: 1045.pdf
uploadID: 723cbafc-8d75-4419-8218-e9161f2f05b0
isBigFile: false
Content-Length: 4771364
Connection: Keep-Alive
Accept-Encoding: gzip
Accept-Language: zh-CN,en,*
User-Agent: Mozilla/5.0
Host: 192.168.102.43:8003
*/

 web_add_header("Content-Type","application/octet-stream");

 web_add_header("gtaFileName","1045.pdf");

 web_add_header("isBigFile","false");

 web_add_header("Content-Length","4771364");

 web_add_header("uploadID","{uploadID}");

 web_revert_auto_header("X-Requested-With");

 web_custom_request("UploadFileSave",
     "URL=http://{IP}/ResUploadManage/UploadFileSave?"
     "FileUrl=D:/upload/1045.pdf&"
     "ResName=1045&"
     "fileSize=4771364&"
     "token={token}&"
     "userId={user}&"
     "userName={user}&"
     "ResMark=1045&"
     "Ressclassify=4&"
     "ResType=3&"
     "ResKey=1045&"
     "Author=&"
     "AuthorUnit=&"
     "CopyRight=&"
     "EduLevel=0&"
     "SuitTarget=&"
     "ResLanguage=0&"
     "Other=&"
     "gtaFileName=1045.pdf",
     "Method=POST",
     "Resource=0", 
     "Referer=", 
     "Mode=HTTP",
     "EncType=application/octet-stream",
     "BodyFilePath=D:\\1045.pdf",

     //body_variable_1,
   LAST);

备注:在发现脚本存在问题的时候,不仅要善于度娘,还得寻求周围同事(比如:开发人员、性能测试高手、架构师、网络部等)力量去解决,不能固步自封、墨守陈规。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值