Sending cookie as request header in SOAP UI request for rest web service

后端 未结 2 1683
小蘑菇
小蘑菇 2020-12-09 18:18

I am testing a Rest API using SOAP UI tool.

First, I hit another API which gave me the jSessionid and then in my actual

相关标签:
2条回答
  • 2020-12-09 18:42

    You can easily manipulate Cookies using Groovy scripting. In SoapUI, Cookies are kept in the Cookie store:

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

    You can read all the Cookies in there:

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

    To create a new Cookie in another request:

    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)
    

    I have some additional information in an older blog post here.

    0 讨论(0)
  • 2020-12-09 18:53

    You can create a application session from the UI and use cookies that save the session. Get the session cookie details from the browser using the developer tools of the browser. The image shows where the cookies are available in the browser :Getting cookie header parameter

    In soapUI create a header attribute with the same value you obtained from the browser and run the request. The request will use the same session id(JSESSIONID) that is saved in the cookie to run the request. The below images shows how to add the cookie value to the header.Adding cookie value o request header

    0 讨论(0)
提交回复
热议问题