Jmeter(十五) - 从入门到精通 - JMeter导入自定义的Jar包(详解教程)
1.简介
原计划这一篇是介绍前置处理器的基础知识的,结果由于许多小伙伴或者童鞋们在微信和博客园的短消息中留言问如何引入自己定义的Jar包呢???我一一回复告诉他们和引入插件的Jar包一样的道理,一通百通。但是感觉他们还是很迷糊很迷惘,因此在这里穿插一篇导入自定义的Jar包。还有另外一个原因就是前置处理器会用到这个自定义的Jar包。
2.环境准备
(1)Eclipse
我们要引入自定义的Jar包,所以你需要一个可以编写脚本生成Jar的工具,当然了你可以选择其他的开发工具,宏哥这里选择Eclipse。
(2)JMeter
JMeter就更不用多说了,今天的猪脚就是她。
3.具体思路
1.开发脚本
2.将脚本导出Jar包
3.JMeter引入Jar包
4.思路实现
1.开发脚本当然在Eclipse上了,首先我们开发一个简单的接口。
4.1代码实现

4.2参考代码
package com.bjhg.test; /**
* @author 北京-宏哥
*
* 2020年7月2日
*/
public interface BeanJMeterUtil {
//获取名字方法
public String getUserName();
//获取地址方法
public String getAddress(); }
2.开发一个实现接口的类
4.3代码实现

4.4 参考代码
package com.bjhg.test; /**
* @author 北京-宏哥
*
* 2020年7月2日
*/
public class BeanShellJMeter implements BeanJMeterUtil{
//定义变量名字
private String userName;
//定义变量地址
private String address; public BeanShellJMeter(String name)
{
this.userName = name;
} public BeanShellJMeter(String name,String address){
this.userName = name;
this.address = address;
} public String getUserName()
{
return userName;
} public void setUserName(String userName)
{
this.userName = userName;
} public String getAddress()
{
return address;
} public void setAddress(String address)
{
this.address = address;
}
}
3.测试接口是否实现。创建测试类test,实例化接口的实现类 BeanShellJMeter,调用该类中的方法并输出结果。
4.5代码实现

4.6参考代码
package com.bjhg.test; /**
* @author 北京-宏哥
*
* 2020年7月2日
*/
public class test {
public static void main(String[] args) {
// 创建实现类的对象
BeanShellJMeter bjhg = new BeanShellJMeter("宏哥","北京"); System.out.println("Hello!我是:"+ bjhg.getAddress()+bjhg.getUserName());
}
}
4.7运行结果

4.将脚本导出Jar包
(1)点击File,然后继续点击“Export”,如下图所示:

(2)选择“JAR file”,然后点击“next”如下图所示:

(3)选中刚刚编写脚本的工程,选择导出Jar包的位置(宏哥这里直接导入到Jmeter的jar包位置了),如下图所示:

(4)点击“Finish”,如下图所示:

(5)查看导出的Jar包,如下图所示:

5.JMeter引入自定义Jar包
1、新建测试计划,导入自定义的Jar包,如下图所示:

2、线程组下添加BeanShell 预处理程序(Parameters 放入2个参数 宏哥 北京),如下图所示:

3、脚本参考代码:
import com.bjhg.test.BeanShellJMeter;
BeanShellJMeter bs = new BeanShellJMeter(bsh.args[0],bsh.args[1]);
vars.put("address",bs.getAddress());
vars.put("username",bs.getUserName());
4、然后再添加添加1个调试取样器,如下图所示:

5、配置好以后,点击“保存”,运行JMeter,查看表格结果(把读到的数据放入username和adress中),如下图所示:

6.小结
好了,今天关于JMeter导入自定义Jar包就分享讲解到这里,希望对大家有所帮助。
您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得随手点波 推荐 不要忘记哦!!!
别忘了点 推荐 留下您来过的痕迹

