`

Jmeter 测试WebService

 
阅读更多

                                                                Jmeter 测试WebService 

 继上一记录JMeter的简单使用, 这里,记录JMeter 如何测试WebService ,虽然WebService的速度比其它的RPC 要慢很多,但实际的系统使用它还是很多的 。

 如何使用JMeter 见上一记录,或googel .

  参考官网:http://jmeter.apache.org/usermanual/build-ws-test-plan.html

  1. 在线程组下新建一个 WebService(SOAP)Request.

 

 

2. 只需要在WSDL这一项,写上你的WSDL的位置即可。

   点一下  载入WSDL配置 ,下面几项都可以自动生成。

    

3. 最关键的也就是下面的 SOAP/XML -RPC Data . 这一项参数很多人不知道怎么填。

     这里有一些是跟SOAP相关的,如果你自已写一个WS的客户端调用的话,中间有很多都是WS中的jar包帮你生成的,

    我这里是取自前人写的一段, 有种方法可以得到,你先用WS的客户端包,写一个WS的调用程序,去调用你系统中的WS服务,写一个过滤器如Filter, 每次请求,都会进入这个里面,你在这个里面把请求过来的URL都打印出来,看看,都会有请求的封装的SOAP相关的协议了,你就COPY 上去,就可以了。

   3.1 在此给出两个: 

       1. 我的WS服务中只有一个参数,都是XML格式的,如果你也是,可以用以下试试:

   

<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">   </soap:Header>
	<soapenv:Body>
		<ser:call xmlns:ser="http://service.rc.infores.gpdi.com">
			<ser:in0>
				<ser:bak1/>
				<ser:bak2/>
				<ser:funcCode/>
				<ser:reqCode/>
				<ser:sourceCode/>
				<ser:sync/>
				<ser:sysCode/>
				<ser:sysPwd/>
				<ser:targetCode/>
				<ser:version/>
			</ser:in0>
			<ser:in1><![CDATA[
                                      你自已的XML格式的请求数据        
                                  ]]></ser:in1>
		</ser:call>
	</soapenv:Body>
</soapenv:Envelope>

 

    

   2. 说明,如果你方法中的方法名不是叫  call    的话,你就把它改一下,如果你的方法中只有一个参数,或两个,也把下面的 <ser:in0>中间的去掉,加上你的参数。如果是发的XML,就可以用上面的参数。

如:

   

<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">   </soap:Header>
	<soapenv:Body>
		<ser:sayHello xmlns:ser="http://service.rc.infores.gpdi.com">
			<ser:in0><![CDATA[
                                                4444444444
                                  ]]></ser:in0>
		</ser:sayHello>
	</soapenv:Body>
</soapenv:Envelope>

   

   3,或用以下这个:

   

<?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:sayHello xmlns:ns1="http://com.gxlu.ngrm.external.guangzhou.server">
			<target xsi:type="xsd:string">Yerasel </target>
		</ns1:sayHello>
	</soap:Body>
</soap:Envelope>

 

   说明:1. ns1:sayHello 中的 sayHello是调用WS的服务的方法名称,可以修改为你自已的WS服务中的方法。

        2. target 为WS服务中的参数的名称,最好一致,我试了下,有一个参数的话,随便取个名,也可以调用到。

 4. 配完了,就可以加入监听器,观看结果:

 

     

说明,设置线程的个数都在  线程组  中设置

 

OK,JMeter测试WS结束 。

 

 最后再说下,在Eclipse jEE 版本中,也带有一个界面测试WS的客户端:

下面有一个请求的发送调用服务的XML,可以把这段xml copy  到上面Jmeter中的 SOAP/XML-RPC Data 中即可:

 

 

  如:

     请求的SOAP/XML-RPC Data 为:

- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://server.guangzhou.external.ngrm.gxlu.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soapenv:Body>
- <q0:sayHello>
  <q0:in0>3333</q0:in0>
  </q0:sayHello>
  </soapenv:Body>
  </soapenv:Envelope>

 

把这段放到上面示例中,运行即可。

返回的XML为:

- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soap:Body>
- <ns1:sayHelloResponse xmlns:ns1="http://server.guangzhou.external.ngrm.gxlu.com">
  <ns1:out>hello world from 3333</ns1:out>
  </ns1:sayHelloResponse>
  </soap:Body>
  </soap:Envelope>

 

 

有一个问题: 

    如果方法中有两个参数,或三个参数,时,用eclispe 或JMeter去调用时,都会报 :

- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soap:Body>
- <soap:Fault>
  <faultcode>soap:Server</faultcode>
  <faultstring>Error invoking 'com.gxlu.ngrm.external.guangzhou.server.HelloWorldService.sayHello3(java.lang.String, java.lang.String, java.lang.String)'. Nested exception is java.lang.reflect.InvocationTargetException: null</faultstring>
  </soap:Fault>
  </soap:Body>
  </soap:Envelope>                           这是在Eclipse 的WS 客户端下测试的,在JMeter中报一些的错。
这种错误,不解,我的方法参数都是String 类型 ,
 还忘知道的兄弟们告之下,谢谢!
  • 大小: 135.7 KB
  • 大小: 162.7 KB
  • 大小: 137.5 KB
  • 大小: 188.2 KB
分享到:
评论

相关推荐

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

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

    支持webservice接口测试jmeter3.0

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

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

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

    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。需要注意的是 ...

    坚果测试Nutstest jmeter接口测试

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

    jmeter接口测试案例

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

    jmeter接口测试详细教学文档

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

    webservice接口测试代码

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

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

    ### 测试SOA_WebService工具(SOAPUI,JMeter等)介绍和使用 #### SOA Testing 工具介绍 在当今高度互联的世界中,服务导向架构(SOA)已成为企业和组织构建灵活、可扩展和互操作性强的应用程序的重要手段。随着SOA的...

    测试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)文件...

    Axis 下的 WebService例子

    JMeter 是一个流行的性能测试工具,可以用来模拟大量并发用户请求,测试 WebService 的性能和稳定性。这个文件可能包含了针对创建的 WebService 进行 SOAP 请求的测试脚本,包括设置请求参数、预期的响应验证等。...

    JMeter

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

Global site tag (gtag.js) - Google Analytics