版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TalorSwfit20111208/article/details/82427691
Jmeter引用外部Jar包
问题背景:
在造散航提货的时候,需要生成符合需要生成符合特定校验规则的12位运单号,虽然Jmeter的随机函数能够生成随机数但是无法满足需求,故需要使用Jmeter的Beanshell来自定义脚本来生成12为符合规则的运单号。
解决方法:
找到开发要到运单号校验规则,满足校验规则的单号即可,然后可以写成一个生成单号的方法打成jar包在Jmeter Beanshell脚本中进行引用即可。
Java文件打成Jar包
无外部引用:
- 右键要导出的java文件选择导出
- 导出向导窗口选择jar文件,如下图:
- 点击“下一步”然后选中项目的.classpath和.project文件
- 然后一路“下一步”即至完成即可
Ps:导出后最好现在Eclipse里面引用一下,避免到时候在Jmeter引用时报错
有依赖其他jar包
我这边是java maven项目,故也是讨论的maven方式引用第三方jar包的java打jar包。
请参考这篇博客写得很详细了,https://www.cnblogs.com/sxdcgaq8080/p/8399854.html,主要就是要引用maven的一个插件: maven-assembly-plugin,然后在pom文件中加入以下部分:
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId> maven-assembly-plugin </artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.sxd.util.QR_Code</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
在Eclipse中选中项目运行maven install即可完成打包,打包完成会生成2个jar包,一个带依赖的一个不带依赖的如下图:
Jmeter BeanShell 脚本中引用
- 将打的jar包放到jmeter的lib\ext文件夹下即可,也可以在Jmeter proprieties文件中自定义一个路径进行引用,如下:
将plugin_dependency_paths这行改为下面这样,
plugin_dependency_paths=../dependencies 表示储存在Jmeter bin目录的上级目录dependencies中
- 在Jmeter中引用,如下图: