一、测试功能:
1、导入excel文件。
二、重点步骤:
1、Fiddler抓取入参,其中BODY信息如下:
Name:Content-Disposition: form-data; name="CONTENT"; filename="200SKU.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Value:<file>
2、jmeter添加sample之HTTP请求,填写内容如下图:
三、敲黑板:
1、在http请求过程中上传附件(Excel文件、图片、安装包、视频文件等)虽然基本上Content-Type为:multipart/form-data,但Content-Type也有不一样的,一般情况下Excel文件的Content-Type为:application/vnd.openxmlformats-officedocunment,spreadsheetml.sheet;图片Content-Type为: image/jpeg,app包Content-Type为:application/octet-stream。最终填写的值要以抓包中的入参信息为准。
2、Request Headers中的Content-Type在此HTTP请求中不放在Parameters中维护,因为它是动态的信息。
3、喜欢粘贴复制HTTP请求的朋友们要注意,除了上传附件的请求中要勾选 Use multipart/form-data for POST和Browser-compatible headers,下面的请求就要去勾选啦!并且如果HTTP信息头管理器是公用的话要注意区别开来,否则脚本会报错。
4、Usemultipart/form-data for POST:当发送HTTP POST请求时,使用Use multipart/form-data方法发送,可用它做文件上传,这个属性是与方法POST绑定的。这里需要勾选此项。
5、Browser-compatibleheaders:浏览器兼容模式,如果使用了Use multipart/form-data for POST,这里建议勾选此项。
6、按以上方式维护HTTP请求,执行脚本,如果报错且提示“导入的数据为空”,那么需要把Implementation选择为“HttpClient4”或者“Java”。选择哪一个需要用Badboy录制一下后导出成.jmx文件,再用jmeter打开查看。
7、Implementation中:
Java:使用的http是使用的JAVA JVM提供的方法,有相关的限制:1)连接如何重用在请求中没有控制;2)当jmeter释放了一个请求后,在同样的进程中可能不会再使用了;3)只使用于单进程模式;4)HTTPS代理请求有两个bug没存在;5)不支持虚拟主机;6)不支持相关的方法;7)不支持存储证书的请求。
HttpClient4:使用Apache HttpClient 4.1部件。
空白:使用HTTP默认请求中的配置或jmeter.properties中jmeter.httpsample中的配置。