目录
目录
点击“下一步”然后选中项目的.classpath和.project文件
前言:
当Jmeter内置函数无法满足我们的使用要求时就需要导入外部的类库来支持我们的使用,以满足我们的使用场景
问题背景:
在造散航提货的时候,需要生成符合需要生成符合特定校验规则的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文件中加入以下部分:
pom.xml文件
<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文件中自定义一个路径进行引用,如下:
更改Jmeter插件路径
将plugin_dependency_paths这行改为下面这样,
plugin_dependency_paths=../dependencies 表示储存在Jmeter bin目录的上级目录dependencies中
在Jmeter中引用并进行测试,如下图:
经测试是OK的