2017-02-20 106 views
0

我正在使用數據庫作爲數據源來將屬性和值傳輸到SoapUI中的測試腳本。如果屬性爲空,則忽略REST頭中的屬性傳輸 - SOAPUI Groovy

在這種情況下,我有3個地方持有人,我用作我的休息測試的標題類型和值。我面臨的問題是,如果soapUI忽略屬性傳輸的頭部類型/值(如果它從數據庫爲NULL),我該如何處理?

我發現Soap UI會自動嘗試爲$ header_type_2 & $ header_type_value_2發送NULL標頭屬性和值,即使它們是以NULL讀入的。

在原頭請求時,它看起來是這樣的:

GET https://api.testapi.test.domain.au:443/v1/ttds/events HTTP/1.1 
Connection: close 
Accept-Encoding: gzip,deflate 
User-Agent: AppName/1.0 
: 
Authorization: apikey 1233434f7909641458992a7dfebcd3bd311 
Host: api.testapi.test.domain.au:443 

通知「:」 4號線?這導致服務返回一個400錯誤的請求。下面

截圖顯示瞭如何已經設置我得到休息測試步驟肥皂UI(開源版本)

enter image description here

+0

你可以顯示你的測試用例,而不是界面定義? – Rao

回答

1

它實際上是一個很好的問題。請注意,只有在標題屬性名稱爲空值而不是其值時,您纔會收到400錯誤。

「忽略」標題屬性並不容易;相反,你可以給它分配一個默認的字符串,所以它不會拋出錯誤。

要將Null或Empty替換爲更有形的東西,您需要使用嵌套變量的內聯腳本。因此,對於你的項目的截圖,將是這樣的:

:$ {= IF( 「$ {} header_type_1」 == 「」 || 「$ {} header_type_1」 == NULL)回報「NULL_HEADER_1 「否則返回 」$ {header_type_1}「

價值:$ {} header_type_value_1

:$ {= IF(」 $ {} header_type_2 「==」 「||」 $ { header_type_2}「== null)return」NULL_HEADER_2「else return」$ {header_type_2}「}

:$ {header_type_value_2}

部首:$ {=如果( 「$ {header_type}」 == 「」 || 「$ {} header_type」 == NULL)回報 「NULL_HEADER」 否則返回 「$ {header_type}」

價值:$ {} header_type_value

我測試了它和正常工作。請給我一個加號,如果你喜歡它enter image description here :)