`

(转)jmeter 测试webservice

阅读更多

地址:http://itindex.net/detail/45270-jmeter-webservice-%E6%B5%8B%E8%AF%95

 

1. Building a WebService Test Plan参考

http://jmeter.apache.org/usermanual/build-ws-test-plan.html 

 

1.   建立WebServiceTest 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为循环次数。

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 copy
 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <soap:Envelope   
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4. xmlns:xsd="http://www.w3.org/2001/XMLSchema"   
  5. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
  6. <soap:Body>  
  7. <ns1:simpleMethod  
  8.          xmlns:ns1="http://server.deltaj.com">  
  9.             <name xsi:type="xsd:string">Yerasel</name>  
  10.         </ns1:simpleMethod>  
  11. </soap:Body>  
  12. </soap:Envelope>  


这个XML中绝大部分都是固定的。其余解释如下:

 

simpleMethod是WebService发布的方法;

http://server.deltaj.com是simpleMethod所在类(SimpleServer)的域名,即SimpleServer所在包的包名为com.deltaj.server;

name是simpleMethod的参数名,参数类型是string;

Yerasel是输入的实参。

 

SimpleService服务端源程序如下: 

 

[java]  view plain copy
 
  1. // SimpleService.java  
  2. package com.deltaj.server;  
  3.   
  4. public class SimpleServer {    
  5.     
  6.     /**  
  7.      * 简单的测试方法  
  8.      *   
  9.      */    
  10.     public String simpleMethod(String name) {    
  11.         return name + "Say this is a Simple method ^-^";    
  12.     }    
  13.   
  14. }    



 

注意: 
<arg0 xsi:type="xsd:string">Yerasel</arg0>也可以, 
在发布成wsdl时候, 方法的参数名称被自动的映射成arg0, arg1, 解决方法如下:  

 

[java]  view plain copy
 
  1. Java代码    
  2. public User create(    
  3.     @WebParam(name = "user")    
  4.     User user);    

因此SimpleService服务端源程序改写如下:

 

 

[java]  view plain copy
 
  1. // SimpleService.java  
  2. package com.deltaj.server;  
  3.   
  4. public class SimpleServer {    
  5.     
  6.     /**  
  7.      * 简单的测试方法  
  8.      *   
  9.      */    
  10.     public String simpleMethod(@WebParam(name = "personname")String personname) {    
  11.         return personname + "Say this is a Simple method ^-^";    
  12.     }    
  13.   
  14. }    


Soap/XML-RPC Data 如下:

 

 

[plain]  view plain copy
 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <soap:Envelope   
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4. xmlns:xsd="http://www.w3.org/2001/XMLSchema"   
  5. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
  6. <soap:Body>  
  7. <ns1:simpleMethod  
  8.          xmlns:ns1="http://server.deltaj.com">  
  9.             <personname xsi:type="xsd:string">Yerasel </personname>  
  10.         </ns1:simpleMethod>  
  11. </soap:Body>  
  12. </soap:Envelope>  


结果图:

 

 

JMeter整体图如下:

注:

发布SimpleServer时,需要写xml,这是发布WebService的一般步骤,内容如下:

 

[plain]  view plain copy
 
  1. <serviceGroup>  
  2.     <service name="SimpleServer" scope="application">  
  3.         <description>  
  4.             SimpleServer  
  5.         </description>  
  6.         <messageReceivers>  
  7.             <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
  8.             <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
  9.         </messageReceivers>  
  10.         <parameter name="ServiceClass">com.deltaj.server.SimpleServer</parameter>  
  11.     </service>  
  12. </serviceGroup>  

文件名为META-INF/services.xml。

 

文件布局如图:

com里面是包以及.class 
 

然后,在bin目录下运行"jar cvf SimpleServer.aar . "即可

将aar放入Tomcat的services目录中即可发布。

分享到:
评论

相关推荐

    JMETER 测试webservice 接口文档,内附JMETER3.0 安装包

    【JMeter测试Web服务接口】 Apache JMeter是一款强大的性能测试工具,主要被用来对Web应用程序进行负载和压力测试。在本资源中,你将获得关于如何使用JMeter 3.0来测试Web服务接口的详细文档,这将帮助你评估接口的...

    Tomcat服务器线程控制配置以及JMeter进行WebService测试

    【标题】:“Tomcat服务器线程控制配置以及JMeter进行WebService测试” 【描述】:本话题涉及Java开发的WebService服务,需要对Tomcat服务器进行线程管理的配置,以优化服务器性能,同时利用JMeter这一性能测试工具...

    支持webservice接口测试jmeter3.0

    在JMeter 3.0版本中,针对Web Service接口的支持得到了进一步加强,特别是对SOAP(Simple Object Access Protocol)和XML-RPC(XML Remote Procedure Call)协议的支持,使得开发者和测试人员能够方便地对这些接口...

    jmeter中WebService插件(解决中文乱码)

    在性能测试领域,Apache JMeter 是一款广泛应用的开源工具,尤其在Web服务的负载和压力测试方面。在处理Web服务时,尤其是SOAP协议的服务,JMeter提供了丰富的插件来增强其功能。本篇将深入探讨如何在JMeter中使用...

    jmeter压力测试工具

    apache jmeter是来自国外的一款开源免费、功能强大的web压力测试工具。它是一款为负载测试功能行为和测量性能的100%纯Java应用程序,可用于测试静态和动态资源,Web动态应用程序的性能。jmeter可用于模拟服务器,...

    Jmeter性能测试

    最后,JMeter还支持LDAP、webservice和mail等相关内容的测试,这些功能在文档中并未详细展开,但是它们是性能测试中常见的组件测试。 整体来说,JMeter是一个功能强大、灵活的性能测试工具,它为测试者提供了多样的...

    测试SOA_WebService工具(SOAPUI_JMeter等)介绍和使用

    在JMeter中测试WebService主要包括以下几个步骤: - 添加HTTP请求采样器,配置WebService的URL和方法。 - 使用JSON提取器或XPath提取器从响应中提取关键数据。 - 设置断言来验证返回结果。 **2.3.2 在JMeter中测试...

    apache-jmeter-5.0压力测试安装包

    对于"Webservice"的高并发访问测试,JMeter同样胜任。通过配置HTTP Sampler,你可以直接指定SOAP或RESTful接口的URL、方法、请求头和正文,执行接口调用。JMeter还支持WSDL导入,自动填充接口相关的参数,简化了测试...

    一款适合小白的jmeter入门使用,性能测试工具-jmeter使用教程

    jmeter 能够很好地支持各种常见接口,如 HTTP(s)、webservice、JDBC、JAVA、FTP 等,并以多种形式展现测试结果。 jmeter 安装及环境配置 1. 安装 JDK:jmeter 依赖 Java 环境的,所以要先安装 JDK。需要注意的是 ...

    jmeter接口测试案例

    ### jmeter接口测试案例 #### 1. 相关概念 - **1.1 引言** 当一个软件提供了注册功能,并通过了功能测试,但上线后却出现了大量异常用户注册的情况(如账号密码超长、为空或格式错误等),这表明单纯的功能测试...

    坚果测试Nutstest jmeter接口测试

    ### 坚果测试Nutstest jmeter接口测试 #### 接口测试入门与基础知识 在当前快速发展的软件行业中,接口测试(API测试)已成为确保软件质量不可或缺的一部分。本课程旨在为初学者提供一个深入了解接口测试的机会,...

    webservice接口测试代码

    测试WebService接口通常涉及以下几个步骤: 1. **创建测试环境**:设置客户端和服务器端环境,安装必要的开发工具,例如 Axis2 客户端库,以及用于编译和执行测试代码的IDE(如Eclipse或IntelliJ IDEA)。 2. **...

    jmeter接口测试详细教学文档

    而对于WebService接口,除了SoapUI外,Jmeter同样能够胜任,提供SOAP/RPC Samplers进行测试。 【接口测试范围】包括功能测试、性能测试、安全性测试、稳定性测试和异常测试。功能测试确保接口按预期工作,性能测试...

    测试SOA_WebService工具(SOAPUI,JMeter等)介绍和使用.doc

    本文主要介绍两种流行的SOA(Service-Oriented Architecture,面向服务架构)测试工具——SOAPUI和Apache JMeter,它们广泛用于测试Web Service的效率、功能和稳定性。 **SOAPUI** 1. **介绍** SOAPUI是一款强大的...

    WebService测试工具

    5. JMeter:Apache开源项目,主要为性能测试设计,但也可用于WebService测试,尤其适合进行压力和负载测试。 三、使用测试工具的步骤 1. 创建请求:根据WebService的WSDL(Web Service Description Language)文件...

    JMeter

    在JMeter测试中,CSV Data Set Config组件允许我们从CSV文件中读取数据,这些数据可以作为测试参数。`JMeter_CSVSamples.csv`文件可能包含了测试用例所需的各种输入数据,如用户名、密码或者其他变量值。通过这个...

    WebService 测试项目

    在测试WebService时,我们首先要理解其核心概念和技术栈。WebService主要基于SOAP(Simple Object Access Protocol)协议,通过XML(eXtensible Markup Language)格式来传递数据。此外,WSDL(Web Services ...

Global site tag (gtag.js) - Google Analytics