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

相关推荐
Lumbrologist1 天前
【C++】零基础入门 · 第 18 节:互斥锁与线程同步
java·开发语言·c++
竹林8181 天前
被合约事件搞到失眠?我踩了三天坑,终于写出一份监听智能合约事件的实战指南
前端·javascript
炸炸鱼.1 天前
Zabbix企业级高级应用:从自动化监控到自定义告警完全指南
开发语言·php
在逃花果山的小松1 天前
容器化部署实战:从Dockerfile到Kubernetes上云
javascript
I Promise341 天前
C++ 多线程编程:从入门到实战
开发语言·c++
kkeeper~1 天前
0基础C语言积跬步之自定义类型联合和枚举
c语言·开发语言·算法
艾利克斯冰1 天前
TypeScript 静态类型入门教程:可选静态类型与类型推导详
前端·javascript·typescript
七夜zippoe1 天前
DolphinDB自定义函数:UDF开发指南
开发语言·python·自定义函数·udf·dolphindb
weixin199701080161 天前
[特殊字符] 电商库存扣减防超卖:分布式锁的三种实现(附Python源码)
开发语言·分布式·python
GuWenyue1 天前
告别命名混乱!5步掌握BEM规范,写出易维护的前端页面
前端·javascript·面试