地址: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的编写,我编写的如下:
- <?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 接口文档,内附JMETER3.0 安装包
Java多线程开发WebService,需要对Tomcat服务器进行线程控制配置,并采用JMeter进行WebService测试
jmeter3.0支持webservice接口测试,含有SOAP/XML-RPC Request采集器
apache jmeter是来自国外的一款开源免费、功能强大的web压力测试工具。它是一款为负载测试功能行为和测量性能的100%纯Java应用程序,可用于测试静态和动态资源,Web动态应用程序的性能。jmeter可用于模拟服务器,...
Jmeter学习笔记,包含: (一)Jmeter安装与简单使用 #1024程序员节|用代码,改变世界# (二)Jmeter在请求中使用自定义变量 ...(十一)Jmeter测试webService接口 (十二)Jmeter测试dubbo接口 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压力测试安装包,适用于interface接口的大规模压力测试,也可进行webservice的高并发访问测试,直接安装部署,强烈推荐给大家。
测试SOA_WebService工具(SOAPUI_JMeter等)介绍和使用
测试SOA_WebService工具(SOAPUI,JMeter等)介绍和使用.doc
18:命令行压测及生成报告 19:Jmeter之分布式压测 20:jm eter扩展插件 21:自己动手开发jmeter插件 22:FTP协议实战 23:WebService协议实战 24:JDBC协议实战 25:JDBC协议实战增删改查 26:JDBC协议实战高级操作...
本文介绍JMeter如何做webservice测试,一般来说web服务,一般指的是HTTP请求相关的内容。这里就介绍一下如何利用JMeter做基于HTTP的web接口测试。接口也叫API(Application ProgrammingInterface),很多我们使用的...
JMeter是Apache组织开发的基于Java的webservice 压力测试工具。
10 建立与实现一个WebService测试 11 建立与实现 JMS Queue 测试(MQ测试) 12 建立与实现 JMS Topic 测试(MQ测试) 13 建立与实现 Monitor 测试 14 有关listeners 15 Remote Testing远程测试 16 Best Practices 呵呵,...
meter是apache公司基于...其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传文件)、做webservice脚本、参数化、断言、关联(正则表达式提取器和处理json-jsonpathextrac
可以测试各种类型的接口(包括Http、数据库、webservice、ftp等),比postman强大,下载使用即可
课程目录: 1:Jmeter 安装及环境配置 2:Jmeter 目录及配置文件说明 ...23:WebService协议实战 24:JDBC协议实战 25:JDBC协议实战增删改查 26:JDBC协议实战高级操作 27:Jmeter4.0的一些更新
本资源主要介绍了接口测试的概念、类型、测试工具、文档规范、自动化测试的本质和目的、适合自动化测试的项目类型、测试分层、缺陷定位、频繁运行的测试等方面的知识点。 一、接口测试 * 接口测试是检查各个组件的...