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

jmeter 带函数压测脚本

包含时间戳获取、md5值计算、随机字符串获取

<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.6.3"><hashTree><TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="dumeter_test_plan"><elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments"><collectionProp name="Arguments.arguments"/></elementProp><boolProp name="TestPlan.functional_mode">false</boolProp><boolProp name="TestPlan.serialize_threadgroups">false</boolProp></TestPlan><hashTree><ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="ThreadGroup"><intProp name="ThreadGroup.num_threads">2</intProp><intProp name="ThreadGroup.ramp_time">1</intProp><longProp name="ThreadGroup.duration">10</longProp><boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp><boolProp name="ThreadGroup.scheduler">true</boolProp><stringProp name="ThreadGroup.on_sample_error">continue</stringProp><elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController"><intProp name="LoopController.loops">-1</intProp><boolProp name="LoopController.continue_forever">false</boolProp></elementProp></ThreadGroup><hashTree><HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request-0"><stringProp name="HTTPSampler.domain">172.0.0.1</stringProp><stringProp name="HTTPSampler.port">8080</stringProp><stringProp name="HTTPSampler.path">/v1/config</stringProp><boolProp name="HTTPSampler.follow_redirects">true</boolProp><stringProp name="HTTPSampler.method">POST</stringProp><boolProp name="HTTPSampler.use_keepalive">true</boolProp><boolProp name="HTTPSampler.postBodyRaw">true</boolProp><elementProp name="HTTPsampler.Arguments" elementType="Arguments"><collectionProp name="Arguments.arguments"><elementProp name="" elementType="HTTPArgument"><boolProp name="HTTPArgument.always_encode">false</boolProp><stringProp name="Argument.value">{&#xd;&quot;expired_on&quot;: &quot;2035-01-01T08:00:00+08:00&quot;,&#xd;&quot;scope_id&quot;: &quot;10001&quot;,&#xd;&quot;name&quot;: &quot;rule051_${longts}_${__Random(0, 9999)}&quot;,&#xd;&quot;func&quot;: &quot;base&quot;,&#xd;&quot;value&quot;: &quot;is_ipmask(cli_ip, &apos;1.1.1.1&apos;)&quot;,&#xd;&quot;action_code&quot;: &quot;observe&quot;,&#xd;&quot;action_detail&quot;: &quot;&quot;,&#xd;&quot;enable&quot;: 1,&#xd;&quot;scope_note&quot;: &quot;&quot;,&#xd;&quot;operator&quot;: &quot;geo&quot;,&#xd;&quot;annotation&quot;: &quot;&quot;&#xd;}</stringProp><stringProp name="Argument.metadata">=</stringProp></elementProp></collectionProp></elementProp></HTTPSamplerProxy><hashTree><JSR223PreProcessor guiclass="TestBeanGUI" testclass="JSR223PreProcessor" testname="JSR223 预处理程序" enabled="true"><stringProp name="cacheKey">true</stringProp><stringProp name="filename"></stringProp><stringProp name="parameters"></stringProp><stringProp name="script">import java.security.MessageDigest// 获取固定参数
String ak = &quot;ak&quot;
String sk = &quot;sk&quot;// 获取当前时间戳
long currentTimeSeconds = System.currentTimeMillis() / 1000// 将秒级时间戳转换为字符串
String textToHash = currentTimeSeconds.toString()// 生成 sign
String dataToSign = ak + textToHash + sk
MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;)
byte[] digest = md.digest(dataToSign.bytes)
String sign = digest.encodeHex().toString()// 将 ak、sign 和时间戳添加到请求头中
vars.put(&quot;sign&quot;, sign)
vars.put(&quot;ts&quot;, textToHash)
vars.put(&quot;ak&quot;, ak)String longts = System.currentTimeMillis().toString()
vars.put(&quot;longts&quot;, longts)
</stringProp><stringProp name="scriptLanguage">groovy</stringProp></JSR223PreProcessor><hashTree/><HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP信息头管理器" enabled="true"><collectionProp name="HeaderManager.headers"><elementProp name="" elementType="Header"><stringProp name="Header.name">sign</stringProp><stringProp name="Header.value">${sign}</stringProp></elementProp><elementProp name="" elementType="Header"><stringProp name="Header.name">ak</stringProp><stringProp name="Header.value">${ak}</stringProp></elementProp><elementProp name="" elementType="Header"><stringProp name="Header.name">ts</stringProp><stringProp name="Header.value">${ts}</stringProp></elementProp></collectionProp></HeaderManager><hashTree/></hashTree><ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="查看结果树"><boolProp name="ResultCollector.error_logging">false</boolProp><objProp><name>saveConfig</name><value class="SampleSaveConfiguration"><time>true</time><latency>true</latency><timestamp>true</timestamp><success>true</success><label>true</label><code>true</code><message>true</message><threadName>true</threadName><dataType>true</dataType><encoding>false</encoding><assertions>true</assertions><subresults>true</subresults><responseData>false</responseData><samplerData>false</samplerData><xml>false</xml><fieldNames>true</fieldNames><responseHeaders>false</responseHeaders><requestHeaders>false</requestHeaders><responseDataOnError>false</responseDataOnError><saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage><assertionsResultsToSave>0</assertionsResultsToSave><bytes>true</bytes><sentBytes>true</sentBytes><url>true</url><threadCounts>true</threadCounts><idleTime>true</idleTime><connectTime>true</connectTime></value></objProp><stringProp name="filename"></stringProp></ResultCollector><hashTree/></hashTree></hashTree></hashTree>
</jmeterTestPlan>

