Jmeter发送SOAP请求对WebService接口测试

Jmeter发送SOAP请求对WebService接口测试,第1张

1. 建立WebServiceTest Plan

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线程组,在本次测试中不使用。

首先要打开Jmeter,打开方式跟一般的软件有些区别。可执行程序位于apache-jmeter-3.1-->bin-->jmeter.bat,双击Jmeter.bat即可打开该应用程序

添加线程组。右键测试计划,添加-->Threads(User)-->线程组,所有的 *** 作都会通过这个线程组来进行,包括循环的次数,运行的时间等等。之后测试的webservice接口,结果查看,都要通过线程组

添加WebService测试单元。

我们都是用SOAP协议通过Http来调用它,具体原理:Web service都是放在Web服务器(如IIS)后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。

所以我们要添加soap协议request

右键线程组-->添加-->Sample-->SOAP/XML-RPC Request

添加查看结果选项。右键刚添加的SOAP/XML-RPC Request,添加监听器,点击图形结果和用表格查看结果,也可以加入其它结果

设置SOAP/XML-RPC Request,填写WebService的地址,SOAPAtion地址以及数据格式,webservice暴露了哪些接口,接口都需要传入哪些参数,在数据格式中都有体现,你只需要去替换参数,传个服务器就可以了

设置完之后,可以点击运行按钮,测试一下,点击添加的结果模块查看结果是否成功

7

测试成功之后,设置线程组的线程数和循环条件进行压力测试

1. 建立WebServiceTest Plan

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 Period15秒则每秒增加2线程(30用户/15秒)设置0则JMeter自启所模拟用户

Loop Count循环数

2. 添加 WebService Requests

右键单击WebService线程组Add -->Sampler -->WebService(SOAP)

注:灰色线程组其测试使用线程组处设置Disabled线程组本测试使用

配置

发布Service WSDL URL粘贴WSDL URL点击Load WSDLWebMthods自d

需自选择Method单击Configure即完绝部自配置

面涉及Soap/XML-RPC Data编写我编写:

[plain] view plain copy

<soap:Envelope

xmlns:xsi=""

xmlns:xsd=""

xmlns:soap="">

<ns1:simpleMethod

xmlns:ns1="">

Yerasel

XML绝部都固定其余解释:

simpleMethodWebService发布;

simpleMethod所类(SimpleServer)域名即SimpleServer所包包名com.deltaj.server;

namesimpleMethod参数名参数类型string;

Yerasel输入实参

SimpleService服务端源程序:

[java] view plain copy

// SimpleService.java

package com.deltaj.server

public class SimpleServer {

/**

* 简单测试

*

*/

public String simpleMethod(String name) {

return name + "Say this is a Simple method ^-^"

}

}

注意:

Yerasel

发布wsdl候, 参数名称自映射arg0, arg1, 解决:

[java] view plain copy

Java代码

public User create(

@WebParam(name = "user")

User user)

SimpleService服务端源程序改写:

[java] view plain copy

// 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 :

[plain] view plain copy

<soap:Envelope

xmlns:xsi=""

xmlns:xsd=""

xmlns:soap="">

<ns1:simpleMethod

xmlns:ns1="">

Yerasel

注:

发布SimpleServer需要写xml发布WebService般步骤内容:

[plain] view plain copy

SimpleServer

com.deltaj.server.SimpleServer

文件名META-INF/services.xml

文件布局

com面包及.class

bin目录运行"jar cvf SimpleServer.aar . "即

aar放入Tomcatservices目录即发布


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11376921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存