在jmeter中使用javascript脚本

工作上遇到一个压力测试的需求,需要测试几个考试相关的接口。其中有一个获取试题详情的接口,和一个提交答题信息的接口。后一个接口以上一接口的返回内容为参数,添加上用户的答案即可。jmeter提供了非常多的方式可以实现该需求,这里只记录如何使用javascript来处理。

取出请求响应内容

在获取试题详情的接口上添加post processor,将返回的内容保存到变量questionItem上,以便进行后续处理
官方文档:https://jmeter.apache.org/usermanual/component_reference.html#JSON_Extractor

使用javascript代码处理

还是在该接口上添加post processor,注意需要在上一步添加的提取器的后面
官方文档:https://jmeter.apache.org/usermanual/component_reference.html#JSR223_PostProcessor

语言这里选择javascript

填写如下代码,代码中的vars.get("questionItem")是取出第一步中提取出来的变量的内容,字符串格式。使用JSON.parse转成对象后即可进行操作了。处理完成后,再使用JSON.stringify序列化成字符串后更新questionItem的值

需要注意可能没法使用ES6语法,如果报错,可以点击jmeter右上角的三角形图标打开log窗口查看报错原因。

官方文档说提供了很多的参数,这里只使用了vars这个对象,且只作字符串的存取,方便后面的使用

使用

由于先前已经使用JSON.stringify序列化成字符串了,所以提交请求的参数中直接使用这个变量即可

相关推荐
乱蜂朝王15 分钟前
使用 C# 和 ONNX Runtime 部署 PaDiM 异常检测模型
开发语言·c#
波诺波18 分钟前
p1项目system_model.py代码
开发语言·python
危笑ioi19 分钟前
helm部署skywalking链路追踪 java
java·开发语言·skywalking
静心观复28 分钟前
Python 虚拟环境与 pipx 详解
开发语言·python
卷心菜狗30 分钟前
Re.从零开始使用Python构建本地大模型网页智慧聊天机器人
开发语言·python·机器人
书到用时方恨少!1 小时前
Python NumPy 使用指南:科学计算的基石
开发语言·python·numpy
2501_933329551 小时前
技术深度拆解:Infoseek舆情系统的全链路架构与核心实现
开发语言·人工智能·分布式·架构
Z_Wonderful1 小时前
在 Next.js 中,使用 [id] 或 public 作为文件夹或文件名是两种完全不同的概念,分别对应 动态路由 和 静态资源托管
javascript·网络·chrome
Chan161 小时前
MCP 开发实战:Git 信息查询 MCP 服务开发
java·开发语言·spring boot·git·spring·java-ee·intellij-idea
web前端进阶者1 小时前
Rust初学知识点快速记忆
开发语言·后端·rust