2013-02-10 81 views
0

在回答之前:使用SoapUI。請閱讀該問題,因爲我試過SoapUISOAP服務的自動化測試

我有很多大的wsdl文件。每個方法是這樣的: 首先做一個synchronous Call

  • 請求:請不要foo併發送請求URI: XY
  • 迴應:好吧,你的工作有UUID: abc

作業完成後,我的服務會迴應URI: XY,同步發送一個request消息:

  • 請求:好的,我完成你的工作與UUID: abc,結果是bar

我們需要使用此行爲,因爲我們有所有的答案將被保存,並通過UUID標識池。

你知道測試這種SOAP服務的可能嗎?

我想:

  • SOAP UI
  • BPEL單元(我想應該是可能的BPEL單位,但我不能讓它正常工作)

請不要建議寫我自己的JAVA測試,因爲我有超過100種測試方法。

此外,測試需要運行,結果需要在測試套件中自動分析,我無法在每次更改Web服務的代碼時手動執行100個方法。

回答

1

我soapUI的球員之一,所以你可能會恨我的答案...

但解決方案是使用了SoapUI;更具體地使用MockResponse TestSteps。在涉及到BPEL測試時,SoapUI不是很強大,但使用MockResponse步驟可以解決它。

看這裏:http://www.soapui.org/SOAP-and-WSDL/testing-asynchronous-services.html。即使所有調用都是同步完成的,但仍然可以將其視爲異步測試,因爲我們不僅僅有簡單的請求/響應。

我也知道Oracle在這方面有很好的寫作。

+0

其實我愛你的答案,因爲這工作:)非常感謝你幫助我。如果您有鏈接或名稱,我也對Oracle文件感興趣? – Robin 2013-02-11 11:04:05

0

您可以使用Eclipse測試Web服務。

只需將WSDL文件放到您的項目上 - >右鍵單擊文件 - > web服務 - >使用web service explorer進行測試。

您將擁有一個界面,顯示您需要的所有WSDL操作和字段。

+0

謝謝你的回答,但我需要這個測試是自動化的。只需調用一個Soap方法,就可以在Soap UI中無任何問題地工作。你有解決這個問題嗎? – Robin 2013-02-10 16:33:15

+0

@Robin您可以使用Eclipse進行操作 - >右鍵單擊您的WSDL文件 - >生成客戶端。這將創建您需要的Java代碼中的所有類,從而爲您提供一個Web服務客戶端,您可以在其中設置參數並根據需要調整服務次數 – 2013-02-11 09:28:41

+0

@Michael嗨!你能指點我一些關於使用生成的客戶端的指南嗎? – 2017-04-11 16:11:11

1

您需要做的是創建一個模擬服務,它將接收到第二個調用,表明作業處理已完成。這可以在SOAP UI中完成,您可以閱讀如何創建模擬Web服務here

+0

我知道模擬服務。但就我而言,您無法自動測試您在模擬服務中收到的結果。請告訴我,如果我錯了。 – Robin 2013-02-10 16:34:48