在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序列化成字符串了,所以提交请求的参数中直接使用这个变量即可

相关推荐
jimy15 分钟前
拷贝构造时,不用引用的话,按值传参会无限递归调用拷贝构造函数
开发语言
LccKyI8 分钟前
# C# 基础编程 面试题汇总(一)
开发语言·c#
CODER030411 分钟前
win11系统编译安装cuda版llama-cpp-python(踩完所有的坑)
开发语言·python·llama
mayaairi14 分钟前
JS DOM与事件处理完全指南
服务器·前端·javascript
神仙别闹16 分钟前
基于C语言+SQLite 实现(控制台+图形界面)图书管理系统
c语言·开发语言·sqlite
何以解忧,唯有..28 分钟前
LangChain 模型调用方法总结:invoke、batch、stream 的入参与出参
开发语言·langchain·batch
qq_4260039630 分钟前
多语言新增语种全量测试策略的测试范围
前端·javascript·python·自动化
SamChan9033 分钟前
Python+ReportLab自动生成PDF翻译质量审计报告:从数据到可视化的完整方案
开发语言·python·ai·pdf·wpf
深念Y34 分钟前
Makefile vs go run:Go 项目构建方式对比
java·开发语言·golang·k8s·编译·流水线·cicd
whcyhhh34 分钟前
头歌实践教学平台:数据科学与大数据技术导论(十八2)
大数据·开发语言·python