2015-09-18 5 views
0

У меня есть тестовый пример, на первом тестовом этапе я делаю запрос. Я получил JSESSIONID в ответе первого запроса, и теперь я хочу поместить его как свойство «cookie» в заголовок всех моих запросов testStep. Как мне это сделать?SoapUI 5.2.0 как установить свойство заголовка

log.info "$jsessionid" 

for (testStep in testRunner.testCase.getTestStepList()){ 
    if (testStep.getName() != "Request 1" && testStep.getName() != "Groovy Script") { 
     //set the JSESSIONID in the request header property "Cookie" 
    } 
} 

Мои другие testStep имеют некоторые значения в своем заголовке

  • Connection: Keep-жив
  • Proxy-Connection: Keep-живой
  • Accept-Encoding: UTF8
  • Accept: приложение/json
  • и т.д.

Я хочу добавить в список «cookie: JSESSIONID = MYVALUE» или заменить его, если свойство уже существует.

+0

Возможно, вы можете добавить небольшую часть заголовка запроса вашего «другого» тестового шага. Или, по крайней мере, указать, присутствует ли элемент «cookie» или вам нужно его создать. –

ответ

1

Я нашел способ установить свойство «Cookie» в заголовке каждого другого testStep. Свойство добавляется в список, таким образом он заменит старые значения cookie.

import com.eviware.soapui.impl.wsdl.teststeps.* 

//(...) 
//Retrieve the JSESSIONID and put it in a variable 

log.info "$jsessionid" 

for (testStep in testRunner.testCase.getTestStepList()){ 
    if (testStep instanceof RestTestRequestStep && testStep.getName() != "Request 1" && testStep.getName() != "Groovy Script") { 
     def list = [] 
     list.add(jsessionid) 
     def headers = testStep.testRequest.requestHeaders 
     headers["Cookie"] = list 
     testStep.testRequest.requestHeaders = headers 
     log.info testStep.testRequest.requestHeaders["Cookie"] 
    } 
} 
Смежные вопросы