‘壹’ 如何使用jmeter录制web系统
录制脚本目前有2种方法,我们先介绍jmeter proxy方法。另一个是badboy录制的脚本转化为jmeter脚本,直接想了解badboy,请直接访问
http://www.badboysoftware.biz/docs/jmeter.htm
jmeterproxy 来了。
1)启动jmeter,这个不多说了。
2)选择测试计划,右键添加线程组(thread group)
3)选择这个线程组,右键添加config element -〉 http默认请求
4)在http默认请求单元,填入server name 为jakarta.apache.org. 这个是我们要录制的页面。其他地方不填
5)然后选择刚才那个县城组,右键加入一个录制控制器。位于Add>Logic Controllers -> Recording Controller
6) 选择WorkBench,右键加入 Non-Test Elements -> Http proxy server
7)在http proxy server里, 的patterns to include 里,写入.*\.html 这个是正则表达式,意思是录制所有的html为后缀名的页面。 那么如果你要录制后缀名为jsp或者do的,则写入.*\.jsp 和 .*\.do 分别。
8)对于url怕tternstoexclude的地方,是写入不想被录制的一些资源文件url。比如图片等。这些配置,视测试的具体场景而定。比如是否要测试静态图片等。
9)为了调试录制的情况,我们选择http proxy server ,添加一个察看结果树监听器。这个以前我们曾经用过。
10)回到http proxy server然后,选择开始启动。这样proxy server 就启动了。
11)这样我们打开一个浏览器,将浏览器的代理设置为jmeter proxy server 的ip和端口号。因为proxy server 就在本地,所以就写localhost 和端口即可。
12)设置好代理后,用浏览器访问http://jakarta.apache.org/jmeter/index.html
13)随便点击一些连接,然后回到jmeter 的窗口,你查看结果树就看到了录制的http请求了。
record
14)这样的脚本,我们就可以直接用来运行了。
‘贰’ jmeter 怎么测试登录压力测试
概述
JMeter 最早是为了测试 Tomcat 的前身 JServ 的执行效率而诞生的。到目前为止,它的最新版本是2.1.1,它的测试能力也不再仅仅只局限于对于Web服务器的测试,而是涵盖了数据库、JMS、Web Service、LDAP等多种对象的测试能力。在最新的 2.1.1 中,它还提供了对于 JUNIT 的测试。
JMeter 的安装非常简单,从官方网站上下载,解压之后即可使用。运行命令在%JMETER_HOME%/bin 下,对于 Windows 用户来说,命令是 jmeter.bat。运行前请检查JMeter 的文档,查看是否具备相关的运行条件。对于最新版(即2.1.1),需要JDK的版本要求是JDK 1.4。
JMeter 的主要测试组件总结如下:
1. 测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。
2. 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。
‘叁’ 关于jmeter测试web登录接口
演示一下简单的接口测试,首先需要先进... 1 然后在添加一个为察看结果树,进行右键... 2 点击已添加的http请求进入,然后在web... 3 然后进行运行jmeter,点击上面绿色运行... 4 进入查看结果是否运行成功,可以进行点... 5 进入到查看结果树中...
‘肆’ 如何使用jmeter做webservices接口测试
1. 建立WebServiceTest Plan
1) 添加ThreadGroup
右键单击Test Plan选择Add --> ThreadGroup,配置
Number of Threads、Ramp-UpPeriod、Loop Count可随测试不同随时修改。
三种参数解释如下:
Number of Threads为发起线程总数。
Ramp-Up Period 指定了JMeter开启Number ofThreads个线程所需的时间。例如,如果待发起30个线程(即模拟用户),Ram-Up Period为15秒,则每秒增加2个线程(30个用户/15秒)。如果设置为0,则JMeter会自动启动所有模拟用户。
Loop Count为循环次数。
2. 添加 WebService Requests
右键单击“WebService线程组”,Add --> Sampler --> WebService(SOAP)。
注:灰色“线程组”为其它测试使用过的线程组,此处这设置为Disabled线程组,在本次测试中不使用。
配置
将发布好的Service的 WSDL URL粘贴到WSDL URL中点击Load WSDL之后,WebMthods自动弹出,
只需自己选择Method然后单击Configure即可完成绝大部分自动配置
但是里面会涉及Soap/XML-RPC Data的编写,我编写的如下:
[plain] view plain
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:simpleMethod
xmlns:ns1="http://server.deltaj.com">
<name xsi:type="xsd:string">Yerasel</name>
</ns1:simpleMethod>
</soap:Body>
</soap:Envelope>
这个XML中绝大部分都是固定的。其余解释如下:
simpleMethod是WebService发布的方法;
http://server.deltaj.com是simpleMethod所在类(SimpleServer)的域名,即SimpleServer所在包的包名为com.deltaj.server;
name是simpleMethod的参数名,参数类型是string;
Yerasel是输入的实参。
SimpleService服务端源程序如下:
[java] view plain
// SimpleService.java
package com.deltaj.server;
public class SimpleServer {
/**
* 简单的测试方法
*
*/
public String simpleMethod(String name) {
return name + "Say this is a Simple method ^-^";
}
}
注意:
<arg0 xsi:type="xsd:string">Yerasel</arg0>也可以,
在发布成wsdl时候, 方法的参数名称被自动的映射成arg0, arg1, 解决方法如下:
[java] view plain
Java代码
public User create(
@WebParam(name = "user")
User user);
因此SimpleService服务端源程序改写如下:
[java] view plain
// SimpleService.java
package com.deltaj.server;
public class SimpleServer {
/**
* 简单的测试方法
*
*/
public String simpleMethod(@WebParam(name = "personname")String personname) {
return personname + "Say this is a Simple method ^-^";
}
}
Soap/XML-RPC Data 如下:
[plain] view plain
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:simpleMethod
xmlns:ns1="http://server.deltaj.com">
<personname xsi:type="xsd:string">Yerasel </personname>
</ns1:simpleMethod>
</soap:Body>
</soap:Envelope>
注:
发布SimpleServer时,需要写xml,这是发布WebService的一般步骤,内容如下:
[plain] view plain
<serviceGroup>
<service name="SimpleServer" scope="application">
<description>
SimpleServer
</description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass">com.deltaj.server.SimpleServer</parameter>
</service>
</serviceGroup>
文件名为META-INF/services.xml。
文件布局
com里面是包以及.class
然后,在bin目录下运行"jar cvf SimpleServer.aar . "即可
将aar放入Tomcat的services目录中即可发布。
‘伍’ jmeter那个web服务器地址或者ip填什么
本机就是127.0.0.1,不是本机填相关ip即可
‘陆’ 怎么用jmeter对web进行接口测试
演示一下简单的接口测试,首先需要先进入到jmeter的界面窗口中,进行右键线程组,添加》sampler》http请求。
然后在添加一个为察看结果树,进行右键线程组》监听器》察看结构树。
点击已添加的http请求进入,然后在web服务器中的添加需要的接口复制进入,例如使用网络阅读的首页网址信息,端口为80,协议使用是“http”。
然后进行运行jmeter,点击上面绿色运行按钮。
进入查看结果是否运行成功,可以进行点击察看结果树。
进入到查看结果树中,在进入到响应数据的界面中,可以查看的是网络阅读首页返回的相关的数据,根据的自己的需要还可以进行添加相关的断言。已进行判断是否返回想要的数据。
‘柒’ jmeter测试web接口需要点击,登录等事件时该怎么处理
登陆直接添加 cookie默认处理器进行登陆
‘捌’ 如何使用jmeter测试web应用
http://blog.csdn.net/chendc201/article/details/9026073
上面有教程,请参考
‘玖’ jmeter 怎么对web测试
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测试代码示例,用于抛砖引玉,希望大家一起交流,共同 进步.
‘拾’ jmeter测试一个接口时需要先登录账号密码
演示一下简单的接口测试,首先需要先进... 1 然后在添加一个为察看结果树,进行右键... 2 点击已添加的http请求进入,然后在web... 3 然后进行运行jmeter,点击上面绿色运行... 4 进入查看结果是否运行成功,可以进行点... 5 进入到查看结果树中...