Я пытаюсь использовать REST, чтобы проверить свою функцию входа / выхода. Возможно ли иметь тест с гарантированным REST, который отправляет сообщения для входа в систему, а затем сообщения для выхода из системы? Если нет, как я могу его правильно проверить?
REST Гарантированный и несколько сообщений
comment
Я просмотрел документацию. Он не приводит никаких примеров и ничего конкретно не говорит.
- person mattklamp   schedule 23.07.2013
comment
Ваша авторизация: базовая / дайджест или форма?
- person vaugham   schedule 25.07.2014
Ответы (4)
Просто отправьте два post () с одним assert () / expect ():
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/");
}
person
vaugham
schedule
17.07.2014
Между каждым постом, если вы хотите проверить ответ, это тоже возможно ... т.е. после
post()
вы можете получить then().body("param1", "value1,", "param2", "value2", ...);
- person OverrockSTAR; 12.04.2015
Ты можешь попробовать
expect().statusCode(HttpStatus.SC_OK)
.given()
.parameters("user", user, "password", URL)
.cookie("cookie_name", "cookie_value")
.post("/someURL");
Также есть гарантированный вызов авторизации.
См. документацию или примеры
person
mihai.ciorobea
schedule
06.08.2013
Приводит ли ваш вызов api к логину какой-то токен аутентификации, который повторно используется в последующих запросах? Если это так, я рассматриваю это как отдельные вызовы для полной проверки.
(Вход в фокус)
- Выполните вызов RestAssured для / login api. Сохраните возвращенный токен аутентификации.
- Используя сохраненный токен, выполните вызов RestAssured для другого API в вашей системе, который требует аутентификации на первом шаге. Это подтверждает, что токен аутентификации работает.
(Выйти из системы)
- Выполните вызов RestAssured к api / logout, используя сохраненный токен.
- Повторите шаг два и подтвердите, что этот запрос теперь не выполняется, поскольку токен входа в систему больше не действителен после шага три.
person
Dave Gordon
schedule
05.10.2018
Также вы попробуете это:
Создайте свой файл JSON с именем xyzjson и сохраните данные полезной нагрузки в этом файле и используйте приведенный ниже код.
Response rep = given()
.headers
.(headers)
.accept(contentType.json)
.body (xyzjson)
.when()
.post(someURL);
Assert.assertTrue(rep.StatusCode() == HttpStatus.SC_Ok);
person
Nitin mahapure
schedule
07.09.2018