关于JMeter导入自定义Jar包的案例分析

小编给大家分享一下关于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中),如下图所示:

看完了这篇文章,相信你对关于JMeter导入自定义Jar包的案例分析有了一定的了解,想了解更多相关知识,欢迎关注本站行业资讯频道,感谢各位的阅读!

相关推荐:

如何在Python中自定义NumPy的打印格式以方便调试?

np.set_printoptions()可直接控制NumPy数组显示格式;默认格式因小数位不一致、科学计数法混用及自动截断而影响调试效率;关键参数需协同设置,如precision控制有效位数、suppress禁用科学计数法、threshold避免省略、linewidth防换行混乱、floatmod...

Django 自定义认证后端未生效的排查与解决

Django中request.user始终为AnonymousUser,即使登录成功且session已存用户ID,通常是因为自定义认证后端未被正确调用——根本原因在于AUTHENTICATION_BACKENDS配置顺序错误,导致Django优先使用默认ModelBackend而跳过了你的邮箱登录逻...

如何在Python Flask中实现敏感词过滤_构建自定义中间件

Flask中不能直接在路由里做敏感词过滤,因重复代码多、易漏检、难统一响应格式,且无法覆盖所有入口;应使用WSGI中间件或before_request钩子在请求进入视图前拦截,中间件更底层可靠,职责仅为阻断而非清洗。 Flask中为什么不能直接在路由里做敏感词过滤 因为重复代码多、易漏检、难统一响应...

怎样在Python Flask中自定义响应状态码_返回tuple元组格式

状态码必须放在元组的第二个位置;三元组格式为(body,status,headers),顺序不可颠倒,headers须为字典或类字典对象。 Flask中返回tuple元组时状态码写在哪一位 Flask的视图函数返回tuple时,状态码必须放在**第二个位置**(索引为1),且该值必须是整数或字符串形...