美文网首页
Jmeter的二次开发-自定义函数

Jmeter的二次开发-自定义函数

作者: yywfy的昵称 | 来源:发表于2020-12-20 17:20 被阅读0次

    为什么需要自定义函数呢?

    Jmeter作为一个工具是有局限性的,在某些场景中,jmeter可能无法满足我们的测试需求,这时我们可以:

    1,找第三方的插件:

    2,对Jmeter进行二次开发:

    一般来说,涉及到数据的处理相关问题,例如数据加密,数据格式转换等,可以通过自定义函数的方式来实现。


    先使用Java IDE编写基于JMeter库的自定义函数:

    第一步创建一个Java project:

    在Java project的build Path中倒入Jmeter的依赖库ApacheJMeter_core.jar和ApacheJMeter_function.jar:

    在Java project下面创建Java package,名字以functions结尾:

    这时因为在Jmeter.propeties中定义了Jmeter查找class的规则:

    创建java class,选择自定义java class的父类,继承自org.apache.jmeter.functions.AbstractFunction

    注意:

    1. 自定义函数的package的名字的最后必须是.functions

    2. 自定义函数是需要继承Jmeter的org.apache.jmeter.functions.AbstractFunction

    自动生成的class文件中,getReferenceKey()函数是用于返回自定义函数的名字,下面的例子中,自定义函数名是“__Hello”:

    函数execute是Jmeter自定义函数的主要逻辑代码,在这里写自己的业务逻辑:

    然后将写好的Java类函数导出为Jar file:

    将导出的jar文件放入Jmeter的lib/ext下面,然后重启Jmeter:

    在Jmeter的函数界面中就可以找到自定义的函数了:

    上面是个简单的例子,只是介绍了Jmeter自定义函数的大致流程,下面介绍一下如何给自定义函数传递参数,和如何在自定义函数中使用业务jar包。

    首先说明Jmeter自定义函数的原则,建议把业务相关的代码单独打成jar包,然后在Jmeter自定义函数中引用。

    先写一个简单Java class来模拟业务逻辑代码:

    把业务逻辑代码导出为jar包,在Jmeter自定义java project中倒入:

    在Jmeter 自定义函数类中先定义输入参数列表和参数列表说明,需要结合具体的业务场景来设定。通过调用add方法来添加多个函数的输入参数:

    定义全局变量用于接受输入的参数值:

    修改setParameters方法来接受和处理用户调用函数时所传递的参数值:

    接下来修改execute方法,把自定义函数的业务逻辑写在这个方法里面,先实例化业务类Calc,然后调用实例的方法处理输入参数,并返回相应的输出:

    然后将写好的自定义函数导出为jar包,放入Jmeter的lib/ext目录下,再将业务逻辑包放入Jmeter的lib目录下,重启Jmeter,就可以在函数助手里调用自定义函数了:

    相关文章

      网友评论

          本文标题:Jmeter的二次开发-自定义函数

          本文链接:https://www.haomeiwen.com/subject/pyxknktx.html