当前位置: 首页 > news >正文

团购网站建设方案石家庄房价

团购网站建设方案,石家庄房价,网站客服招聘,网站如何提升seo排名Jmeter 请求签名api接口-BeanShell 项目签名说明编译扩展jar包jmeter 使用 BeanShell 调用jar包中的签名方法 项目签名说明 有签名算法的api接口本地不好测试,使用BeanShell 扩展jar 包对参数进行签名,接口签名算法使用 sha512Hex 算法。签名的说明如下…

Jmeter 请求签名api接口-BeanShell

  • 项目签名说明
  • 编译扩展jar包
  • jmeter 使用 BeanShell 调用jar包中的签名方法

项目签名说明

有签名算法的api接口本地不好测试,使用BeanShell 扩展jar 包对参数进行签名,接口签名算法使用 sha512Hex 算法。签名的说明如下

  1. 请求参数类型
    body 参数
    原始字符串 originData
appId=appId&appKey=appKey&timeStamp=当前时间戳&body=json参数
  1. request 参数
    原始字符串 originData
appId=appId&appKey=appKey&timeStamp=当前时间戳&key1=value1&key2=value2

key 按照升序排列

  1. 签名算法
    使用 sha512Hex 签名算法
String inputData = "name=scd&address=广东";
String encodeData = URLEncoder.encode(inputData, StandardCharsets.UTF_8.name());
String result = DigestUtil.sha512Hex(encodeData, StandardCharsets.UTF_8.name());
System.out.println(result);

originData 使用 URLEncoder.encode 编码,避免出现中文。在使用 sha512Hex 算法计算出签名串 sign

  1. 请求头数据
sign:sign
timestamp:1701948943849
appId:xxx

项目地址
https://gitee.com/3281328128/web-jdk17/tree/dev/

启动项目后 swagger 访问地址
http://localhost:8080/boot3/swagger-ui/index.html
在这里插入图片描述

编译扩展jar包

jmeter 支持扩展的jar包,使用BeanShell调用jar包中的方法。项目地址为https://gitee.com/3281328128/jmeter-api-sign。目前jmeter5.6.2版本支持jdk8编译的扩展jar,之前用jdk17编译出来的扩展jar包,不能运行签名算法,后面改成使用jdk8编译的jar包

引用的jar包需要带jar-with-dependencies 结束的jar,如图所示
在这里插入图片描述
如果使用 maven 编译,将依赖编译到jar包里面配置如下所示

<build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><archive><manifest><mainClass>com.itsenlin.Helloworld</mainClass></manifest></archive></configuration><executions><execution><id>make-assembly</id> <!-- this is used for inheritance merges --><phase>package</phase> <!-- bind to the packaging phase --><goals><goal>single</goal></goals></execution></executions></plugin></plugins></build>

jmeter 使用 BeanShell 调用jar包中的签名方法

  1. 选择测试计划导航栏,配置扩展的jar
    在这里插入图片描述
  2. 配置BeanShell 预处理程序
    路径 添加 -》前置处理器 -》BeanShellProcessor
    在这里插入图片描述
    BeanShell 的具体配置如下所示
    在这里插入图片描述
    使用扩展jar包中的签名算法
import com.alibaba.fastjson.JSON;
import com.scd.sign.SignUtil;String inputParam = "{\n" +"  \"id\": 0,\n" +"  \"userName\": \"string\",\n" +"  \"password\": \"string\"\n" +"}";
String inputJson = JSON.parseObject(inputParam).toJSONString();
log.info("request json " + inputJson);
String timeStamp = String.valueOf(System.currentTimeMillis());
String appId = bsh.args[0];
String appKey = bsh.args[1];
String sign = SignUtil.generateBodySign(appId, appKey, timeStamp, inputJson);
vars.put("body", inputJson);
vars.put("appId", appId);
vars.put("timestamp", timeStamp);
vars.put("sign", sign);

vars 中存入了原始的请求参数,http的请求的body参数需要取vars中存入的数据 ${body}
在这里插入图片描述
请求头中需要的数据 appId、timestamp、sign 也可以从 vars 中获取
在这里插入图片描述
BeanShell 的用法可以查看 【jmeter】BeanShell用法详细汇总

  1. 配置接口响应断言
    路径 添加 -》断音 -》JSON断言
    在这里插入图片描述
  2. 配置查看结果树
    配置查看结果树之后才能查看请求的记录,配置路径 添加 -》监听器 -》查看结果树
    在这里插入图片描述
  3. 启动线程组验证
    在这里插入图片描述
    启动之后,可以在查看结果树查看请求记录
    在这里插入图片描述
    点击黄色的感叹号,可以查看运行的日志
    在这里插入图片描述
http://www.wangmingla.cn/news/441.html

相关文章:

  • 潍坊网站制作西安百度推广优化托管
  • 济南手机网站开发公司淮北seo
  • 做网站自学南京响应式网站建设
  • 做行业网站广告seo培训学院官网
  • 太原网站建设总部在哪凡科网站建设
  • 做网站分层技术seo是什么职业做什么的
  • 做网站的前端技术新东方小吃培训价格表
  • 昆山建设工程交易网站技能培训班
  • 成都网站推广招聘网络seo招聘
  • 短租网站那家做的好处扶贫832网络销售平台
  • 做中英双语切换的网站人工智能培训
  • 知名的家居行业网站制作网络营销买什么好
  • 商城网站建设案例百度网站优化排名
  • 东莞网络推广怎么样企业seo顾问服务
  • 男女做那事视频免费网站深圳今日重大新闻
  • 个人网站的建设流程谷歌seo搜索
  • 牡丹江林口县建设局网站seo就是搜索引擎广告
  • 做公司网站一般多少钱文娱热搜榜
  • 如何把自己做的网站放到www中国职业培训在线官方网站
  • 做装修效果图的网站有哪些软件下载希爱力双效片骗局
  • 9e做网站百度指数第一
  • 网站信息备案查询系统杭州网络优化公司排名
  • 深入解析wordpress 下载百度seo优化策略
  • 农产品如何建设网站网络营销的职能有哪些
  • 做公司网站宣传公司seo日常工作都做什么的
  • 建设电子商务网站策划书长春百度网站快速排名
  • 学院网站建设项目的活动分解软文街官网
  • 文档下载免费网站百度网站收录
  • 重庆网站推广团队今日刚刚发生的新闻
  • 一流的网站建设google 网站推广