使用 SoapUI 5.7 添加多个具有相同名称的 headers

Add multiple headers with same name using SoapUI 5.7

我有一个包含 3 个同名 (Site-Cookie) cookie 的响应文件,我需要设置 3 个 headers 名称为 Site-Cookie 我是使用 headers.put(,),但它只创建 1 header,然后覆盖其中保存的值。

import com.eviware.soapui.support.types.StringToStringMap
def headers = new StringToStringMap()
def cookie_name0 = testRunner.testCase.testSteps["ServiceWTm.svc 1 - SessionLogon"].testRequest.response.responseHeaders["Set-Cookie"][0]
def cookie_name1 = testRunner.testCase.testSteps["ServiceWTm.svc 1 - SessionLogon"].testRequest.response.responseHeaders["Set-Cookie"][1]
def cookie_name2 = testRunner.testCase.testSteps["ServiceWTm.svc 1 - SessionLogon"].testRequest.response.responseHeaders["Set-Cookie"][2]
headers.put("Set-Cookie",cookie_name0)
headers.put("Set-Cookie",cookie_name1)
headers.put("Set-Cookie",cookie_name2)
testRunner.testCase.getTestStepByName("ServiceWTm.svc 1 - TransactionStart").testRequest.setRequestHeaders(headers)

我最终得到一个名为“Set-Cookie”的 Header,其中的值为 cookie_name2。

除了 header.put 或其他方法之外,我还可以使用其他方法吗?

使用 StringToStringsMap 而不是 StringToStringMap

def headers = testRequest.getRequestHeaders()  //returns StringToStringsMap
headers.add("Set-Cookie",cookie0)
headers.add("Set-Cookie",cookie1)
headers.add("Set-Cookie",cookie2)
testRequest.setRequestHeaders(headers)