JMeter进行WebService测试
2012-07-25 17:42
232 查看
1. Building a WebService Test Plan参考
http://jmeter.apache.org/usermanual/build-ws-test-plan.html
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为循环次数。
注:灰色“线程组”为其它测试使用过的线程组,此处这设置为Disabled线程组,在本次测试中不使用。
配置如图:
将发布好的Service的 WSDL URL粘贴到WSDL URL中点击Load WSDL之后,WebMthods自动弹出,
只需自己选择Method然后单击Configure即可完成绝大部分自动配置
但是里面会涉及Soap/XML-RPC Data的编写,我编写的如下:
这个XML中绝大部分都是固定的。其余解释如下:
simpleMethod是WebService发布的方法;
http://server.deltaj.com是simpleMethod所在类(SimpleServer)的域名,即SimpleServer所在包的包名为com.deltaj.server;
name是simpleMethod的参数名,参数类型是string;
Yerasel是输入的实参。
SimpleService服务端源程序如下:
注意:
<arg0 xsi:type="xsd:string">Yerasel</arg0>也可以,
在发布成wsdl时候, 方法的参数名称被自动的映射成arg0, arg1, 解决方法如下:
Soap/XML-RPC Data 如下:
结果图:
JMeter整体图如下:
注:
发布SimpleServer时,需要写xml,这是发布WebService的一般步骤,内容如下:
文件布局如图:
com里面是包以及.class
然后,在bin目录下运行"jar cvf SimpleServer.aar . "即可
将aar放入Tomcat的services目录中即可发布。
http://jmeter.apache.org/usermanual/build-ws-test-plan.html
1. 建立WebServiceTest Plan
参考http://jmeter.apache.org/usermanual/build-ws-test-plan.html1) 添加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的编写,我编写的如下:
<?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服务端源程序如下:
// 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代码 public User create( @WebParam(name = "user") User user);因此SimpleService服务端源程序改写如下:
// 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 如下:
<?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>
结果图:
JMeter整体图如下:
注:
发布SimpleServer时,需要写xml,这是发布WebService的一般步骤,内容如下:
<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对WebService进行压力测试
- jmeter发送soap请求进行webservice接口压力测试
- jmeter进行webservice 测试
- 用badboy录制JMeter测试脚本并进行压力测试
- 利用JMeter对服务器进行性能测试
- 使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)
- 用JMETER进行压力测试
- 使用Jmeter对应用程序进行测试
- Jmeter实现webservice的接口测试
- 采用badboy和Jmeter进行性能测试
- 学习使用JMeter进行RESTful API测试的有效技术和最佳实践
- 使用JMeter进行性能测试
- 【转】使用Jmeter测试Webservice简单示例
- 用Jmeter进行接口自动化测试工作流程
- 开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试
- 用Apache JMeter进行性能测试之七(分布式执行)
- jmeter使用IP欺骗进行压力测试
- JMeter进行简单的数据库(mysql)压力测试
- linux中使用jmeter进行压力测试执行篇及遇到的问题
- 使用Jmeter进行Web站点性能测试实例