在SoapUI groovy脚本中从Request获取Header

时间:2013-10-22 13:07:53

标签: groovy http-headers soapui

我想从SoapUI请求中获取“Accept”标头的值。然后我想将它存储在TestCase属性中。

这就是我想从Groovy脚本TestStep做的事情:

//Get Accept Header from request (if Accept Header does not exist default to empty string)
def acceptHeader = context.testCase.getTestStepAt(0).testRequest.requestHeaders.get("Accept", "")

//Set Accept Header Value to current TestCase properties
testRunner.testCase.setPropertyValue("acceptHeaderSet", acceptHeader)

TestCase的第一个TestStep是一个REST请求,第二个TestStep是上面提到的脚本。

每次运行TestCase时都会设置默认值(似乎找不到任何标题)

有关正在发生的事情的任何想法?这是SoapUI工具中的错误吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

这对我有用:     testRunner.getResults()[0] .getRequestHeaders()[ “接受”]

这只有在运行整个测试用例时才有效,否则无法获得结果。也许你的方法遇到了类似的问题。

答案 1 :(得分:0)

我会尝试使用属性来解决这种情况。只需定义属性(例如,在项目级别),然后更改其值。如此处所述Script access to properties