JMeter接口自动化测试实例—JMeter引用javaScript

Jmeter提供了JSR223 PreProcessor前置处理器,通过该工具融合了Java 8 Nashorn 脚本引擎,可以执行js脚本以便对脚本进行前置处理。其中比较典型的应用就是通过执行js脚本对前端数据进行rsa加密,如登录密码加密。但在这里我就简单的应用javaScript生成当前时间来做为例子,看如何在JMeter中使用JavaScript脚本的。

  整个实例就是为了演示在JSR223 PreProcessor中生成HTTP请求的一个入参,然后得到响应后,可以通过JSON Extractor取出指定想到的信息,再通过BeanShell Assertion进行简单的校验断言,如果一直没有问题,再发起一个HTTP请求,其中的一个参数就是上一个HTTP请求响应解析入来的值。

  先来看JSR223 PreProcessor,内容如下:

  其实就是通过JavaScript代码获得当前系统时间,转换成指定格式,设置到变量里。然后在接下来的HTTP请求中应用这个变量。

  然后是JSON Extractor从响应体中提取信息(特别说明:响应体是JSON格式的)

  接下来就是断言,在这里用BeanShell Assertion来做,如下所示:

  接下来的HTTP请求,有用来前面设置的变量和响应解析出来的变量。

  运行结果如下:

  第一个请求的时间是当前时间,第二个请求的时间也是第一个请求前设置的时间,且radomCode就是第一个请求响应体通过JSON Extractor解析提取出来的变量值,且对第一个请求的BeanShell Assertion是通过的(不通过会结果树会显示红色且显示出错信息)。

相关推荐
就叫_这个吧3 分钟前
JavaScript基础数据类型、运算符、数组、函数的定义及DOM方式应用
开发语言·前端·javascript
basketball6165 分钟前
Golang:基本输入输出使用方法总结
开发语言·golang·xcode
Raink老师7 分钟前
【AI面试临阵磨枪-84】如何看待 RAG vs 微调(Fine-tuning)?选型依据
人工智能·面试·职场和发展
作业逆流成河10 分钟前
别再一次性重构枚举了:如何把一个真实后台项目的状态字典,渐进式迁移到enum-plus?
前端·javascript·开源
Shingmc311 分钟前
【Linux】多路转接之epoll
linux·运维·服务器·开发语言·网络
utf8mb4安全女神18 分钟前
⽇志管理与深层防⽕墙
java·开发语言·spring boot
Mr.Lu ‍22 分钟前
QT调试查看QT内部数据时显示无可用信息,未为 Qt5Cored.dll 加载任何符号
开发语言·qt
qq_4523962324 分钟前
第九篇:《Dockerfile 指令精讲(二):WORKDIR、ENV、ARG、EXPOSE》
java·开发语言·docker
JAVA社区26 分钟前
Java高级全套教程(九)—— SpringCloud超详细实战详解
java·开发语言·后端·spring cloud·面试·职场和发展
wyjcxyyy28 分钟前
java反序列化-cc1链
java·c语言·开发语言