2016-01-11 119 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)