jmeter接口测试----上传附件(问题汇总+解决办法)

单上传接口测试,无需复杂设置:

  • 上传接口内容:
    在这里插入图片描述
  • 断言设置:
    在这里插入图片描述
  • 接口运行结果:
    在这里插入图片描述

将上传附件的脚本结合到业务中去,会出现上传附件的接口的请求异常,异常如下:

  • 1、上传附件的接口请求头的“Content-Type”加载异常;
    在这里插入图片描述
  • 2、给上传附件接口自定义请求头,如下:
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryySJADdP4O2edhbol

会导致如下图的异常情况,header中的“boundary”的值与body中的值显示的不一致;
在这里插入图片描述

解决办法:

  • 方案一:添加BeanShell预处理程序,去掉header的“Content-Type”,具体命令如下:
sampler.getHeaderManager().removeHeaderNamed("Content-Type"); 
  • 方案二:在接口设置中的“高级-客户端设置-实现”选择“java”,也可成功运行接口;
    在这里插入图片描述
  • 两种方案的区别:http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request
Java HTTP实现有一些限制:
	无法控制连接的重用方式。当JMeter释放连接时,它可能会也可能不会被同一个线程重用。
	API最适合单线程使用 - 各种设置通过系统属性定义,因此适用于所有连接。
	不支持Kerberos身份验证
	它不支持使用Keystore Config进行基于客户端的证书测试。
	更好地控制重试机制
	它不支持虚拟主机。
	它仅支持以下方法:GET,POST,HEAD,OPTIONS,PUT,DELETE和TRACE
	使用DNS缓存管理器更好地控制DNS缓存

发现的jmeter的bug:

利用jmeter录制脚本时,运行代理前初始化设置“type”不起作用,需要再运行过程中设置type,才会导致某些接口的正常录制,否则会出现乱码;
在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值