qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          JMeter Webservice測試計劃

          在本章中,我們將學習如何創建一個測試計劃,測試一個WebService。對于我們的測試目的,我們已經創建了一個簡單的 Web 服務項目,并將其部署在 Tomcat 服務器上本地。
            創建WebService項目
            要創建一個 Web 服務項目中,我們使用了Eclipse IDE。首先編寫服務端接口 HelloWorld 包下com.yiibai.ws。 HelloWorld.java 的內容如下:
          package com.yiibai.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 需要字符串 參數。
            下一步創建實現類 HelloWorldImpl.java 在包 com.yiibai.ws 下。
          package com.yiibai.ws;
          import javax.jws.WebService;
          @WebService(endpointInterface="com.yiibai.ws.HelloWorld")
          public class HelloWorldImpl  implements HelloWorld  {
          @Override
          public String getHelloWorldMessage(String myName){
          return("Hello "+myName+" to JAX WS world");
          }
          }
            作為下一個步驟,讓本地發布此Web服務通過創建端點出版商和公開此服務的服務器上。
            publish方法有兩個參數:
            端點URL字符串。
            實現程序對象 HelloWorld 實現類,在這種情況下,這是作為一個Web服務公開在以上參數中提到的由URL標識的端點。
            HelloWorldPublisher.java 內容如下所示:
          package com.yiibai.endpoint;
          import javax.xml.ws.Endpoint;
          import com.yiibai.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.yiibai.ws.HelloWorldImpl"
          url-pattern="/hello"/>
          </endpoints>
            現在,所有文件都準備好目錄結構看起來會像下面的圖片:
            現在,這個應用程序創建一個WAR文件。選擇 project > right click > Export > WAR文件。hello.war 文件保存Tomcat 服務器 webapps文件夾下?,F在啟動Tomcat服務器。在服務器啟動后,你應該能夠訪問web服務可以通過以下網址:
            http://localhost:8080/hello/hello
           創建JMeter測試計劃
            現在,讓我們創建一個測試計劃,測試上面的 web服務。
            重命名測試計劃
            通過點擊啟動JMeter的窗口 /home/manisha/apache-jmeter-2.9/bin/jmeter.sh. 點擊測試計劃節點上。重命名此測試計劃節點 WebserviceTest.
            添加線程組
            添加一個線程組,這是所有其他元素,如取樣器,控制器,監聽的占位符。右鍵單擊我們的測試計劃 WebserviceTest(our Test Plan) > Add > Threads(Users) > Thread Group。線程組將添加根據測試計劃(WebserviceTest)的節點。
            接下來,讓我們修改線程組的默認屬性,以滿足我們的測試。改變以下屬性:
            Name: webservice user
            Number of Threads (Users): 2
            Ramp-Up Period: leave the the default value of 0 seconds.
            Loop Count:2
            添加SAMPLER-SOAP/XML RPC請求
            現在,我們已經定義了用戶,它是時間定義,他們將要執行的任務。我們將添加 SOAP/ XML-RPC 請求元素。點擊鼠標右鍵得到添加菜單,然后選擇 Add > Sampler > SOAP/XML-RPC Request,選擇元素樹中的SOAP/ XML-RPC請求,并在下面的圖片編輯下列屬性:
            這個元素中輸入下列詳細信息:
          Name: SOAP/XML-RPC Request
          URL: http://localhost:8080/hello/hello?wsdl
          Soap/XML-RPC Data: Enter the below contents
          <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://ws.yiibai.com/">
          <soapenv:Header/>
          <soapenv:Body>
          <web:getHelloWorldMessage>
          <arg0>Manisha</arg0>
          </web:getHelloWorldMessage>
          </soapenv:Body>
          </soapenv:Envelope>
            添加監聽器
            需要添加到測試計劃中的最后一個元素是一個監聽器。此元素是負責所有的 HTTP 請求的結果存儲在一個文件中,并呈現出可視化的數據模型。
            選擇 webservice 用戶元素,并添加一個查看結果樹監聽器(Add > Listener > View Results Tree).
            運行此測試計劃
            現在保存的以上測試計劃 test_webservice.jmx。執行本測試計劃使用 Run > Start  選項。
            查看輸出
            下面的輸出,可以看到在監聽器中。
            可以看到在過去的圖像響應消息 "Hello Manisha to JAX WS world".

          posted on 2013-10-30 13:53 順其自然EVO 閱讀(1622) 評論(0)  編輯  收藏 所屬分類: jmeter and badboy

          <2013年10月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 高阳县| 新民市| 潼南县| 乌什县| 通渭县| 宣恩县| 江北区| 上犹县| 县级市| 北宁市| 民县| 凤凰县| 乃东县| 拉萨市| 云浮市| 黑水县| 合川市| 永修县| 惠安县| 无极县| 宕昌县| 金溪县| 南皮县| 陇川县| 奉新县| 土默特左旗| 呼伦贝尔市| 新平| 道孚县| 武清区| 九龙县| 鄯善县| 乾安县| 松潘县| 革吉县| 临泽县| 公主岭市| 新安县| 锡林浩特市| 桐乡市| 广汉市|