当前位置: 首页 > news >正文

jmeter中导入java方法并使用

1、首先打开idea,在idea中点击File-New-Project ,创建一个项目,项目名为JmtOne

2、项目创建完成后,直接在main函数中定义两个方法,记住该主函数的包名跟类名,后面会用到,在类中定义了两种拆分字符串的方法,一种是根据角标进行截取,还有一种是根据字符进行截取,

        两种方法都是需要返回字符串类型。截取的结果都是以字符串类型返回。

package org.example;public class Main {public static void main(String[] args) {}//定义一个方法,将字符串s,从0位取值到n位,截取后返回新的字符串public static String sub(String s,int n){return s.substring(0,n);}//定义一个方法,将字符串s,通过n进行拆分,拆分后取值左边进行返回public static String split(String s,String n){//split方法是一个数组类型,因此拆分的数据类型是数组,因此可以通过[0]来取值return s.split(n)[0];}
}

2、class类创建完成后,点击右侧栏中的Maven,点击清理,打包完成后。

        打包完成后,点击Build-Build Project按钮,完成构建,

3、将项目中所需要的类导出为jar包,点击File-Project Structure..

4、在弹窗中点击Artifacts -+号-JAR-From modules with dependencies..

5、弹出" Create JAR from Modules"对话框,点击"Main Class"右侧的文件夹按钮

6、选择项目中默认的main函数,因为需要调用的方法就写在该main函数中,(自己创建的class类中没有main函数无法选择)

7、在显示的弹窗中配置如下两项内容。

"JAR fles from libraries" 选项选择"extract to the target AR",

" DirectOy fOr META INFMANIFEST.MF"选项设置的是当前的主函数配置文件生成位置

8、配置完成后点击ok,会出现如下界面,

IntelliJ IDEA 会在 根 目录下生成 META-INF/MANIFEST.MF 文件。在上图中我这边选择的是项目的根目录

9、鼠标点击项目,点击Build-Build Artifacts..

10、界面会显示一个小弹窗,点击JmtOne.jar-Build按钮,JmtOne.jar 可执行文件生成在 工程根目录/out/artifacts/JmtOne.jar 目录下

电脑路径为

成功后,可以在电脑的cmd界面中通过java -jar 运行该jar包,没有报错则正常。

11、生成好jar包后,打开jmeter,选择测试计划。点击浏览按钮,选择上面步骤创建的jar包。

12、在测试计划中创建一个用户定义变量组件,在组件中设置一个变量:zfc ,值:为192.168,

13、在jmeter中创建BeanShell取样器

14、添加BeanShell取样器后,在配置界面输入${zfc],传递步骤12时定义的变量,点击运行可以在结果树中查看

//BeanShell取样器中可以通过ResponisMessage来输出变量,也可以直接写${zfc}
ResponisMessage="${zfc}"

        也可以通过log.error("${zfc}"); 函数日志中显示变量值

15、继续配置BeanShell取样器,导入之前创建的jar包。要记住该jar包的包名和类名

包名为org.example,类名为Main,引用代码如下

//引用jar包代码,
import org.example.Main;

16、在BeanShell取样器中通过log.error(org.example.Main.sub("${zfc}",3));来输入调用方法后截取的结果,可以在日志中查看

17、通过调用方法截取到新的字符串后可以通过vars.put("cs",org.example.Main.sub("${zfc}",3));,将新的字符串存储到变量cs中

//vars.put()方法可以将org.example.Main.sub("${zfc}",3)截取的结果赋值给cs字符串变量
vars.put("cs",org.example.Main.sub("${zfc}",3));

在接口中通过${cs},来引用该变量。

18、在jmeter中调用jar包中第二个方法,即split方法

我这边被截取的值是192.168,分隔符是点号.,如果直接使用点号分割会报错,

org.example.Main.split("${zfc}","."); 这样会报错,需要对点号进行转义,点号前面要加四个\

//调用jar中split方法,通过点号对变量分割
org.example.Main.split("${zfc}","\\\\.");
//调用jar中split方法,通过点号对变量分割将新截取的数据存储在cs2中,\\\\对点号进行转义
vars.put("cs2",org.example.Main.split("${zfc}","\\\\."));

至此,就完成了 从idea导出jar包,jmeter引用jar调用编辑的类中的方法了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 奇文网盘项目对应windows版本的中间件下载,otp,rabbitmq,postgresql,onlyoffice(在线预览编辑等)
  • 深入理解WebSocket:从基础到实践
  • JavaScript中闭包详解+举例,闭包的各种实践场景:高级技巧与实用指南
  • 4.Redis单线程和多线程
  • Hiprint 打印插件在 Vue3 中的深度剖析
  • Linux磁盘操作之du命令
  • 【Nature】在科研中应用ChatGPT:如何与数据对话
  • “解锁进程间高效沟通,Linux IPC是你的关键钥匙!“#Linux系统编程之进程间通信【下】
  • 一篇内容带你了解Rabbitmq
  • [Leetcode 105][Medium] 从前序与中序遍历序列构造二叉树-递归
  • 接口如何设计
  • 2-76 基于matlab的加权平均融合算法
  • sheng的学习笔记-AI-半监督学习
  • Kubernetes中的Kube-proxy:服务发现与负载均衡的基石
  • Java—双列集合
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • Android框架之Volley
  • canvas 绘制双线技巧
  • IDEA常用插件整理
  • JAVA 学习IO流
  • JavaScript对象详解
  • Java面向对象及其三大特征
  • java中的hashCode
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Promise初体验
  • Spring Boot快速入门(一):Hello Spring Boot
  • spring security oauth2 password授权模式
  • vue-cli在webpack的配置文件探究
  • Web设计流程优化:网页效果图设计新思路
  • 服务器之间,相同帐号,实现免密钥登录
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 用jquery写贪吃蛇
  • 再次简单明了总结flex布局,一看就懂...
  • Spring Batch JSON 支持
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​Linux·i2c驱动架构​
  • ​什么是bug?bug的源头在哪里?
  • # Java NIO(一)FileChannel
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #FPGA(基础知识)
  • #数据结构 笔记一
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (1)无线电失控保护(二)
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C语言)二分查找 超详细
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (zt)最盛行的警世狂言(爆笑)
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .Net CoreRabbitMQ消息存储可靠机制