`

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

    支持webservice接口测试jmeter3.0

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

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

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

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

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

    jmeter压力测试工具

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

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

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

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

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

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

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

    如何用JMeter做接口测试

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

    jmeter-视频地址.txt

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

    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

    jmeter学习教程视频下载

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

    apache-jmeter-4.0_src.tar

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

    jmeter学习概要

    1. Jmeter简介 Apache Jmeter是一个100%的纯java桌面应用,用于压力测试...从下面的图中我们可以看到:Jmeter可以用于测试FTP、HTTP、RPC、JUNIT、JMS、LDAP、WebService(Soap) Request以及Mail和JDBC(数据库压力测试)

Global site tag (gtag.js) - Google Analytics