REST保证和多个帖子

时间:2013-07-22 18:38:50

标签: rest rest-assured

我正在尝试使用REST保证测试我的登录/注销功能。是否有可能有一个REST保证测试发布登录然后发布到注销?如果没有,我该如何正确测试?

4 个答案:

答案 0 :(得分:1)

你可以尝试

expect().statusCode(HttpStatus.SC_OK)
    .given()
    .parameters("user", user, "password", URL)
    .cookie("cookie_name", "cookie_value")
    .post("/someURL");

还有一个确定的auth呼叫。

请参阅documentationexamples

答案 1 :(得分:1)

只需发送两个帖子(),其中一个断言() / 期望()

import org.junit.Assert;
import org.junit.Test;

import static org.hamcrest.Matchers.*;
import static com.jayway.restassured.RestAssured.*;

@Test
public void loginAndLogout(){
    final String login = randomLogin();
    // First post to login()
    given()
    .queryParam("login", login)
    .queryParam("password", randomPassword())
    .when().post("/login/");    

    // Second post to logout() with an assert
    expect().statusCode(200)
    .given()
    .when().post("/logout/");   
}

答案 2 :(得分:0)

还可以尝试以下方法:

使用xyzjson名称创建JSON文件,并将发布的有效载荷数据保留在该文件中,并使用以下代码。

Response rep  = given()
                  .headers
                  .(headers)
                  .accept(contentType.json)
                  .body (xyzjson)
                .when()
                  .post(someURL);

Assert.assertTrue(rep.StatusCode() == HttpStatus.SC_Ok);

答案 3 :(得分:0)

您的登录api调用会导致某种身份验证令牌在后续请求中重用吗? 如果是这样,我将这些视为单独的放心呼叫,以对其进行全面测试。

(登录重点)

  1. 发出对/ login api的RestAssured调用。保存返回的身份验证令牌。
  2. 使用保存的令牌,对步骤1中需要身份验证的系统中的另一个api发出RestAssured调用。这确认身份验证令牌有效。

(注销重点)

  1. 使用保存的令牌向/ logout api发出RestAssured调用。
  2. 重复第二步,并确认此请求现在失败,因为在第三步之后登录令牌不再有效。