为了其他一些测试目的,需要把外部的jar包引入进来,以下是我个人实践的一点经验,会持续补充。
1、在jmeter的根目录下,创建一个新的文件夹,存放自己需要导入的jar包,如下图这个文件夹就是我创建的存放jar包的文件夹;
2、配置jmeter.properties。
找到classpath configuration,然后在如图的位置添加一行代码:plugin_dependency_paths=../practicejar;
这里要注意的是:网上有人说直接改user.calsspath,如改成下图第一个红框标注的地方;我试了,发现这样修改以后,会让jmeter加载时报错:jmeter.gui.util.MenuFactory: Missing jar? Could not create com.googlecode.jmeter.plugins.webdriver.sampler.gui.WebDriverSamplerGui. java.lang.NoClassDefFoundError: jsyntaxpane/DefaultSyntaxKit
,这是因为jmeter启动时需要读取的jar包位置被改了,jar包找不到了,所以不要这样干。
3、在jmeter的测试计划处,把需要的jar包导入进去,如下图所示;然后就可以用beanshell进行调用测试啦。
解决问题过程:
测试时,想做一个通过响应数据中的图片url地址,自己写个脚本把图片下载到本地制定目录并重命名。
然后在调试脚本时,碰到好多问题,对于没啥编程经验的我来说,真难呀。
1、为了验证写的代码是否正确,需要先在本地java环境调试通过。这一步经过修改,终于调试成功,图片也下载到本地了,开心。
2、把调试通过的脚本,放到我的beanshell里,执行时报错,然后我就卡到这里了,报错信息如下:
2017/06/22 15:06:50 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.io.FileOutputStream; import java.io.InputStream; import java.io.Outp . . . '' : Typed variable declaration : Object constructor
2017/06/22 15:06:50 WARN - jmeter.protocol.java.sampler.BeanShellSampler: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.io.FileOutputStream; import java.io.InputStream; import java.io.Outp . . . '' : Typed variable declaration : Object constructor
3、出现上面这个问题,其实是我的log.info语句使用有问题,不能有空格,也不能把加号变为别的符号,改成如下的样式就正常了:log.info("url:"+url);