Jmeter(十五) - 从入门到精通 - JMeter导入自定义的Jar包(详解教程)的更多相关文章
- Jmeter(十六) - 从入门到精通 - JMeter前置处理器(详解教程)
1.简介 前置处理器是在发出“取样器请求”之前执行一些操作.如果将前置处理器附加到取样器元件,则它将在该取样器元件运行之前执行.前置处理器最常用于在取样器请求运行前修改其设置,或更新未从响应文本中提取 ...
- Jmeter(十八) - 从入门到精通 - JMeter后置处理器 -下篇(详解教程)
1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...
- 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...
- Jmeter(十二) - 从入门到精通 - JMeter逻辑控制器 - 终篇(详解教程)
1.简介 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”. 意思 ...
- Jmeter(十四) - 从入门到精通 - JMeter定时器 - 下篇(详解教程)
1.简介 用户实际操作时,并非是连续点击,而是存在很多停顿的情况,例如:用户需要时间阅读文字内容.填表.或者查找正确的链接等.为了模拟用户实际情况,在性能测试中我们需要考虑思考时间.若不认真考虑思考时 ...
- Jmeter(十九) - 从入门到精通 - JMeter监听器 -上篇(详解教程)
1.简介 监听器用来监听及显示JMeter取样器测试结果,能够以树.表及图形形式显示测试结果,也可以以文件方式保存测试结果,JMeter测试结果文件格式多样,比如XML格式.CSV格式.默认情况下,测 ...
- 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...
- SaltStack 入门到精通第三篇:Salt-Minion配置文件详解
SaltStack 入门到精通第三篇:Salt-Minion配置文件详解 作者:ArlenJ 发布日期:2014-06-09 17:52:16 ##### 主要配置设置 ##### 配置 默认值 ...
- 《手把手教你》系列技巧篇(三十八)-java+ selenium自动化测试-日历时间控件-下篇(详解教程)
1.简介 理想很丰满现实很骨感,在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就 ...
随机推荐
- Python--文件操作(操作文件)
文件的操作包含:读.写.修改 文件的多种操作: # 读取文件的所有内容 data = open("yesteday.txt", encoding="utf-8" ...
- Java学习之第二天
一.流程控制 1.顺序结构:自上而下,依次执行(从上到下,一直走下去) 2.选择结构:(1)if .if—else.嵌套if (2)switch(mod){ case 1:执行代码 case 2:执行 ...
- C# 反射与特性(十):EMIT 构建代码
目录 构建代码 1,程序集(Assembly) 2,模块(Module) 3,类型(Type) 4,DynamicMethod 定义方法与添加 IL 前面,本系列一共写了 九 篇关于反射和特性相关的文 ...
- [转载]java内存工具VisualVM的简单使用以及与Idea集成
本文来源https://blog.csdn.net/KingBoyWorld/article/details/75579606 一.idea集成 1.打开设置 windows File->Set ...
- ArrayList、LinkedList、Vector、Array和HashMap、HashTable
就 ArrayList 与 Vector 主要从二方面来说. 一.同步性:Vector 是线程安全的,也就是说是同步的,而ArrayList 是线程序不安全的,不是同步的 二.数据增长:当需要增长时, ...
- Spring boot添加配置类@Configuration并初始化@Bean,@Resource和@Autowired都为null
大写加黑,找了好久@Resource和@Autowired都依赖不到创建的bean的原因:@Bean的方法名即是创建的Bean名称 import org.activiti.engine.Process ...
- @atcoder - AGC029F@ Construction of a tree
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定 N - 1 个 {1, 2, ..., N} 的子集,第 ...
- TensorFlow从0到1之浅谈感知机与神经网络(18)
最近十年以来,神经网络一直处于机器学习研究和应用的前沿.深度神经网络(DNN).迁移学习以及计算高效的图形处理器(GPU)的普及使得图像识别.语音识别甚至文本生成领域取得了重大进展. 神经网络受人类大 ...
- TensorFlow从0到1之常量、变量和占位符详解(6)
最基本的 TensorFlow 提供了一个库来定义和执行对张量的各种数学运算.张量,可理解为一个 n 维矩阵,所有类型的数据,包括标量.矢量和矩阵等都是特殊类型的张量. TensorFlow 支持 ...
- (九)maven-surefire-plugin常用配置
原文链接:https://www.cnblogs.com/pixy/p/4718176.html 对maven-surefire-plugin有想了解的,看这篇:https://www.cnblogs ...