2015-01-19 4 views
6

SOAP UI 도구를 사용하여 Rest API을 테스트하고 있습니다.요청 SOAP SOAP UI 요청 헤더로 쿠키 보내기

첫째, 나에게 JSESSIONID을 준 다음 내 실제 요청에 내가 이름으로 요청 헤더에 매개 변수를 추가 "쿠키"을하고, 상기 추출 된 JSESSIONID 값을 제공하는 또 다른 API를했다. 모든 것이 잘 작동했습니다.

내가 원하는 것은 명시 적으로/수동으로하지 않고 어떻게 든 요청 헤더에 쿠키/jessionid를 동적으로 설정하는 것입니다.

어떻게 할 수 있습니까?

답변

2

Groovy 스크립팅을 사용하여 쉽게 쿠키를 조작 할 수 있습니다. 당신은 거기에 모든 쿠키를 읽을 수

import com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport 
def myCookieStore = HttpClientSupport.getHttpClient().getCookieStore() 

:

def myCookies = myCookieStore.getCookies() 
def interestingCookie 
myCookies.each { 
    if(it.name == "JSESSIONID") 
     interestingCookie = it 
} 

을 다른 요청에 새로운 쿠키 만들기 :

import org.apache.http.impl.Cookie.BasicClientCookie 
def myNewCookie = new BasicClientCookie("cookie_name", "cookie_value") 
myNewCookie.version = 1 
myNewCookie.domain = "qa.test" 
myCookieStore.addCookie(myNewCookie) 

을 SoapUI에서, 쿠키는 쿠키 저장소에 보관 이전 블로그 게시물 here에 몇 가지 추가 정보가 있습니다.

6

UI에서 응용 프로그램 세션을 만들고 세션을 저장하는 쿠키를 사용할 수 있습니다. 브라우저의 개발자 도구를 사용하여 브라우저에서 세션 쿠키 세부 정보를 가져옵니다. 이미지는 브라우저에서 쿠키를 사용할 수있는 위치를 보여줍니다. Getting cookie header parameter

soapUI에서 브라우저에서 얻은 값과 동일한 값으로 헤더 속성을 생성하고 요청을 실행합니다. 요청은 요청을 실행하기 위해 쿠키에 저장된 동일한 세션 ID (JSESSIONID)를 사용합니다. 아래 이미지는 쿠키 값을 헤더에 추가하는 방법을 보여줍니다. Adding cookie value o request header

+0

OP는이를 수행하는 방법을 알고있었습니다. 문제는이 과정을 자동화하는 방법이었습니다. –