Как получить токен доступа конечной точки REST API с помощью метода Rest Assured with POST, в настоящее время я получаю ошибку 404?

Я пытаюсь запустить метод POST, чтобы получить токен доступа, используя REST Assured Code. Но он возвращает ошибку 404. Мой код такой, как показано ниже. Конфигурация POSTMAN, как показано ниже, такая же, как и при попытке репликации с использованием Rest Assured

Method : POST

Authorization tab: 
             Type : Basic Auth 
             UserName :  ABCD
             Passsowrd : Test@1234

Body Tab : 
           Selecting  "application/x-www-form-urlencode" Radio Button
           Key : grant_type  Value : Client_Credentials
           Key : Scope       value : ABCDAPI


given().auth().basic("Username Here","Password type here")
.header("Authorization", "Basic T1VUUkVBQ0hfQVBJX0NMSUVOVDpIWmRwREwydkR5UE5iQmtvWEdxSkFpK1Qxa08yWSszNndxQXhoYTVXUWhZPQ==n")
.header("Content-Type","application/x-www-form-urlencoded")         
.contentType("application/x-www-form-urlencoded")
.body("[{\"grant_type\":\"client_credentials\"}]")
.body("[{\"scope\":\"ABCDpi\"}]").when()            
.post("https://ABCD.KLM.id.XYZ-Cloud.net/oauth2/access_token?realm=PQR")            
.then().contentType("").statusCode(200);

Я также прилагаю снимок экрана Postman, где он работает. введите описание изображения здесь


person user3184440    schedule 07.12.2017    source источник


Ответы (2)


Прежде чем попробовать приведенный ниже код, дайте себе время посмотреть здесь.

Также application/x-www-form-urlencoded имеет свои переменные POST, хранящиеся в теле как пары ключ-значение.

given().auth().basic(username, password)
.header("Content-Type","application/x-www-form-urlencoded")
.formParam("grant_type", "client_credentials")
.formParam("scope", "ABCDpi")
.post("https://ABCD.KLM.id.XYZ-Cloud.net/oauth2/access_token?realm=PQR")
.then().contentType("").statusCode(200);
person ddarellis    schedule 07.12.2017

Я видел проблему вашего кода с такой же проблемой, как ваша. И я думаю найти одно решение наших проблем. Это может сработать, если вы измените следующие строки:

.body("[{\"grant_type\":\"client_credentials\"}]")
.body("[{\"scope\":\"ABCDpi\"}]").when()

для этого:

.body("grant_type=client_credentials&scope=ABCDpi")

Я надеюсь, что буду полезен.

person GUILHERME BUENO MARTINS    schedule 26.06.2019