木吟

导航

SoapUI中如何传递cookie

import com.eviware.soapui.support.types.StringToStringMap

 //Get all the cookies in the response 
def cookiesList = testRunner.testCase.getTestStepByName("Login").testRequest.response.responseHeaders["Set-Cookie"]
def cookieNew= cookiesList.get(2).split(";")[0];
log.info "cookie : "+cookieNew

// Set the project level property : cookie , its value will be updated with cookieNew
testRunner.testCase.testSuite.project.setPropertyValue("cookie", cookieNew)

cookieNew = '${#Project#cookie}'

//Put cookie to a StringMap
def cookieMap = new StringToStringMap()
cookieMap.put("Cookie",cookieNew)

//Pass cookie to all testSteps of the project
def testSuiteList =  testRunner.testCase.testSuite.project.getTestSuiteList()
def testCaseList
def testStepList
for(testSuite in testSuiteList){
    testCaseList =  testSuite.getTestCaseList()
    for(testCase in testCaseList){
        testStepList = testCase.getTestStepsOfType(com.eviware.soapui.impl.wsdl.teststeps.RestTestRequestStep.class)
        for (testStep in testStepList){
             testStep.testRequest.setRequestHeaders(cookieMap)
        }
    }
}

//Pass cookie to testStep "AA_BB" of testSuite "AA"
def testSuiteList =  testRunner.testCase.testSuite.project.getTestSuiteList()
def testCaseList
def testStepList
for(testSuite in testSuiteList){ if(testSuite.name == "AA"){ testCaseList = testSuite.getTestCaseList() for(testCase in testCaseList){ testStepList = testCase.getTestStepsOfType(com.eviware.soapui.impl.wsdl.teststeps.RestTestRequestStep.class) for(testStep in testStepList){ if(testStep.name == "AA_BB"){ testStep.testRequest.setRequestHeaders(cookieMap) } } } } }

 

posted on 2015-10-27 11:44  木吟  阅读(3696)  评论(0编辑  收藏  举报