Jmeter使用_classpath问题

昨天在使用2.12版本的jmeter时,执行多机负载测试一直报错,最终查明是使用不当的问题,现将详情记录如下,使用jmeter测试java协议脚本时要注意以下几点:

  1. jar包的方式路径一定是这样,否则可能会出现诡异问题:

apache-jmeter

-- lib                 —— 脚本依赖的包放在这里

    -- ext            —— 自己开发脚本(jar文件)放在这里

2. jmeter/lib目录下本身有很多jar包,所以拷贝脚本依赖的jar时一定要小心,千万别和这些jmeter自带的重复,否则也会死的很难看!

附上官方白皮书:

JMeter automatically finds classes from jars in the following directories:

      • JMETER_HOME/lib - used for utility jars
      • JMETER_HOME/lib/ext - used for JMeter components and plugins

If you have developed new JMeter components, then you should jar them and copy the jar into JMeter‘s lib/ext directory. JMeter will automatically find JMeter components in any jars found here. Do not use lib/ext for utility jars or dependency jars used by the plugins; it is only intended for JMeter components and plugins.

If you don‘t want to put JMeter plugin jars in the lib/ext directory, then define the property search_paths in jmeter.properties.

Utility and dependency jars (libraries etc) can be placed in the lib directory.

If you don‘t want to put such jars in the lib directory, then define the property user.classpath or plugin_dependency_paths in jmeter.properties. See below for an explanation of the differences.

Other jars (such as JDBC, JMS implementations and any other support libaries needed by the JMeter code) should be placed in the lib directory - not the lib/extdirectory, or added to user.classpath .

Note: JMeter will only find .jar files, not .zip.

You can also install utility Jar files in $JAVA_HOME/jre/lib/ext, or you can set the property user.classpath in jmeter.properties

Note that setting the CLASSPATH environment variable will have no effect. This is because JMeter is started with "java -jar", and the java command silently ignores the CLASSPATH variable, and the -classpath/-cp options when -jar is used. [This occurs with all Java programs, not just JMeter.]

时间: 2024-10-10 15:24:33

Jmeter使用_classpath问题的相关文章

linux+jmeter+python基础+抓包拦截

LINUX 一 配置jdk 环境 *需要获取root权限,或者切换为root用户 1.windows下载好,去 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 官方网站下载jdk(linux相应版本) 2.在usr目录下创建java路径文件夹 [root bin]cd /usr mkdir java 3.将jdk-8u60-linux-x64.tar.gz放到刚才创建的文件夹下

在压测过程中,jmeter跑一段时间以后卡死的解决方案

Jmeter在跑压测的时候,本来设置了10分钟,但是跑到5分钟的时候就卡死了,再关了以后重新跑还是这样(图1),于是各种百度,最后解决方案如下: 右击点击编辑,记事本打开(图2) 修改后的(图3) set HEAP=-Xms256m -Xmx1024m set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m 再重启jmeter,压测的时候就不会报错了: 注意:压测的时候禁用查看结果树!

Jmeter 跨线程组传递参数 之两种方法

终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直到登录接口的参数失效了,需再次发送一次登录接口,又可以多次使用其参数,下面举例子: 1.登录接口中利用 Json Path Extractor 获取到登录接口的响应参数,(怎么获取上一节讲过) 终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为

学习总结——JMeter做http接口功能测试

JMeter对各种类型接口的测试 默认做接口测试前,已经给出明确的接口文档(如,http://test.nnzhp.cn/wiki/index.php?doc-view-59):本地配好了JMeter 3.x的运行环境: 打开JMeter,添加一个线程组和该线程组的查看结果树.以下的几种接口请求我们都在这个线程组中添加和运行. 1. 普通的以key-value传参的get请求 e.g. 获取用户信息 添加http请求:填写服务器域名或IP:方法选GET:填写路径:添加参数:运行并查看结果. 2.

jmeter+ant+jenkins+mac报告优化

一.在上篇博客中生成的报告有两个问题: 1.date not defined 2.Min Time和Max Time显示成了NaN 二.Jmeter+Ant报告生成原理: 在解决问题之前,让我们先弄清楚Jmeter+Ant是生成报告的原理,知道原理后我们就可以很从容的解决问题了.另外,如果后续我们想定制报告也就很容易了. 1.在Jmeter的extras目录下,官方已经为我们提供了一个现成的实例,我们只需要在该目录下执行ant命令就可以生成一个数据文件Test.jtl和一个报告Test.html

JMeter中3种参数值的传递

小伙伴们在使用JMeter的过程中,肯定会遇到参数值传递的问题,下面来和大家总结下,在使用JMeter做压力测试的时候,常见的3种参数值的传递是怎样的. (一)从CSV文件读取要批量输入的变量 假如我们要登录的数据保存在login.csv文件里,数据如下: 在JMeter中,我们需要添加CSV Data Set Config这个配置文件,如下图: 添加后,我们需要填写其中的必要参数,如Filename和Variable Names: 这里要注意下Variable Names里面的分隔符,为啥是用

jmeter之json数据参数化 断言等

在 http Load Testing 中,json 数据的提交是个让人头疼的问题.本文详细介绍如何进行 JMeter 的 json 测试提交,以及如何将其参数化.Step 1 http json 请求采样器的录制 这个工具很多,可以使用 JMeter 代理录制,也可以使用 Badboy. Step 2 为该采样器添加 HTTP 信息管理器鼠标右击该采样器,右键菜单选择 "添加" -> 配置元件 -> HTTP 信息头管理器,然后信息头添加一条名称为 Content-Typ

Jmeter-WinXP安装JDK和Jmeter

安装JDK 1.  下载JDK,下载地址 http://www.oracle.com/technetwork/java/javaee/downloads/index.html 2.  安装JDK,当前我的安装目录是C:\Program Files\Java\jdk1.6.0_10 3.  设置环境变量(我的电脑—属性—高级—环境变量) (1)     在用户变量中(也可以在”系统变量”中)新建变量名“JAVA_HOME”,变量值为:你在本地安装JDK的目录. 以本机为例设置如下: 变量名:JAV

利用JMeter的beanshell进行接口的加密处理

最近项目中在做http协议的接口测试,其中接口请求报文数据有个字段值需要用到加密后的签名,即出于网络传输过程中,对数据安全的考虑,要对请求的数据进行特定的处理(加密),再进行请求. 刚开始由于项目赶进度的需要,选择的做法是:让开发写个加密处理生成请求报文的代码,然后每次测试发送一次请求都用eclipse跑一遍该代码,测试数据的修改也是在代码中变更.这样跑一轮测试下来,测试同事都反映太累了. jmeter中的BeanShell,可以用来调用我们的工具类对数据进行处理,然后再进行相关的请求.自己刚好