A. jmeter.bat启动出错的问题解决了吗,我也碰到了同样的问题。JDK的环境变量都是设置好了的。就是报错
JDK11 和JMETER5.1 这2个都先安装好,然后一起配置,具体如下。(本人是系统是win10专业版)
1.打开环境变量——系统变量(全部操作都在系统变量完成)
2.新建名称为CLASSPATH的属性,下面是值,全部复制过去就好(最前面的小点点不要忘记了哦,还有最后面的分号也一样不要忘记了).;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;%JMETER_HOME%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;
3.新建名称为JAVA_HOME的属性,值为C:ProgramFilesJavajdk-12.0.1(ps:以自己的实际路径为主)
4.新建名称为JMETER_HOME的属性,值为D:apache-jmeter-5.1.1(ps:以自己的实际路径为主)
5.编辑名称为Path的这个属性,新建如下3个值(一个个建)%JMETER_HOME%in%JAVA_HOME%in%JAVA_HOME%jrein
6.打开jmeter的bin目录下的JMETER.bat文件或者在cmd命令窗口直接输入 jmeter 也能启动。
注:java环境变量配置好了可以用cmd命令 java 或 javac 来检查,成功的话会显示相关的信息,没成功的话会提示:文件不是内部文件或者什么什么不可执行的。
B. jmeter写java脚本怎么填写请求路径
WaitForSingleObject(hMutex,INFINITE):互斥对象,无限等待线程来请求互斥对象的所有权。当运行到这一句时线程1和线程2就会一直等待,除非所等待的互斥对象hMetux处于有信号状态(即没有被“别人”拿走了钥匙,或者说互斥对象没有被申请!)
C. jmeter用java代码怎样编写接口测试源码
我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java Vuser"等协议.同样,Jmeter也支持自定义编写的测试代码,不过与LoadRunner不同的是,Jmeter没有自带编译器,需要借助第三方编译器才能实现.下面举一个简单的Java自定义测试代码例子,使用Java编译器编写测试代码(Java编译器可以用Eclipse,JBulider等),实现功能为:在测试前输入任意一个字符串,然后判断该字符串的长度是否大于5,如果大于则测试结果成功,否则测试结果位失败,然后在放到Jmeter中模拟10个用户测试,同时运行这段代码,具体实现如下:
1.打开Java编译器,新建一个项目"TestLength",然后新建一个包"app".
2.从Jmeter的安装目录lib/ext中拷贝两个文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar"到"Tester"的项目中,然后引入这两个JAR文件.(具体的引入方法参考各个Java编译器的使用方法)
3.在"app"包中新建一个类,名字叫"TestLength",不过这个类要继承"AbstractJavaSamplerClient"类,如果项目引入步骤二中的两个文件,就可以找到"AbstractJavaSamplerClient"类了.
4."TestLength"类在继承"AbstractJavaSamplerClient"类的同时也会继承四个方法,分别是"getDefaultParameters","setupTest","runTest"和"teardownTest"方法."getDefaultParameters"方法主要用于设置传入的参数;"setupTest"方法为初始化方法,用于初始化性能测试时的每个线程."runTest"方法为性能测试时的线程运行体;"teardownTest"方法为测试结束方法,用于结束性能测试中的每个线程.
5.具体实现代码如下:
package app;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import com.passpod.core.t8.*;
/**
* @author乐以忘忧
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class TestLength extends AbstractJavaSamplerClient{
private SampleResult results;
private String testStr;
//初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,类似于LoadRunner中的init方法
public void setupTest(JavaSamplerContext arg0) {
results = new SampleResult();
testStr = arg0.getParameter("testString", "");
if (testStr != null && testStr.length() > 0) {
results.setSamplerData(testStr);
}
}
//设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("testStr", ""); //定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值
return params;
}
//测试执行的循环体,根据线程数和循环次数的不同可执行多次,类似于LoadRunner中的Action方法
public SampleResult runTest(JavaSamplerContext arg0) {
int len = 0;
results.sampleStart(); //定义一个事务,表示这是事务的起始点,类似于LoadRunner的lr.start_transaction
len = testStr.length();
results.sampleEnd(); //定义一个事务,表示这是事务的结束点,类似于LoadRunner的lr.end_transaction
if(len < 5){
System.out.println(testStr);
results.setSuccessful(false); //用于设置运行结果的成功或失败,如果是"false"则表示结果失败,否则则表示成功
}else
results.setSuccessful(true);
return results;
}
//结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行,类似于LoadRunner中的end方法
public void teardownTest(JavaSamplerContext arg0) {
}
}
6.把上面的例子打包,然后把生成的"TestLength.jar"文件拷贝到Jmeter的安装目录lib/ext下.
7.运行Jmeter,添加一个线程组,然后在该线程组下面添加一个Java请求(在Sampler中),在Java请求的类名称中选择咱们刚创建的类"app.TestLength",在下面参数列表的"testStr"后面输入要测试的字符串,然后添加一个监听器(聚合报告),设置一下模拟的用户数就可以测试了.如果测试不成功,Jmeter会在它自己个输出框中抛出这个字符串.
通过上面的例子我们可以发现,使用Jmeter自定义Java测试代码,配合Jmeter自带的函数,就可以实现出LoadRunner中"Java Vuser"协议的绝大多数功能,而且是没有用户数限制和完全免费的(嘿嘿).上面的例子非常简单,而且没有任何实际意义,只是一个简单的Jmeter测试代码示例,用于抛砖引玉,希望大家一起交流,共同 进步.
D. 没有java基础的学习jmeter难吗
楼主你好,不难的,但是如果有java基础就更好了。
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络 或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
E. jmeter 能测试django框架系统吗
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 怎么在windows系统中安装Jmeter压力测试工具?下面一起来学习一下吧
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
Jmeter
JMeter的作用
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。
一、Jmeter安装总结
1、配置Java环境变量时需要注意设置的路径需要和JDK安装的路径一样
2、配置Java环境变量时需要注意JDK的版本号
3、配置环境变量时多个变量以分号隔开,但是确保是英文输入法的分号
二、搭建测试环境总结
1、检测负载机是否可以被调用,检测负载机的ip是否能被ping通
2、当负载机的ip不能ping通时,有可能是防火墙拦截了,可以检测防火墙是否是启用状态,如果是暂时设置禁用防火墙
3、测试的数据调用文件应该放在负载机上,并且在控制中心设置正确的数据访问路径
Jmeter测试工具安装步骤:
1、安装Jmeter
下载Jmeter工具包 并把工具包放到C盘下
http://jmeter.apache.org/download_jmeter.cgi
2、安装JDK
下载Java的JDK并安装,一般会安装在C:\Program Files\Java目录下
http://java.sun.com/javase/downloads/index.jsp
3、Java环境变量配置
桌面上 右键选中计算机--->属性--->高级系统设置--->环境变量设置
在“系统变量”--->“新建”, 在变量名中输入:CLASSPATH,变量值中输入:C:\Program Files\Java\jdk1.6.0_10\lib\dt.JAR; C:\Program Files\Java\jdk1.6.0_10\lib\TOOLS.JAR; C:\Program Files\Java\jdk1.6.0_10\BIN;再按“新建”,在变量名中输入:JAVA_HOME,变量中输入:C:\Program Files\Java\jdk1.6.0_10;修改PATH变量,添加%JAVA_HOME%/bin;然后确定即可
4、Jmeter环境变量配置
桌面上 右键选中计算机--->属性--->高级系统设置--->环境变量设置
在“系统变量”--->“新建”, 在变量名中输入:JMETER_HOME,变量值中输入:C:\jakarta-jmeter-2.3.4 ,再修改CLASSPATH变量,变量值中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;% JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 然后确定即可
意义
1、Label: 定义的HTTP请求名称
2、Samples: 表示这次测试中一共发出了多少个请求
3、Average: 访问页面的平均响应时间
4、Min: 访问页面的最小响应时间
5、Max: 访问页面的最大响应时间
6、Error%: 错误的请求的数量/请求的总数
7、Throughput:每秒完成的请求数
8、KB/Sec: 每秒从服务器端接收到的数据量
F. 怎么对手机app进行测试脚本的录制,进而使用Jmeter进行性能测试
1、新建一个ThreadGroup
分组里面是接口的请求
后续就可以针对性能测试场景设置参数化、延时、集合点,事务。
JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器,等等。
G. 测试用badboy+jmeter,有类似badboy的其他软件吗
推荐两个非常好用的测试工具jmeter和badboy
loadruner就不用说了,测试软件的霸主。今天推荐俩新秀,小巧实用,而且完全免费。因为一个是开源软件,一个是不用于商业用途就不用付费。
简单介绍下jmeter和badboy
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现
JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。
Badboy也是一个强大的测试工具,是用C++开发的,被设计用于测试和开发复杂的动态应用。Badboy功能丰富(包括一个捕获/重播接口,强大的压力测试支持,详细的报告、图形)使得测试和开发更加容易。
为什么要把这俩工具放在一起说呢,也许有朋友对jmeter比较熟悉,jmeter本身功能就已经很强大了,为什么还要用badboy呢?它比jmeter的功能还要强大吗?答案是否定的,它不比jmeter功能多,但是有了badboy可以让你的测试脚步制作更加轻松。
用过jmeter的人都知道,jmeter测试简单点的静态页面还成,脚本制作也就三两步就搞定了。但是要是制作复杂点的测试脚步就非常困难了,比如登录系统输入用户名和密码,什么函数、参数配置之类的,肯定会把你搞晕。而且网上jmeter相关复杂点的案例也非常少,它本身提供的帮助文档也只有一个很简单的例子,用处不大。有了badboy就不一样了,它可以提供像loadrouner一样的录屏功能,不需要你自己去配置什么协议、参数、cookie manager之类的,只要你把你的测试过程录制出来,然后save as jmeter 脚本格式就ok了。
所以说这俩软件是绝配,谁用谁知道,badboy让你简单的制作测试脚本,而jmeter可以给你提供强大的测试功能和聚合报告。
H. 如何用java代码实现一个类似,jmeter的beanshell脚本/postman运行脚本的功能(解析字符串运行代码)
beanshell是可以自由适用的脚本语言啊,你可以在你的项目中引入,具体方式请阅读
beanshell官方文档
I. jmeter 只能录制ie的脚本吗
Jmeter 是一个非常流行的性能测试工具,虽然与LoadRunner相比有很多不足,比如:它结果分析能力没有LoadRunner详细;很它的优点也有很多:
开源,他是一款开源的免费软件,使用它你不需要支付任何费用,
小巧,相比LR的庞大(最新LR11将近4GB),它非常小巧,不需要安装,但需要JDK环境,因为它是使用java开发的工具。
功能强大,jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试。因为它的开源性,当然你也可以根据自己的需求扩展它的功能。