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

相关推荐
kyriewen1 小时前
程序员连夜带团队跑路,省了23万:这AI太贵,真的用不起了
前端·javascript·openai
辞旧 lekkk2 小时前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
2zcode2 小时前
运动模糊图像复原的MATLAB仿真与优化
开发语言·matlab
袁雅倩19973 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
Aaswk3 小时前
Java Lambda 表达式与流处理
java·开发语言·python
万邦科技Lafite4 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
我叫黑大帅4 小时前
为什么需要 @types/react?解决“无法找到模块 react 的声明文件”报错
前端·javascript·面试
之歆4 小时前
DAY_21JavaScript 深度解析:数组(Array)与函数(Function)(一)
前端·javascript
Cyber4K5 小时前
【Python专项】进阶语法-系统资源监控与数据采集(1)
开发语言·python·php
Le_ee5 小时前
ctfweb:php/php短标签/.haccess+图片马/XXE
开发语言·前端·php