soapUI

soapUI

開源測試工具
soapUI是一個開源測試工具,通過soap/http來檢查、調用、實現Web Service的功能/負載/符合性測試。SOAPUI是一款比較優秀的Web服務測試工具,它直接利用Web Services的WSDL文件測試Web服務的接口。[1]
    中文名:SoapUI 外文名:SoapUI 别名: 優點:容易管理服務端點等 缺點:不支持JMS協議等 實質:一個開源測試工具 學科:計算機科學

簡介

SOAPUl是由标準的Java Swing開發的一個GUl自動化測試工具,從某種程度上說,它是JUnit測試框架的擴展和衍生。SOAPUI工具提供了包含操作層面和模式層面的完整的WSDL覆蓋程度分析,使到達每個元素的所有路徑都被測試過了。它提供了測試重構能力,使用戶可以随着WSDL的更新重構他們所有的測試。測試重構甚至還考慮到了更新過的WSDL會如何影響到XPath表達式。SOAPUl的需求管理功能可以将測試用例和需求有機地結合起來,其中需求可以被直接鍵入或者導入。SOAPUl可以直接從一個數據源得到測試數據。

SOAPUI根據WSDL生成SOAP數據包,手工填入參數後可以直接進行性能測試。SOAPUI能夠捕捉SOAP請求和響應、創建測試請求、測試用例并且提供仿真的服務。

SOAPUI提供一個工具通過SOAP/HTTP來檢查、調用、實現Web服務間的功能、負載、符合性測試,該工具既可作為一個桌面應用軟件使用,也可利用插件集成到Eclipse、maven2.X、netbeans和intellij中使用。

特點

1.Groovy Script 支持SOAPUI

SOAPUI最強大的是Groovy腳本測試步驟。Groovy充分利用了工業标準JUnit框架,來簡化單元測試的創建和使用過程。單元測試在Groovy中的應用集成了動态類型語言和靜态類型語言的安全性。

一個Groovy測試步驟可以是任何Groovy代碼,也就是說基本上Groovy能做的事情,在SOAPUI測試步驟中也能做。測試步驟中的Groovy代碼可以訪問SOAPUI框架。一個Groovy測試步驟可以通過JDBC讀取數據庫的信息,與前一個測試步驟的響應信息進行比較,并相應地修改執行流程,也可以執行另外一個TestCase。SOAPUI中使用Groovy腳本來編寫斷言,可以重用測試腳本,編寫同一Groovy腳本代碼可以重用到其它所有的測試用例裡面。

2.靈活的屬性傳值模式

屬性傳遞在SOAPUI中是一種TestSteps在屬性容器之間傳遞屬性,可以使用Xpath或XQuery表達式來指明屬性傳遞源端和目的端,可以包含任意數目的屬性傳遞。XPath/Xquery斷言描述和屬性傳遞使用同樣的Saxon XPath/XQuery引擎。

SOAPUI可以采用多種方式來傳遞屬性,這樣可以在TestStep之間更加靈活地傳遞屬性值。

3.SOAPUI中的Mock 服務

Mock是一個映射對象,它可以避免編寫複雜的、不完整的、難以保持和難于理解的測試代碼[]。使用Mock可以使許多有價值的代碼單獨測試,Mock可以隔離被測代碼間的關聯程度,Mock對象的出現可以簡化測試結構,避免被測代碼因環境問題而出現的意外污染,可以保證一個時間段測試代碼的特性,并在被測代碼出現問題時,及時通知測試人員。

SOAPUI實現了Mock服務,Mock服務可以從不同的WSDL文件中展現任意的虛拟操作MockOperations,同時也可分派其虛拟響應Mock Response,Mock服務可以直接在SOAPUI中運行或者通過命令行模式的MockServiceRunner來運行,它也可以調用包括SOAPUI本身在内的任意客戶端。SOAPUI可以在TestStep模拟soap請求,來實現異步Web服務的測試。

基本測試框架

SOAPUI的核心對象模型定義了SOAPUl中所有的模型對象(工程、接口、操作等),是一個抽象接口并且是隻讀的。

SOAPUI集成了許多API函數和擴展的API,可以直接用在其它程序中。主要的類庫工具包及其功能介紹如下:

1)com.eviware.SOAPUI.model.tree定義了樹型模型TreeModel用于SOAPUI的navigator,它包含了SOAPUITreeNode,當前,針對增加新的核心模型的實現,SOAPUI并沒有提供一個builder/factory機制。WSDL1.1的核心對象的實現core-implementation是硬編碼到當前工作台的實現類。

2)com.eviware.SOAPUI.impl.WSDL.*

實現了核心對象模型WSDL/SOAP/HTTP-Binding包含核心對象模型的實現,每個實現類都在相應的配置文件的元素使用相應的XMLBeans來描述;此工具包還包括了所有模型對象元素實現行為和所有WSDL/SOAP相關支持類(如效驗,導入等)。

3)com.eviware.S0APUI.impl.WSDL.teststeps.*

包含斷言相關類TestStep的衍生類。

優缺點

優點

(1)SOAPUI工具适合QA和測試人員,而不需要開發人員使用編程來實現測試用例。它能夠基于WSDL自動産生測試消息。

(2)SOAPUI能夠直接引用外部的屬性文件來簡化測試步驟,通過建立斷言SOAPUI可以進行XML模式效驗和錯誤效驗。

(3)SOAPUI可以用于壓力測試,容易管理服務端點。

(4)SOAPUI提供方便的接口能夠集成JBoss、Ant、XMLBean、ApacheTCPMon等多種工具。

(5)SOAPUI可以完成多種WebService的測試場景。

缺點

(1)S0APUI使用的是自己的Web服務客戶端,它創建的測試消息不同于通常意義上的基于JAX或者其它的Web服務客戶端的工作過程,S0APUI并不從WSDL中産生Java類,它也不處理Java對象的序列化和反序列化,這樣的結果是客戶端并不是像真正的Web服務消費者那樣去調用Web服務。

(2)SOAPUI的RequestTransportRegistry類并不提供從外部增加新的協議的機制,它不支持JMS協議。

(3)SOAPUI中不能控制Mock服務的WSDL文件服務端點的URL,也就是說,如果需要WSDL請求在到達實際的Mock對象之前被其它對象處理,是無法控制的,此問題還有待于進一步的研究和分析。

相關詞條

相關搜索

其它詞條