jmeter 图片上传不上去_Jmeter测试上传图片base64编码接口(示例代码)

最近遇到一个项目,接口中有需要上传图片的字段,它是以图片base64编码格式的形式传递的。(Base64目前主要用于HTML5、移动开发等不考虑IE6的场景中。)请求报文示例如下:

855106ada41470e8a273f6712f3db34b.png

关于如何测试实现的问题:

1)如何对图片进行编码?

2)为了实现接口自动化测试,如何能实现自动base64编码

解决方案:

上传本地图片,根据需要勾选:“包含头”等选项,生成图片base64编码即可。

缺点:测试不同的图片时,都需要手工进行编码,再复制编码到接口请求报文中,无法实现自动化,测试效率低。

方法2:利用Jmeter的beanshell编写图片base64编码的转换代码

1)编写图片base64编码代码

一般情况,开发会提供该代码;如果没有,也不用怕,百度一下即可,或者有代码功底的同学可自己写。部分代码如下:

f5a988da1fc82d8e9bff1fab76d9e208.png

2)生成jar包,放置在${JMETER_HOME}\lib\ext目录下

3)编写beanshell,调用编码方法进行编码

dd415e036786245195688f3261ef7605.png

4)参数化请求报文

1dd47e57958bfa05232377acefec5f18.png

实际请求报文:

7befc57a09e952ec8aca653519de93f8.png

此方法较好的解决了手工图片base64编码的问题,为后续的自动化测试提供支持。

扩展一下:如果上传图片不是以base64编码的格式,即以图片文件的方式进行发送请求报文时,该如何处理?

解决方案:利用jmeter的sampler中“同请求一起发送文件”的功能

306ebf23049e9e56204a6a3fb273ef80.png

a、点击【同请求一起发送文件】栏目的添加按钮;

b、点击浏览按钮,选择一张需要上传的图片,地址将会自动记录到文件名称栏目;

c、填写参数名称,此处为【image】;

d、MIME类型为multipart/form-data

(注意:另外一种设置就是>为了上传文件,还必须勾选"Use multipart/form-data for POST",然后MIME类型可根据实际情况填写,否则request将不包含上传的文件。)

保存该HTTP请求,并执行,查看服务器,即可发现,上面步骤选择的图片已经成功上传到服务器。如需进行图片参数化,只需对图片的路径进行参数化即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值