Токен носителя авторизации не включен в запрос - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь запустить свои автотесты спокойно и спокойно, но токен не включен в мой метод генерации запроса. Сам метод получения токена работает правильно. подскажите в чем может быть причина.

public class ApiSteps {

    private String token;

    public String getAccessToken() {
        RequestSpecification requestSpec = RestAssured.with();
        requestSpec.given().contentType("application/x-www-form-urlencoded");
        Response giveToken = RestAssured.given()
                .formParam("username", "user")
                .formParam("password", "pass")
                .request().post("https://test.com/token");
        DocumentContext doc = JsonPath.parse(giveToken.asString());
        token = doc.read("access_token");
        System.out.println(token);
        return token;
    }

    final RequestSpecification spec = new RequestSpecBuilder()
            .setBaseUri("https://test.com/api/v1")
            .addHeader("Content-Type","application/json")
            .addHeader("Accept", "text/plain")
            .addHeader("Authorization", "Bearer " + getAccessToken())
            .build();

    @Step
    public void testRest() {
        given()
            .spec(spec)
        .when()
            .get("/Test")
        .then()
            .assertThat()
            .statusCode(200);
    }
}

при запуске теста в запросе - null. Пытался отметить аннотацией @Before, но результат тот же

введите описание изображения здесь

1 Ответ

0 голосов
/ 05 августа 2020

Вам нужно вынести метод получения токена в отдельный класс и использовать его следующим образом:

NameClass nameClass = new NameClass();

.addHeader («Авторизация», «Bearer» + getAccessToken ())

и здесь используйте метод этого класса:

nameClass.getAccessToken()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...