最近遇到一个项目,接口中有需要上传图片的字段,它是以图片base64编码格式的形式传递的。(Base64目前主要用于HTML5、移动开发等不考虑IE6的场景中。)请求报文示例如下:
关于如何测试实现的问题:
1)如何对图片进行编码?
2)为了实现接口自动化测试,如何能实现自动base64编码
解决方案:
上传本地图片,根据需要勾选:“包含头”等选项,生成图片base64编码即可。
缺点:测试不同的图片时,都需要手工进行编码,再复制编码到接口请求报文中,无法实现自动化,测试效率低。
方法2:利用Jmeter的beanshell编写图片base64编码的转换代码
1)编写图片base64编码代码
一般情况,开发会提供该代码;如果没有,也不用怕,百度一下即可,或者有代码功底的同学可自己写。部分代码如下:
2)生成jar包,放置在${JMETER_HOME}\lib\ext目录下
3)编写beanshell,调用编码方法进行编码
4)参数化请求报文
实际请求报文: