Wie bekomme ich ein Cookie aus einer SoapUI Antwort mit einem Groovy-test Schritt?
Wie bekomme ich ein Cookie aus einer SoapUI Antwort mit einem Groovy-test Schritt?
Habe ich versucht, dieses Groovy-code, aber es ist die Rückgabe null-cookies (oder null). Dieser code ist Teil eines test-Schritt, der sofort ausgeführt wird, nachdem ein standard-REST-Anfrage liefert ein Ergebnis, mit dem folgenden header:
Set-Cookie: JSESSIONID=45C5E845A0C117E22D26DB04A64E5FD8; Path=/tcompany; HttpOnly
- Und die Groovy-Skript, das ich verwende, scheitert das abrufen der Cookie wird dies:
import com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport
def myCookieStore = HttpClientSupport.getHttpClient().getCookieStore()
def myCookies = myCookieStore.getCookies()
def sessionCookie
//log.info("Test:" + myCookies.get(0).getValue() )
if ( myCookies.size() > 0 ) {
myCookies.each {
log.info( "Cookie: " + it.name )
if( it.name == "JSESSIONID" ) {
sessionCookie = it
log.info("Found JSESSIONID cookie: " + it.value )
}
}
} else {
log.info("No cookies found in cookie store.")
}
//assert myCookies[0].value().contains("JSESSIONID")
return sessionCookie
Fand ich ein HACK um das problem aber das scheint es nicht der normale Weg, es zu tun:
def val = testRunner.testCase.testSteps['REST Test Request 1'].testRequest.response.getResponseHeaders()
log.info("---- all headers -------")
val.each() { hdrs ->
log.info hdrs
}
log.info("---- cookie jar contents -------")
def cjar = val.get("Set-Cookie")[0]
log.info ( "Cookie Jar: " + cjar )
def cookies = cjar.tokenize("\\;")
log.info("---- cookies -------")
cookies.each() { cookie ->
log.info "Cookie: " + cookie
}
log.info("---- separated -------")
cookies.each() { cookie ->
def pair = cookie.tokenize("\\=")
log.info( "[- Key: " + pair[0] + ", Val: " + pair[1] + "-]" )
}
log.info("---- end -------")
InformationsquelleAutor djangofan | 2013-12-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code sieht in Ordnung für mich. Das problem ist nur, dass (glaube ich!) sollte man den header "Cookie" im Gegensatz zu "Set-Cookie".
Dies könnte helfen: http://siking.wordpress.com/2013/07/25/soapui-cookie-management/
InformationsquelleAutor SiKing
Für SoapUi testen, ich add header :
http://mariemjabloun.blogspot.com/2014/11/set-webservice-authentication-and-set.html
InformationsquelleAutor MariemJab