将响应值传递给soapUI中的新请求

时间:2013-10-04 16:40:29

标签: groovy soapui sessionid

我在soapUI中有一个登录请求,它在响应头中返回一个令牌。

使用groovy脚本:

       def value = testRunner.testCase.testSteps["Login"].testRequest.response.responseHeaders     ["Set-Cookie"]
   re = /(token=[A-Za-z0-9]+)/
          matcher = ( value =~ re )
        def loginToken = matcher[0][0]

           testRunner.testCase.setPropertyValue("Token", "$loginToken")

我已经隔离了令牌,但现在我需要将其转移到新请求中。

在我对此请求的原始请求行中,我有:

Cookie: ASP.NET_SessionId=c4or1i45pfafgn55mwt0im45; ASPSESSIONIDQATCRRQQ=LCHPHGHDGCFKNABDBCHCBEBG; ASPSESSIONIDSAQCSRQQ=OICNPHKCGIMLOANJEIIDPIBG; FleetCommon=ReadOnly=0; FleetCustomerLogin=AutoRefresh=3&VehicleFilter=0&VehicleFilterName=&CanImport=True&IsSupervisor=True&UserName=Leaselink+Dev+1&HasOpMaint=2&FranchiseFilter=&CustomerID=161&CustomerName=ALD&EMail=leaselink%2Ddev%40ebbon%2Ddacs%2Ecom&UseLookupCodes=False&OperatorInitials=LD&ReadOnly=0&OperatorID=%7B952E5028%2D38A5%2D454B%2DB65B%2D686507C00B19%7D; FleetLogin=CSOptions=0&Operator=Leaselink+Dev+1&SystemSide=Lease&IsNominated=&ServiceView=False; LLMembership=B279E049D39450F12456020DAA66A06E8104ACC73DBBCCF9F15AC684462B0FC93E45E68B3D28F4CC2CACA9C1D58C0C7990793681C173958C316F4043DC5C1B315DDDE8CB158AEF90C674992E17A5586390D4606FC59EBE19E662682A3D7CBA7D32BA56F1A1DECAEA63F31A36DC452AD3DB7AEF9FC0F83A9929BD001C57ED9984A1D5EAA6A9243877D6A6279F1BE661B01F5B2A00B1B018EDE36AB1E8D4C7E8C2EC47C24D5656473C22BB11446309E8FB00000000; token=0FnAwkKNLyvQMVyAn2eljO0yyuzxWXNWlqaDcIeXgC8kdZng7vGw

最后一点:

 token=0FnAwkKNLyvQMVyAn2eljO0yyuzxWXNWlqaDcIeXgC8kdZng7vGw

我需要从第一个响应中替换自己的值。该响应目前作为测试用例的属性。

任何帮助都将不胜感激。

提前致谢。

亚当

2 个答案:

答案 0 :(得分:1)

以防其他人想知道我通过引用属性在测试套件中的位置解决了这个问题。

我添加了Cookie的自定义标头并将值设置为:

{#Testcase#$Token}

我正在思考它,当我以前读过这篇文章时,我认为“testcase”应该是我的测试用例的名称而不是字面意思。

无论如何,谢谢你的帮助!

亚当

答案 1 :(得分:0)

您可以尝试以下

for (header in messageExchange.getResponseHeaders())
log.info header //<- prints all headers

我在soapUI's forum

上找到了这些信息