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是通过的(不通过会结果树会显示红色且显示出错信息)。

相关推荐
AI向前看4 分钟前
Objective-C语言的网络编程
开发语言·后端·golang
梦想的初衷~22 分钟前
AI赋能R-Meta分析核心技术:从热点挖掘到高级模型、助力高效科研与论文发表
开发语言·人工智能·r语言
霜雪殇璃23 分钟前
c++对结构体的扩充以及类的介绍
开发语言·c++·笔记·学习
编程小筑34 分钟前
Clojure语言的并发编程
开发语言·后端·golang
心向阳光的天域36 分钟前
黑马跟学.苍穹外卖.Day03
java·开发语言·spring boot
雪芽蓝域zzs38 分钟前
JavaWeb开发(九)JSP技术
java·开发语言
Code花园1 小时前
C#语言的数据库编程
开发语言·后端·golang
疯狂飙车的蜗牛1 小时前
工作生活的感悟
嵌入式硬件·程序人生·职场和发展·感悟
pchmi1 小时前
C# OpenCV机器视觉:骨架细化
开发语言·opencv·c#
浩浩测试一下1 小时前
Web渗透测试之XSS跨站脚本之JS输出 以及 什么是闭合标签 一篇文章给你说明白
前端·javascript·安全·web安全·网络安全·html·系统安全