如何放心重定向?

时间:2017-02-27 08:28:42

标签: rest-assured

我有一个弹簧启动应用程序,控制器将根据post参数重定向到一个页面 我正在创建想要断言重定向页面的测试用例 但是我没有从确定的响应中获得重定向的html

    @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());  
    }

我在响应标题中收到302以及重定向页面的位置。

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 

2 个答案:

答案 0 :(得分:4)

我有类似的问题,“post”状态代码为302,307不支持放心重定向。要么我们必须改为使用303状态代码“获取”或“发布”。更多信息请点击here

答案 1 :(得分:0)

尝试使用IP地址代替URL中的“本地主机”。