`

(转)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 测试webservice 接口文档,内附JMETER3.0 安装包

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

    Java多线程开发WebService,需要对Tomcat服务器进行线程控制配置,并采用JMeter进行WebService测试

    支持webservice接口测试jmeter3.0

    jmeter3.0支持webservice接口测试,含有SOAP/XML-RPC Request采集器

    jmeter压力测试工具

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

    Jmeter入门与高级示例 #用代码,改变世界#.pdf

    Jmeter学习笔记,包含: (一)Jmeter安装与简单使用 #1024程序员节|用代码,改变世界# (二)Jmeter在请求中使用自定义变量 ...(十一)Jmeter测试webService接口 (十二)Jmeter测试dubbo接口 Jmeter使用常见问题

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

    测试SOA_WebService工具(SOAPUI,JMeter等)介绍和使用 SOA Testing 工具介绍 1 目 录 2 一、 SOAP UI 3 1. 介绍 3 2. 安装、运行SOAP UI 3 3. 使用指南 4 1.3.1创建、导入工程 4 1.3.2执行web service操作请求 7 ...

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

    apache-jmeter-5.0压力测试安装包,适用于interface接口的大规模压力测试,也可进行webservice的高并发访问测试,直接安装部署,强烈推荐给大家。

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

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

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

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

    jmeter-视频地址.txt

    18:命令行压测及生成报告 19:Jmeter之分布式压测 20:jm eter扩展插件 21:自己动手开发jmeter插件 22:FTP协议实战 23:WebService协议实战 24:JDBC协议实战 25:JDBC协议实战增删改查 26:JDBC协议实战高级操作...

    如何用JMeter做接口测试

    本文介绍JMeter如何做webservice测试,一般来说web服务,一般指的是HTTP请求相关的内容。这里就介绍一下如何利用JMeter做基于HTTP的web接口测试。接口也叫API(Application ProgrammingInterface),很多我们使用的...

    jakarta-jmeter-2.5

    JMeter是Apache组织开发的基于Java的webservice 压力测试工具。

    压力测试软件 jmeter 操作大全 (中文)

    10 建立与实现一个WebService测试 11 建立与实现 JMS Queue 测试(MQ测试) 12 建立与实现 JMS Topic 测试(MQ测试) 13 建立与实现 Monitor 测试 14 有关listeners 15 Remote Testing远程测试 16 Best Practices 呵呵,...

    Jmeter接口测试+压力测试

    meter是apache公司基于...其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传文件)、做webservice脚本、参数化、断言、关联(正则表达式提取器和处理json-jsonpathextrac

    apache-jmeter-4.0_src.tar

    可以测试各种类型的接口(包括Http、数据库、webservice、ftp等),比postman强大,下载使用即可

    jmeter学习教程视频下载

    课程目录: 1:Jmeter 安装及环境配置 2:Jmeter 目录及配置文件说明 ...23:WebService协议实战 24:JDBC协议实战 25:JDBC协议实战增删改查 26:JDBC协议实战高级操作 27:Jmeter4.0的一些更新

    jmeter接口自动化分享.ppt

    本资源主要介绍了接口测试的概念、类型、测试工具、文档规范、自动化测试的本质和目的、适合自动化测试的项目类型、测试分层、缺陷定位、频繁运行的测试等方面的知识点。 一、接口测试 * 接口测试是检查各个组件的...

Global site tag (gtag.js) - Google Analytics