如何在jmeter中调用自己写的java工具包

时间:2022-04-18 14:38:52

本文介绍在jmeter中调用自己写java工具包,并非直接继承jmeter提供的java sample request接口。

工具/原料

  • jmeter
  • eclipse

方法/步骤

  1. 通常用jmeter做http请求(或者其他类型)时,有时候要对请求的数据(或者响应的数据)进行特定的处理再进行请求,如加密、解密。
  2.  这时候我们可以用java自己写一些工具类,利用jmeter提供的beanshell来调用我们的工具类对数据进行处理,然后再进行相关的请求。
  3.  首先在eclipse写个属于自己的工具类,我写了一个根据左右边界截取字符串的工具类GetStringWithLBRB.java,“选择”你所有写的类文件,“右击”选择导出,“导出”jar包(随便命名,记住该类在eclipse中的包路径即可)
  4. 然后将导出的jar包放到\apache-jmeter-2.12\lib\ext目录里,在jmeter中创建一个项目,添加一个http request,在这个请求里我们添加一个前置beanshell。
  5.  在beanshell中导入我们的jar包(包路径既我们在eclipse中看到的路径),beanshell中的两个方法是我们最常用到的:vars.get(String paramStr)、vars.put(String key,String value),前一个是从jmeter中获得变量值,后一个是将数据存到jmeter变量中。
  6.  比如:
    jmeter中有参数param1,那么我们在beanshell中就可以通过
    String param2 = vars.get(param1);
    这样param2就获取到了jmeter中的参数param1的值了。

    再比如:
    String paramName=“abc123def”;
    String paramName1=paramName.Substring(3,6);
    vars.put(“paramName”,paramName1);
    这样paramName作为参数就存到jmeter中,我就能在jmeter下面步骤中使用${paramName}获取到我处理后的值了。

  7.  这样对于请求前要加密、请求后要解密的情况,我们就能自己写工具包进行相关数据处理了。