【发布时间】:2014-07-09 14:55:35
【问题描述】:
使用 SoapUI Pro 5.0
我知道如何将响应值传输到任何范围属性(测试套件、测试用例等)。
我的问题是,这样的作用域属性:
- 必须已经存在于目标范围内
- 保存在项目配置文件的末尾。所以每次运行后这个配置文件都会改变,这对源代码管理来说简直就是一场噩梦。
我只需要一个或两个步骤之后的这个值来进行复杂的验证(使用 Script-TestStep)。
“属性转移”-TestStep 对于从已知来源中提取并转移到已知目标非常强大。作为目标,甚至可以从同一个 TestCase 中选择一个 Script-TestStep。但是我没有找到任何提示如何将要传输的值绑定到目标脚本中的声明变量。
使用上下文(例如 context.getProperties().put( 'MY_PROP_NAME', transferValue )会很好,但上下文在“Property Transfer”-TestStep 中不可用。我想出的唯一可能是遵循脚本代码在 Script-TestStep 中:
def xmlResponse = XMLNamespaceRemover.removeNamespaces(context.expand( '${mySoapTestStep#Response}' ));
def node = new groovy.util.XmlParser(false,false).parseText(xmlResponse);
def transferValue = node["Body"]["tag1"]["tag2"].text();
context.getProperties().put( 'MY_PROP_NAME', transferValue )
任何想法如何使用“属性转移”测试步骤解决这个问题?
【问题讨论】: