越來越多的專案採用http和web service 協議。很多同學都用過SoapUi來做一些功能、效能以及自動化方面的工作,soap Ui能完成什麼任務都很清晰。把這兩天一個專案中用到的內容做下簡單整理。
工具/原料
SoapUI
方法/步驟
Soap Ui 能做什麼?
在web service協議中充當客戶端,模擬客戶端向server發起業務請求。在web service協議中充當服務端,根據請求的內容,返回不同的應答,完成mock功能。在web service協議中充當客戶端,完成壓力測試。
Soap Ui在具體專案中的使用場景?
在DCD專案中,提供給其他廠商的介面,是通過web service協議完成,在其中可以根據介面模擬其他廠商程式,進行介面測試即完成上面的第一條工作。在公有云專案中,公有云平臺呼叫第三方的web service進行資源的申請和管理工作,可以使用Soap UI充當server,完成service mock, 即上面的第二條工作。
Soap Ui 具體如何使用?
充當客戶端: 見部門的培訓文件,這個大家都懂的。
充當服務端:完成mock功能。主要完成功能如下,能夠根據請求資料的不同,進行不同的應答。能夠完成所有異常測試的模擬。
建立mock service
最核心的就是通過groovy 的script,來完成應答的選擇和修改工作,具體詳細可以參見soapui的官方文件。def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context )def requsetHolder = groovyUtils.getXmlHolder( mockRequest.requestContent )
def arg=requsetHolder["//VMID"]
if (arg==”1111″)return “Response 1″if (arg==”2222″)return “MockResponse 2″
思考
1、測試需要掌握的知識很多,如groovy,測試人員需要能夠快速的掌握一門技術,完成工作。
2、關於mock,目前web service協議通過soapui能夠完成mock任務。那對於其他協議型別如何快速完成?自己編寫or 尋找開源專案?
裡面具體例項來源於yangyh同學,非常感謝她分享了她們專案中用到的工具。
注意事項
SoapUI