Как автоматически получить токен на предъявителя с помощью REST Assured - PullRequest
0 голосов
/ 27 сентября 2018

В настоящее время я использую Postman для генерации токена на предъявителя, который я использую в своих автоматических тестах.Теперь я хотел бы также автоматизировать процесс генерации токенов Bearer, используя REST Assured в Java.Пожалуйста, помогите мне.Спасибо.

enter image description here

Response response =
      given()
          .auth()
          .oauth(
              "n0pCrq5SPgraZ3CyY0Nd",
              "xvvx-LVd5dszLi9OO_1qjbU4eUQ4dXwLrDZN7oioSITr_EXrgsyyOvPvZmv85Ew2",
              "",
              "",
                  "HMAC-SHA256")
          .when()
          .get(url)
          .then()
          .contentType(ContentType.JSON)
          .extract()
          .response();

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Это работает.Спасибо @wilfred clement.

public static String getOauthToken(String consumerKey, String consumerSecret, String endpoint ) {

log.info("GET ACCESS TOKEN=" + endpoint);
URI uri = null;
try {
  uri = new URI(endpoint);
} catch (URISyntaxException e) {
  log.error("Not proper oauth url=" + endpoint);
  throw new RuntimeException(e);
}

ValidatableResponse res = given()
        .header("Content-Type", "application/json")
        .auth().oauth(consumerKey,
                consumerSecret,
                "",
                "")
        .body("{\"grantType\": \"client_credentials\"}").when().post(uri).then();

int responseCode = res.extract().statusCode();

if (HttpURLConnection.HTTP_OK == responseCode) {
  String token = res.extract().jsonPath().get("accessToken").toString();
  log.info("Auth token=" + token);
  return token;
} else {
  String msg = "Access token retrieve failed. Http response code=" + responseCode;
  log.error(msg);
  throw new RuntimeException(msg);
}

}

0 голосов
/ 27 сентября 2018

Можете ли вы попробовать это? Записать все , чтобы вы знали более подробно

Response response =
      given()
          .auth()
          .oauth("n0pCrq5SPgraZ3CyY0Nd", "xvvx-LVd5dszLi9OO_1qjbU4eUQ4dXwLrDZN7oioSITr_EXrgsyyOvPvZmv85Ew2")
          .log()
          .all()
          .when()
          .get(url)
          .then()
          .contentType(ContentType.JSON)
          .extract()
          .response();
...