2016-01-11 79 views
0

我有兩個測試案例A和B的一個測試套件下soapUI的上下文屬性

我設置的上下文屬性B中

def holder = new XmlHolder(messageExchange.responseContentAsXml) 
context.setProperty("xmlHolder", holder) 

的測試步驟的一個腳本斷言我得到的的

def Holder=context.getProperty("xmlHolder") 
log.info(Holder) 

測試步驟而是「持有人」的價值的一個腳本斷言上下文屬性打印null 我只想將它設置在一個TC中,並在另一個TC中獲得。

編輯 找到this,我試圖設置這樣的屬性。我已經在腳本斷言中創建了一個Runner。

Runner.getTestCase().setPropertyValue("xmlHolder", holder) 

但接收null錯誤

我能做

Runner.getTestCase().setPropertyValue("xmlHolder", "A") 

只是想知道,如果TC性能可以保持物體比較字符串。所以,我原來的問題仍然如此。

+0

人在這? – user1207289

+0

[user1207289](http://stackoverflow.com/users/1207289/user1207289),我相信'Runner'變量不可用,而是'runner'可用。在我看來,* soapUI *只包含'StringToStringMap',所以不能在測試用例/測試套件/項目級屬性中保存*對象*。您可以嘗試直接保存響應字符串。稍後,閱讀並將其轉換爲'XmlHolder'對象。 – Rao

+0

@Rao謝謝。可以使用'WsdlTestRunContext'在TC之間共享上下文。在網上得到的信息,但還沒有嘗試過。只是想你可能有一個想法。 – user1207289

回答

0

基於上述意見,得到了B中

context.testCase.testSuite.setPropertyValue('xmlHolder', messageExchange.responseContentAsXml) 

獲取屬性B中的腳本斷言並將其轉換腳本斷言該工作

設置屬性XmlHolder對象

def HolderContent=context.testCase.testSuite.getPropertyValue('xmlHolder') 
def Holder = new XmlHolder (HolderContent)