开发手册 欢迎您!
软件开发者资料库

jMeter - Webservice测试计划

jMeter Webservice测试计划 - 使用包含从概述,环境设置,构建测试计划,测试计划元素,Web测试计划,数据库测试计划,FTP测试计划开始的基础知识到高级知识的初学者教程,简单易学地学习Java jMeter Framework, Web服务测试计划,JMS测试计划,监控测试计划,监听器,功能,正则表达式和最佳实践。

在本章中,我们将学习如何创建测试计划以测试WebService.为了我们的测试目的,我们创建了一个简单的Web服务项目并在本地将它部署在Tomcat服务器上.

创建Webservice项目

创建Web服务项目,我们使用了Eclipse IDE.首先在包 com.it1352.ws 下编写服务端点接口 HelloWorld . HelloWorld.java的内容如下 :

package com.it1352.ws; import javax.jws.WebMethod;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import javax.jws.soap.SOAPBinding.Style;//Service Endpoint Interface@WebService@SOAPBinding(style = Style.RPC)public interface HelloWorld {   @WebMethod String getHelloWorldMessage(String string);}

此服务有一个方法 getHelloWorldMessage ,它接受一个String参数.

接下来,在包 com.it1352.ws 下创建实现类 HelloWorldImpl.java .

package com.it1352.ws; import javax.jws.WebService;@WebService(endpointInterface="com.IT屋.ws.HelloWorld")public class HelloWorldImpl  implements HelloWorld  {   @Override   public String getHelloWorldMessage(String myName) {      return("Hello "+myName+" to JAX WS world");   }}

现在让我们通过创建Endpoint发布者在本地发布此Web服务,并在服务器上公开服务./p>

发布方法有两个参数 :

  • 端点URL字符串.

  • Implementor对象,在本例中是HelloWorld实现类,它在上面参数中提到的URL标识的端点上公开为Web服务.

HelloWorldPublisher.java的内容如下 :

package com.it1352.endpoint; import javax.xml.ws.Endpoint;import com.IT屋.ws.HelloWorldImpl;public class HelloWorldPublisher {   public static void main(String[] args) {      Endpoint.publish("http://localhost:9000/ws/hello", new HelloWorldImpl());   }}

修改web.xml内容,如下所示 :

                  com.sun.xml.ws.transport.http.servlet.WSServletContextListener                  hello      com.sun.xml.ws.transport.http.servlet.WSServlet      1            hello      /hello            120   

要将此应用程序部署为Web服务,我们需要另一个配置文件 sun-jaxws.xml .该文件的内容如下 :

      

现在所有文件都准备好了,目录结构看起来如下面的截图 :

WebService目录结构

  • 现在创建一个WAR文件这个应用程序.

  • 选择项目 → 右击 → 出口 →  WAR文件.

  • 将此保存为Tomcat服务器的 webapps 文件夹下的 hello.war 文件.

  • 现在启动Tomcat服务器.

  • 服务器启动后,你应该能够使用URL : 访问webservice; http://localhost:8080/hello/hello

创建JMeter测试计划

现在让我们创建一个测试计划来测试上面的web服务.

重命名测试计划

  • 单击/home/manisha/apache-jmeter2.9/bin/jmeter.sh打开JMeter窗口.

  • 单击"测试计划"节点.

  • 将此测试计划节点重命名为WebserviceTest.

WS Test Plan

添加线程组

添加一个线程组,这是所有其他元素(如采样器,控制器和监听器)的占位符.

  • 右键单击WebserviceTest(我们的测试计划) → 添加 → 线程(用户) → 线程组.线程组将添加到测试计划(WebserviceTest)节点下.

  • 接下来,让我们修改线程组的默认属性以适合我们的测试.以下属性已更改 : 去;

    • 名称 :  webservice用户

    • 线程数(用户) :  2

    • 加速期 : 保留默认值0秒.

    • 循环计数 :  2

WS测试用户

添加采样器 -  SOAP/XML-RPC请求

现在我们已经定义了用户,它是是时候定义他们将要执行的任务了.

我们将添加SOAP/XML-RPC Request元素 :

  • 右键单击鼠标按钮以获取添加菜单.

  • 选择Add → 采样器 →  SOAP/XML-RPC请求.

  • 在树中选择SOAP/XML-RPC Request元素

  • 如下图所示编辑以下属性 :

  • 在此元素中输入以下详细信息 :

    • 姓名 : 号; SOAP/XML-RPC请求

    • URL :  http://localhost:8080/hello/hello?wsdl

    • Soap/XML-RPC数据 : 输入以下内容

                     Manisha            

WS Test request

添加监听器

您需要添加到测试计划的最后一个元素是监听器.此元素负责将HTTP请求的所有结果存储在文件中,并显示数据的可视化模型.

  • 选择webservice用户元素.

  • 通过选择Add&rarr添加View Results Tree监听器;听众 → 查看结果树.

WS测试请求

运行测试计划

现在将上述测试计划保存为 test_webservice.jmx .使用Run&rarr执行此测试计划;启动选项.

查看输出

在监听器中可以看到以下输出.

WS Sample Result


WS结果请求


WS Response数据

在上一张图片中,您可以看到响应消息"Hello Manisha to JAX WS world".