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

相关推荐
半个俗人几秒前
6.jmeter信息头管理器
jmeter
阴暗扭曲实习生4 分钟前
135编辑器开放平台架构解析:企业级富文本接入方案的技术实现
java·开发语言·中间件
陆康永4 分钟前
vue2封装hook函数,可以监听主页面生命周期
前端·javascript·vue.js
我命由我123455 分钟前
Vue Router - 记录一下 2 种路由写法
前端·javascript·vue.js·前端框架·html·html5·js
XiaoHu02077 分钟前
C/C++数据结构与算法(第二弹)
java·开发语言·数据结构
Chan169 分钟前
双非 Java 后端首次实习 | 个人经验分享总结
java·开发语言·spring boot·spring·java-ee·intellij-idea
AMoon丶9 分钟前
C++新特性-智能指针
linux·服务器·c语言·开发语言·c++·后端·tcp/ip
m0_719084119 分钟前
导入导出—设备管理系统
前端·javascript·vue.js
wuhen_n14 分钟前
Vue Router 进阶:路由懒加载、导航守卫与元信息的高效运用
前端·javascript·vue.js
wuhen_n18 分钟前
虚拟列表完全指南:从原理到实战,轻松渲染10万条数据
前端·javascript·vue.js