jmeter beanshell 中怎么传递 byte 类型,vars.put() 只支持 string 类型参数

优雅先森。 测试交流1 555字数 239阅读0分47秒阅读模式

import com.xxtang2.CloudPYencry;
import com.xxtang2.DesEncryption;
String url=vars.get("url_time");
String time=CloudPYencry.getTime(url);
String input=vars.get("data");
byte[] result=input.getBytes();
byte[] result_encry=DesEncryption.encrypt(result,time);
vars.put("data",result_encry);

如上最后一行,将数据加密以后传给消息体 data,但是 vars.put() 只支持 string 类型,服务在加密处理时又限定了 post 内参数是 byte 类型,有啥好方法解决吗文章源自玩技e族-https://www.playezu.com/188677.html

jmeter beanshell 中怎么传递 byte 类型,vars.put() 只支持 string 类型参数插图
大话性能测试 JMeter实战(异步图书出品)
本书以业界开源性能测试工具JMeter为依托,结合真实的工作实践,用通俗易懂的语言层层深入讲解性能测试技能。 本书性能测试相关知识总结完善,系统性强,知识点务实,帮助大家完成工作中的测试任务,借鉴性足,实用性高。 本书提供性能测试报告模板、常见中间件搭建方法等配套学习资料。 内容简介
文章源自玩技e族-https://www.playezu.com/188677.html文章源自玩技e族-https://www.playezu.com/188677.html
 最后更新:2023-2-24
    • jacksboy
      jacksboy 9

      不建议用 beanshell,请坚持用 groovy,几乎等同于 java为啥不建议 原因如果在 JSR223 PreProcessor 定义的变量是 input 怎么使用这个变量呢,我在 HTTP 请求中直接使用 ${data}获取不了值vars.putObject 试试呢楼上正解, vars.putObject(String key, Object value) 可以设置非字符串类型的变量1 性能,国外专门做过性能比较,groovy->java->beanshell
      2 语言的流行度: beanshell 虽说支持 java,但对 java 的支持程度完全没有 groovy 好,而且几乎已经不再更新了,groovy 还有 jenkins,gradle 等等一些框架再用,而且还在更新
      3 易用性: 如果你会用 java,那么你可以说基本上就会用 groovy,groovy 只是再某些细节上针对 java 做了优化groovy 这种处理值以后传值也是通过 vars.putObject() 解决吗base64 把 byte 转成 string,然后再转回去服务的接口特殊限制哇,这边要是加密的话,这边入参是 byte 类型vars.put(“data”, new String(data));

    匿名

    发表评论

    匿名网友
    确定

    拖动滑块以完成验证