对应应用截图


文章转载自:

http://Ze6tFiaO.tgrrb.cn
http://Diwbgcp4.tgrrb.cn
http://V4vJZr9g.tgrrb.cn
http://cCvW8li6.tgrrb.cn
http://KzkTVuAW.tgrrb.cn
http://OnEmW6xu.tgrrb.cn
http://s8dfG8bs.tgrrb.cn
http://caVdz7bO.tgrrb.cn
http://0kgshDNQ.tgrrb.cn
http://ig4hD5nu.tgrrb.cn
http://Am25yiQZ.tgrrb.cn
http://m683s0H4.tgrrb.cn
http://DK6hMRMA.tgrrb.cn
http://KgoE5ZqJ.tgrrb.cn
http://09aNhhvU.tgrrb.cn
http://YHIDSLWn.tgrrb.cn
http://qEHosJfm.tgrrb.cn
http://qKoPyw7p.tgrrb.cn
http://VTgcCmFP.tgrrb.cn
http://KqiJeXf4.tgrrb.cn
http://Ttlc6KTE.tgrrb.cn
http://5ujy80G7.tgrrb.cn
http://ZEoHyYC9.tgrrb.cn
http://nyAoLSPc.tgrrb.cn
http://jv2ZVrYg.tgrrb.cn
http://MP6vJLpH.tgrrb.cn
http://AKe9VAv6.tgrrb.cn
http://aEHiwrvY.tgrrb.cn
http://YwdlgNOL.tgrrb.cn
http://e0uplm2T.tgrrb.cn
http://www.dtcms.com/a/374606.html

相关文章:

  • jmeter实现两个接口的同时并发
  • 在git仓库的空文件夹中添加.gitkeep文件
  • Vue3+Node.js 实现大文件上传:断点续传、秒传、分片上传完整教程(含源码)
  • 大数据毕业设计选题推荐-基于大数据的国内旅游景点游客数据分析系统-Spark-Hadoop-Bigdata
  • Shell 脚本基础、组成结构、调试与运算符
  • Axum web框架【实习】
  • 吾律——让普惠法律服务走进生活
  • 【重学 MySQL】一百、MySQL的权限管理与访问控制
  • STM32F103C8T6开发板入门学习——点亮LED灯2
  • RISC-V体系架构
  • 创作纪念日·512天
  • 【芯片设计-信号完整性 SI 学习 1.1 -- 眼图、抖动、反射、串扰】
  • 小迪安全v2023学习笔记(八十讲)—— 中间件安全WPS分析WeblogicJenkinsJettyCVE
  • 【Linux】基础指令(下)
  • linux 环境下Docker 安装
  • Nginx 配置
  • 20250910_《SQL Server 数据库事务日志定期清理方案(精简优化版)》以10.1.1.31服务器的gtp-default数据库为例
  • 多输入(input)多输出(output)验证
  • 排查JSch连接SFTP服务器失败的问题
  • JMeter压测过程中监控服务器CPU及内存的方法
  • 整理python快速构建数据可视化前端的Dash库
  • Redis缓存穿透、缓存击穿与雪崩防护及性能优化实战指南
  • ArcGIS学习-20 实战-地形研究
  • Ubuntu下基于Nginx+ffmpeg+video.js的HLS流媒体视频播放方案
  • Vue2 VS Vue3
  • 【ArcGIS】如何编辑图层的属性表
  • VueFlow的箭头怎么调整
  • 基于Vue3 +ElementuiPlus + Dexie.js自研的浏览器插件新建标签页tab
  • 【序列晋升】30 Spring Cloud Vault 安全配置管理的微服务守护者
  • 狂想-一种新颖的低成本内嵌标记的视触觉感知前导方案