Meter-Web服务测试计划 jMeter-FTP测试计划 jMeter-JMS测试计划 jMeter-Web服务测试计划 在本章中,我们将学习如何创建测试计划以测试WebService。为了进行测试,我们创建了一个简单的Web服务项目,并将其部署在本地的Tomcat服务器上。 创建Web服务项目 为了创建一个Web服务项目,我们使用了Eclipse IDE。首先,在com.tutorialspoint.ws包下编写Service Endpoint Interface HelloWorld。HelloWorld.java的内容如下 package com.tutorialspoint.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.tutorialspoint.ws下创建实现类HelloWorldImpl.java。 package com.tutorialspoint.ws; import javax.jws.WebService; @WebService(endpointInterface="com.tutorialspoint.ws.HelloWorld") public class HelloWorldImpl implements HelloWorld { @Override public String getHelloWorldMessage(String myName) { return("Hello "+myName+" to JAX WS world"); } } 现在,让我们通过创建Endpoint发布者在本地发布此Web服务,并在服务器上公开该服务。 publish方法采用两个参数 端点URL字符串。 实现者对象,在本例中为HelloWorld实现类,在上面参数中提到的URL所标识的端点处作为Web服务公开。 HelloWorldPublisher.java的内容如下 package com.tutorialspoint.endpoint; import javax.xml.ws.Endpoint; import com.tutorialspoint.ws.HelloWorldImpl; public class HelloWorldPublisher { public static void main(String[] args) { Endpoint.publish("http://localhost:9000/ws/hello", new HelloWorldImpl()); } } 修改web.xml内容,如下所示 <?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"> <web-app> <listener> <listener-class> com.sun.xml.ws.transport.http.servlet.WSServletContextListener </listener-class> </listener> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> <session-config> <session-timeout>120</session-timeout> </session-config> </web-app> 要将这个应用程序部署为Web服务,我们需要另一个配置文件sun-jaxws.xml。该文件的内容如下 <?xml version = "1.0" encoding = "UTF-8"?> <endpoints xmlns = "http://java.sun.com/xml/ns/jax-ws/ri/runtime" version = "2.0"> <endpoint name = "HelloWorld" implementation = "com.tutorialspoint.ws.HelloWorldImpl" url-pattern = "/hello"/> </endpoints> 现在所有文件都准备好了,目录结构将如下图所示: 现在创建此应用程序的WAR文件。 选择项目→右键单击→导出→WAR文件。 将其另存为Tomcat服务器的webapps文件夹下的hello.war文件。 现在启动Tomcat服务器。 服务器启动后,您应该能够使用URL访问Web服务-http:// localhost:8080 / hello / hello 创建JMeter测试计划 现在,让我们创建一个测试计划以测试上述Web服务。 重命名测试计划 通过单击/home/manisha/apache-jmeter2.9/bin/jmeter.sh打开JMeter窗口。 单击测试计划节点。 将此测试计划节点重命名为WebserviceTest。 添加线程组 添加一个线程组,该线程组是所有其他元素(如采样器,控制器和侦听器)的占位符。 右键单击WebserviceTest(我们的测试计划)→添加→线程(用户)→线程组。将在“测试计划(WebserviceTest)”节点下添加线程组。 接下来,让我们修改线程组的默认属性以适合我们的测试。以下属性已更改 名称 -网络服务用户 线程数(用户) -2 加速周期 -保留默认值0秒。 循环计数 -2 添加采样器-SOAP / XML-RPC请求 现在我们已经定义了用户,是时候定义他们将要执行的任务了。 我们将添加SOAP / XML-RPC Request元素 右键单击鼠标以获取“添加”菜单。 选择添加→采样器→SOAP / XML-RPC请求。 在树中选择SOAP / XML-RPC Request元素 如下图所示,编辑以下属性- 在此元素中输入以下详细信息- 名称-SOAP / XML-RPC请求 网址 -http:// localhost:8080 / hello / hello?wsdl Soap / XML-RPC数据 -输入以下内容 <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:web = "http://ws.tutorialspoint.com/"> <soapenv:Header/> <soapenv:Body> <web:getHelloWorldMessage> <arg0>Manisha</arg0> </web:getHelloWorldMessage> </soapenv:Body> </soapenv:Envelope> 添加监听器 您需要添加到测试计划中的最后一个元素是侦听器。此元素负责将HTTP请求的所有结果存储在文件中,并提供数据的可视模型。 选择Web服务用户元素。 通过选择添加→侦听器→视图结果树来添加视图结果树侦听器。 运行测试计划 现在,将上述测试计划另存为test_webservice.jmx。使用“运行”→“开始”选项执行此测试计划。 查看输出 在侦听器中可以看到以下输出。 在上一个图像中,您可以看到响应消息“ Hello Manisha到JAX WS world”。 jMeter-FTP测试计划 jMeter-JMS测试计划