您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
使用JMeter對SOAP應(yīng)用進行壓力或性能測試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/11/5 14:57:12 ] 推薦標(biāo)簽:

  Appache JMeter 以及 SOAP 協(xié)議簡述
  開源測試工具:Appache JMeter
  JMeter 是 Apache 基金會 Jakarta 上的一個純 Java 開源項目,起初用于基于 Web 的壓力測試(pressure test),后來其應(yīng)用范圍逐漸擴展到對文件傳輸 FTP, 大型數(shù)據(jù)庫(JDBC 方式),腳本程序(CGI, Perl 等),Web Services,Java 應(yīng)用系統(tǒng)等方面的測試。JMeter 本身主要用于性能測試,如系統(tǒng)壓力等。除此之外,JMeter 能夠?qū)?yīng)用系統(tǒng)做功能測試和回歸測試,并且能夠通過使用帶有斷言的腳本程序來驗證系統(tǒng)然后返回用戶期望的結(jié)果。為了提高工具的應(yīng)用靈活性,JMeter 允許使用正則表達式創(chuàng)建斷言。正是由于它的靈活性和可擴展性,JMeter 逐漸成為流行的開源測試工具。
  消息傳遞協(xié)議:SOAP
  SOAP(Simple Object Access Protocol)稱為簡單對象訪問協(xié)議, 是 W3C 定義的一種標(biāo)準消息傳遞協(xié)議,而它通常被認為是 Web Services 的事實標(biāo)準。SOAP 協(xié)議使用 XML 語言來描述,SOAP 消息格式是由 XML Schema 模式定義,因而通過使用 XML 命名空間使得 SOAP 具有很強的可擴展性。
  SOAP 是在去中心化(Decentralized)分布式(Distributed)環(huán)境中用來信息交換的一個輕量級協(xié)議。SOAP 本身并不定義像程序模型或?qū)嵤┞暶鞯刃问降恼Z法,而只定義了一種簡單機制:通過提供模塊化的包裝模型編碼機制來傳輸應(yīng)用信息。
  SOAP 基本結(jié)構(gòu):
  1) 信封 Envelope Envelope 元素是 SOAP 中的根元素,并且定義為在 SOAP 消息中必須出現(xiàn)。Envelope 元素中可以包含多可選的 Header 元素,但同時必須要包含一個 Body 元素。
  2) 消息頭 Header Header 可能出現(xiàn)在 SOAP 消息中,是一個可選元素。如果出現(xiàn)在消息中,那么 Header 一定要是 SOAP 中的第一個元素。SOAP Header 在 Web Services 中的應(yīng)用越來越廣泛,例如在應(yīng)用程序的安全性事物中使用標(biāo)準的消息頭文件,因而成為擴展 SOAP 協(xié)議的一個非常有效的方法。
  3)消息體 Body Body 元素是 SOAP 中必須出現(xiàn)的一個元素,它要包含應(yīng)用程序中的傳輸數(shù)據(jù)或者反饋消息。 應(yīng)用程序中的傳輸數(shù)據(jù)可以是任意形式的 XML 數(shù)據(jù)。SOAP 消息接收者終來處理 SOAP Body 體。
  JMeter 調(diào)用 SOAP 框架機制
  SOAP 使用 RPC(遠程過程調(diào)用)和消息傳遞來建立通信服務(wù),SOAP RPC 定義了用于表示遠程過程調(diào)用和應(yīng)答的協(xié)議。SOAP 協(xié)議本身僅僅定義了消息的交換結(jié)構(gòu),它可以和許多現(xiàn)存因特網(wǎng)協(xié)議結(jié)合在一起使用,其中包括超文本傳輸協(xié)議( HTTP),多用途網(wǎng)際郵件擴充協(xié)議(MIME),Java 消息服務(wù)(JMS)以及簡單郵件傳輸協(xié)議(SMTP)等。目前與 SOAP 應(yīng)用為廣泛的是 HTTP 協(xié)議和 JMS 協(xié)議,而與之相對應(yīng)的兩種應(yīng)用是 SOAP Over HTTP 和 SOAP Over JMS。
  根據(jù) JMS 的規(guī)范,消息交換有 2 種方式:消息發(fā)布 / 訂閱方式和點對點方式。由這兩種交換方式所建立的消息收發(fā)系統(tǒng)都是異步的,即 JMS 客戶機可以發(fā)送消息而不必等待回應(yīng)。如果應(yīng)用程序測試者或測試腳本開發(fā)者希望每一條消息都能夠被處理并且消息總是能夠被傳送到指定的位置,那么應(yīng)該使用點對點消息模型而不是消息發(fā)布 / 訂閱模型。
  HTTP(超文本傳送協(xié)議)是屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,是萬維網(wǎng) (WWW) 的基礎(chǔ),由于其簡單快速、靈活、無連接、無狀態(tài)的方式,適用于分布式網(wǎng)絡(luò)信息系統(tǒng)。SOAP Over HTTP 應(yīng)用是指的是遵守 SOAP 編碼規(guī)則的 HTTP 請求 / 響應(yīng),我們可以用簡單的公式來對此作一個描述:HTTP + XML = SOAP。
  JMeter 也同樣提供了兩種 Sampler 分別建立對這兩種服務(wù)的調(diào)用:Web Services (SOAP) Request 和 JMS Point-to-Point。前者使用互聯(lián)網(wǎng)中為廣泛的超文本傳輸協(xié)議( HTTP)而后者使用 JMS 協(xié)議,JMS 是 Java 平臺面向消息中間件的技術(shù)規(guī)范,用它來提供創(chuàng)建、發(fā)送、接收、讀取消息的服務(wù)。許多廠商目前都支持 JMS,包括 BEA 的 WebLogic JMS service,IBM 的 MQSeries 和 Progress 的 SonicMQ。

圖 1.JMeter 框架基于上述兩種不同的協(xié)議對 SOAP 消息的一次簡單調(diào)用機制流程

上一頁12345下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd