我開發了一些SoapUI用例,它通過讀取文件中的屬性在每個測試用例的開始處設置一個屬性。這可以正常工作,然後我可以在每個測試請求步驟中通過語法${propertyA}
訪問每個屬性(可以說propertyA
)。soapui轉換測試套件屬性到使用腳本的測試用例
現在我意識到其中一個屬性對於每個測試用例都是相同的,所以我認爲我爲此創建了一個testsuite屬性並從測試用例屬性文件中刪除了屬性定義。首先我的測試案例都失敗了,因爲現在'propertyA'不再被瞭解,但我發現(根據http://www.soapui.org/Scripting-Properties/property-expansion.html)一種解決方案是將propertyA
的每個引用替換爲#testSuite#propertyA
。
雖然這很乏味,但我想在每個測試用例的開頭都創建一個groovy腳本,它從測試套件屬性創建一個測試用例屬性。據 http://www.soapui.org/Scripting-Properties/tips-a-tricks.html我認爲像
def testSuiteProperty = testRunner.testCase.testSuite.getPropertyValue("propertyA")
testRunner.testCase.setPropertyValue("propertyA", testSuiteProperty)
腳本應該做的工作。如果我log.info
的值爲testSuiteProperty
這給出了確實的期望值,並且如果我將testCase屬性分配給某個變量並且log.info
那麼它會顯示正確的值。
但是,在下一個測試步驟中,propertyA
未知。只是爲了確保我嘗試在那裏使用${#testCase#propertyA}
,但那也是未知的。我在這裏弄錯了什麼?