Jmeter如何实现参数名称和个数动态变化的接口请求

  
  
      <李> <强>需求分析
    在做接口自动化和性能测试,经常会遇到一些请求参数是根据上一个请求结果,动态变化的参数个数,参数名可能相同,也可能为序列递增格式,参数个数可能为10,20个,这样就导致手工不好模拟该请求效果,需要进行封装自定义函数才能实现该效果李   
     <人力资源/>   
  

? ? Jmeter是一款开源的性能测试工具,目前是行业内使用率最高的性能测试工具之一,Jmeter是使用JAVA语言开发的,本文介绍如何使用JAVA语言开发自己需要的扩展函数

  
      <李> <强>目前业界流行的两种开发模式,本文介绍第二种
    1,使用Jmeter二次开源环境,直接在org.apache.jmeter.functions包下面开发自己需要的函数,然后导出该jar包,替换Jmeter目录的ApacheJMeter_functions。jar文件
    2,直接在Maven项目下开发自定义函数,然后打包,该方法,简单、高效李   
     <人力资源/>   
  
      <李> <>强开发思路
    1,使用Eclipse创建Maven项目,配置Pom文件,引入扩展函数所需的依赖包;
    2,创建类,然后继承AbstractFunction,实现四个主方法;
    3,对编写好的项目进行编译,打包
    4,把打包好的函数放到jmeter扩展目录,调用自定义函数,检查是否正确;李   
              JDK环境   Jmeter依赖包版本   Maven仓库版本               1.8   4.0   3.5.3            

<强>一、新建Maven项目

  

1。文件》新》项目,选择Maven》Maven项目,一直点击下,此包处包名一定要以。功能格式结束,否则开发出来的函数,Jmeter读取不到
 Jmeter如何实现参数名称和个数动态变化的接口请求“> <br/> <img src=   <李>更新后,编译,打包正常:
 Jmeter如何实现参数名称和个数动态变化的接口请求“> <br/> <强>二、编写自定义函数代码</强> </李>
  <李>要实现扩展Jmeter函数,主要有两点<br/> 1.1。实现函数的类的包声明必须包含“.functions   

JMeter设计让一些核心的类可以在非UI的方式下运行的时候能被加载进来,这些类会被优先加载。加载这些类的时候是通过命名规则来实现的。所有实现函数的类必需包含“.functions",所以我们自定义实现的类里必须包含“.functions",比如如下申明的包名为:“jmeter.test.functions"

  李      

 Jmeter如何实现参数名称和个数动态变化的接口请求“> <br/> 1.2。首先在Jmeter.test.functions包下创建一个类,类名称为Save_Body_Data,需要继承AbstractFunction类,然后实现父类的四个方法</p>
  <pre> <代码>私有静态最终List<String>desc=new LinkedList<String> ();/*该变量用来获取对参数值输入进行描述*/私有静态最终字符串键=Jmeter如何实现参数名称和个数动态变化的接口请求