2013-10-04 20 views
1

我在soapUI中有一个登录请求,它在响应头中返回一个令牌。在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 

我需要从第一反应我自己的值来代替。该响应当前作为测试用例的一个属性。

任何帮助,将不胜感激。

在此先感谢。

亚当

+0

A + 1的你,不是因为我有同样的问题,因为你,而是因为你已经有了,我需要解决我自己的问题的代码。 – Ellesedil

回答

1

此信息以防万一别人想知道我通过引用其属性是在解决了这个问题测试套件。

我添加的Cookie的自定义标题和值设置为:

{#Testcase#$Token} 

我被它得太多,当我读到这之前我以为“测试用例”本来是我的测试用例的名称并不是文字。

无论如何感谢您的帮助!

亚当

0

你可以尝试以下

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

我发现soapUI's forum

相关问题