Ошибка входа при тестировании API Restassured - PullRequest
1 голос
/ 31 октября 2019

Я попытался сгенерировать токен из запроса на вход в систему. Он успешно работает в инструменте почтальона и успешно работает в сценарии soapui groovy. Но я не смог сделать это через библиотеку с уверенностью. Ниже приведен скриншот, где запрос использует Body - form-data с именем пользователяи пароль. enter image description here

Я пытался использовать queryparams, formparam, но получаю следующую ошибку. Пожалуйста, помогите мне решить эту ошибку.

    <html>
    <head><title>301 Moved Permanently</title></head>
    <body bgcolor="white">
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>nginx/1.4.4</center>
    </body>
    </html>

Будьте уверены, код:

    Map<String, String> formParams = new HashMap<>();
            formParams.put("username", "test");
            formParams.put("password", "welcome");

            Response response = RestAssured.given().config(RestAssured.config().redirect(redirectConfig().followRedirects(false)).encoderConfig(EncoderConfig.encoderConfig().encodeContentTypeAs("multipart/form-data", ContentType.TEXT)))
                .queryParams(formParams)
                .post("http://posturl");

1 Ответ

0 голосов
/ 31 октября 2019

Вы отправляете параметры как запрос, а не как параметры формы.

Кроме того, похоже, что вам нужно следовать перенаправлению, так как вы получаете 301, поэтому вам нужно followRedirects(true)вместо false.

Вы должны сделать это следующим образом:

Response response = RestAssured.given()
                .config(RestAssured.config()
                        .redirect(new RedirectConfig().followRedirects(true))
                        .encoderConfig(EncoderConfig
                                .encoderConfig()
                                .encodeContentTypeAs("multipart/form-data", ContentType.TEXT)))
                .formParams(formParams)
                .post("http://posturl");
...