brian661
brian661

Reputation: 548

How to follow the redirect in rest assured?

I have a spring boot application and a controller will redirect to a page based on the post parameter.
And I am creating the test case which want to assert the redirect page But I failed to get the redirected html from the rest assured response

    @Test
    public void test() throws Exception {

        Response response = given()
            .param("name", "myName")
        .when()
            .redirects().follow(true).redirects().max(100)
            .post("/myPath");      // it will redirect to another page


        // I want to print from <html> to </html> of the redirected page
        System.out.println("returned full html /n" + response.getBody().asString());  
    }

I receive 302 and the location of the redirect page in the response header.

11:38:03.291 [main] DEBUG org.apache.http.headers - << "Location: http://localhost:8080/myRedirectPage[\r][\n]"
.........
11:38:03.291 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 302 
11:38:03.291 [main] DEBUG org.apache.http.headers - << HTTP/1.1 302 

Upvotes: 6

Views: 18877

Answers (2)

satyajeet
satyajeet

Reputation: 17

Try using Ip address in place of "localhost" in the URL.

Upvotes: 0

Manjunatha Thippeswamy
Manjunatha Thippeswamy

Reputation: 126

I had similar issue, "post" with status code 302 and 307 is not supported for rest assured redirect. Either we have to change to "get" or "post" with 303 status code. More information click here

Upvotes: 8

Related Questions