一个jmeter自动化问题(对图片进行Base64、下载图片并保存到本地)
一微信好友的问题
上周,收到一微信好友的求助:jmeter做自动化,上一个请求返回结果里面有一个链接,这个链接对应了一张图片,下一个请求的入参之一是这张图片base64加密后的字符串。
思路是比较清晰的:先关联获取上一个请求返回的url,然后beanshell获取这张图片的字节流,转换为字节数组,最后进行base64加密获取加密后的字符串。
但是,ta的实现过程还是比较艰辛的,除了基础不够扎实,还遇到了坑,我简单复盘总结下。
jemter脚本
正则提取url
获取图片并加密
请求1返回的结果如下
请求2不成功,对加密后的字符串进行解码,只显示了一部分,怀疑是数据获取不完整。
问题验证
在beanshell中,不建议写过多脚本,因为没有代码提示以及错误提醒,建议在idea中写,然后在beanshell中引用java文件或者jar包的方式,参考:jmeter对入参进行MD5加密的5种方式。加密需要用到commons-codec-1.11.jar,jmeter已经自带,所以,我们可以直接在idea中引用,添加jar包:File——>Project Structure——>Libraries——>New Project Library(+)——>Java——>选择jar包(或者一个路径)——>选择要添加到模块——>最后,还可以为Library自定义一个名称
package com.qzcsbj; import org.apache.commons.codec.binary.Base64; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; /** * @create : 2021/4/12 06:30 * @description : <描述> */ public class GetImageBase64 { public static String getImageBase64(String url) throws MalformedURLException { URL u = new URL(url); InputStream input = null; byte[] bytes = null; try { URLConnection urlConnection = u.openConnection(); urlConnection.setConnectTimeout(10*1000); input = urlConnection.getInputStream(); int contentLength = urlConnection.getContentLength(); System.out.println("contentLength:" + contentLength); int available = input.available(); System.out.println("available:" + available); bytes = new byte[available]; input.read(bytes); } catch (IOException e) { e.printStackTrace(); } return Base64.encodeBase64String(bytes); } public static void main(String[] args) throws MalformedURLException { String url = "https://files-cdn.cnblogs.com/files/uncleyong/qzcsbj.bmp"; String imageBase64 = getImageBase64(url); System.out.println(imageBase64); } }
运行结果:
contentLength:8270 available:2625
说明读取到的字节数比实际的小,查看源码:urlConnection.getInputStream()返回的是InputStream
InputStream是一个抽象类
下面说用bytes = new byte[available];这种创建字节数组的方式是不可以的
但是,如果是读取本地图,用available方法可以,这是为什么呢?FileInputStream继承了抽象类InputStream
InputStream input = new FileInputStream("C:\\Users\\ren\\Desktop\\pic.png");
FileInputStream实现了available方法,最终是通过本地方法available0实现的。
解决方案
使用IOUtils类的copy方法:
package com.qzcsbj.demo; import org.apache.commons.codec.binary.Base64; import org.apache.tika.io.IOUtils; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; /** * @create : 2021/4/12 06:42 * @description : <描述> */ public class GetImageBase64 { public static String getImageBase64(String url) throws MalformedURLException { URL u = new URL(url); InputStream input = null; byte[] bytes = null; try { URLConnection urlConnection = u.openConnection(); urlConnection.setConnectTimeout(10*1000); input = urlConnection.getInputStream(); ByteArrayOutputStream output = new ByteArrayOutputStream(); IOUtils.copy(input, output); bytes = output.toByteArray(); } catch (IOException e) { e.printStackTrace(); } return Base64.encodeBase64String(bytes); } public static void main(String[] args) throws MalformedURLException { String url = "https://files-cdn.cnblogs.com/files/uncleyong/qzcsbj.bmp"; String imageBase64 = getImageBase64(url); System.out.println(imageBase64); } }
加密结果:
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oA/qnJwMmjORQRkV/K0CMYoAaetFKetJigD+qiiiigAooooAKKKKAE71/KxX9U/ev5WKAP6pzwOlIDk4xSkZr+VgmgD+qfHsKMewr+ViigD+qfANfys5r+qev5V/SgD+qcdKWkHSloAKQ9KWkPSgD+VoDP4UhGD1ozjNf1TAYFACN0PH5UmfSv5WgcGv6p8Dp2oA/laxxnNNPB61/VOQK/lYJzQB/VMeB0/Kv5XPQ0wHBoyfWgD+qYDIpRxX8rFFAC/jRj3r+qekPSgBAMj/ABpQMdq/lYPWigD+qdunSv5WiMd6b0r+qfvQB/K1jIzmmkYNf1TkZr+VgnNAH9U55pNtfys0UAf1TEkHFfyskYNAOKCcmgD+qckgdK/laKgd/wA6b0r+qfHWgBueenX1pw5HSv5Wc1/VMBigBaKKKACiiigAooooATvX8rFf1T96/lYoA/qor+VftX9U5OK/lZIoASijFGKAP6qK/lX9K/qor+Vf0oA/qnzjFfysEYNf1TFc4pQCABmgAJwMmgHNBPHWv5Wu2PSgD+qXvX8rHSnA47V/VKvTrQAtFJmjNAASB1oByKQjJr+VrI9KAEAya/qnzmkPIIzSYxQB/K3iv6pgc00jnJNOB460ABOBRkEV/KyOvSv6pAOe9AH8rfrX9U3WmEGv5XD16UAJX9U/TNfysV/VORQAtFfysEjPSjPtQAgGTX9U+c0EEgjNJtxQB/KzjJoIwa/ql71/K2eT0/KgD+qev5V+uK/qnzX8rWMUANxQRg1/VKc9f0r+Vsjnp+VAH9U9FFFABRRRQAUUUUAJ3r+Viv6p+9fysUAf1TnmgDFfysUUAf1T49hRj2FfysUUAf1TkkDOM1/KyRjB96QHBoySaAP6px0paQdKWgD+VfNKDk80lHSgD+qU+nr3pw6elfysg1/VMBigD+VgcnrTscdfzpoOK/qmxjNACbsdq/lbIHrR61/VN0oA/lYHJ607HHX86aDiv6psYzQAh9Oa/lbJ56/lSZwaCcmgD+qfFfys5zX9U9fyr+lAH9U+MigACgdKWgD+VcDJr+qXdyRiv5WgcGjOTQA7b3zTSMGv6psZxX8rJOaAP6p6D0r+VigdaAHdu3Ff1SjkdPzoxkUAYGBQB/KyOvWv6pAee9OIyKMACgBMZ60oGO1fysHrRQB/VRRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k=
解码:
解码结果:
请求2也成功了
bak:https://www.cnblogs.com/uncleyong/p/15841830.html
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!