REST Гарантировано и несколько постов
Я пытаюсь использовать гарантированный REST для проверки моего входа / выхода из системы. Можно ли иметь гарантированный тест REST, что сообщения для входа в систему, а затем для выхода из системы? Если нет, как я могу проверить это правильно?
4 ответа
Просто отправьте два post() с одним assert ()/Ожидаем ():
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/");
}
Ты можешь попробовать
expect().statusCode(HttpStatus.SC_OK)
.given()
.parameters("user", user, "password", URL)
.cookie("cookie_name", "cookie_value")
.post("/someURL");
Также есть уверенный аутентификационный вызов.
Смотрите документацию или примеры
Также вы попробуйте это:
Создайте свой JSON-файл с именем xyzjson и сохраните данные пост-нагрузки в этом файле и используйте приведенный ниже код.
Ответ rep = данный (). Заголовки. (Заголовки).accept(contentType.json).body (xyzjson).when(). Post (someURL);
Asset.assertTrue (rep.StatusCode () == HttpStatus.SC_Ok);
Приводит ли ваш API-вызов входа в систему какой-то токен аутентификации, который повторно используется в последующих запросах? Если это так, я рассматриваю их как отдельные звонки с уверенностью, чтобы проверить их полностью.
(Логин Фокус)
- Выполните RestAssured вызов на / логин API. Сохраните возвращенный токен аутентификации.
- Используя сохраненный токен, выполните вызов RestAssured для другого API в вашей системе, который требует аутентификации на первом этапе. Это подтверждает, что токен аутентификации работает.
(Выйти Фокус)
- Выполните вызов RestAssured API / logout, используя сохраненный токен.
- Повторите шаг два и подтвердите, что этот запрос теперь не выполняется, так как маркер входа больше не действителен после третьего шага.