背景
在进行性能测试过程中经常需要造数据,例如加解密、经纬度、车牌号、保存文件、签名等等。jmeter提供了beanshell支持扩展,可以在beanshell中编写自己的脚本,但是有以下几个缺点:
1、编写不会自动补全,本人是用java语言,没有自动补全要全部记录那些类名、方法名,感觉头发又要掉一撮了。
2、调试麻烦。一般通过执行然后查看log等方法进行,不能debug。
3、出错了很难排查。一旦出错,很难排查问题,有时候就是几个字符串的问题。
4、不支持复用。在一个脚本中编写了,在另一个脚本还得写一次,麻烦。
综上所述,所以创建一个项目,用来写一些自己的工具,就像添加jmeter自带的函数、配置原件等一样,添加,然后填一填参数就OK。然后等jmeter更新版本后只要更新依赖的版本信息,然后修修改改就可以啦。
步骤1:创建项目
打开IDEA,创建maven项目,稍等几分钟等待资源加载完毕。

创建完成后目录结构

步骤2:添加依赖

步骤3:创建自己的小工具
1、添加相应目录

2、写一个函数-RSA加解密。函数列表排名是按照ASCII码字母顺序的,所以我的自定义函数都是A开头,哈哈。

3、写一个监听器-自定义个聚合报告。
jmeter自带的聚合报告的平均响应时间是取整了,没有小数点。所以有一些差别就体现不出来了。特别是平均响应时间是0.xx的时候,你能看到的就是0。

4、写一个配置元件–生成车牌号

5、写一个预处理器-经纬度前置处理器

6、写一个后置处理器–数据库查询结果写文件的后置处理器

7、写一个采样器–写文件采样器

步骤4: 打包
打包时我是将项目依赖独立放在lib目录。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
步骤5:使用
1、将打包结果①自己写的代码的jar包放入jmeter的lib/ext目录下
2、将打包结果②自己写的代码的依赖jar包放入jmeter的lib目录下,注意这个包【ApacheJMeter_core】不用处理,原jmeter就已经有了。
提升JMeter性能测试效率:自定义工具库开发与集成
1874

被折叠的 条评论
为什么被折叠?



