【问题标题】:Rest Api testing using Rest Assured - Not Working使用 Rest Assured 进行 Rest Api 测试 - 不工作
【发布时间】:2018-05-15 12:20:16
【问题描述】:

我正在使用 Rest Assured 进行 Rest API 测试,并且我已正确编码,但不知道显示正确请求时发生了什么,但在服务器请求中,每个输入参数都显示为 null。

代码:

public class ValidateCardAPI {

    public Response validatecardTest(String cardNo, Object mobileNo, String code, String progType) {

        ValidateCard validateCard = new ValidateCard();

        validateCard.setCardNo(cardNo);
        validateCard.setMobileNo(mobileNo);
        validateCard.setcCode(code);
        validateCard.setProgmType(progType);

        JSONObject jsonObject = new JSONObject(validateCard);
        System.out.println(jsonObject);

        RequestSpecification requestSpecification = RestAssured.given();

        requestSpecification.contentType("application/json");
        requestSpecification.accept("application/json");
        requestSpecification.body(jsonObject);

        Response response = requestSpecification.post("http://ipaddress:port/request url");

        System.out.println(response);
        return response;

    }

     public static void main(String args[]) throws JSONException {

     ValidateCardAPI validateCardapi= new ValidateCardAPI(); 
     Response resStatus =validateCardapi.validatecardTest("XXXXXXXXXX",null,"2222","C");
     String body = resStatus.getBody().asString(); System.out.println(body);

     JSONObject jsonObj = new JSONObject(body); String resvalue =
     jsonObj.getString("errorMessage");

      System.out.println(resvalue);

      if(resvalue.equalsIgnoreCase("SUCCESS")) {

      System.out.println("Validate Card APi Response is ="+resvalue);

      }else {
      System.out.println("Validate Card APi Response is Fail becasue ="+resvalue);
      }   

      }

如果我做错了,请任何人提供帮助。

【问题讨论】:

  • 提供更多信息,您在控制台中遇到什么错误?
  • 响应中出现内部服务器错误
  • ISE 与 Rest-Assured 无关,请确保您击中正确的终点交叉检查终点中的 (/) 斜线。使用下面的行来调试 rest-assured 请求 //RestAssured.given().log().all();
  • 我试过 RestAssured.given().log().all();并显示为 io.restassured.internal.RequestSpecificationImpl@5aa9e4eb 行,我缺少任何代码
  • 它只是用于记录,因此您可以看到幕后发生的事情,只需将第 11 行(在您上面发布的代码中)更改为 RequestSpecification requestSpecification = RestAssured.given()。日志()。所有();然后仔细检查控制台。

标签: rest rest-assured


【解决方案1】:
    // convert body in string
    requestSpecification.body(jsonObject.toString());
    if you have any authorisation header, please add as 
    requestSpecification.header("request_id", "request_id value");
    requestSpecification.header("data2", "data value"); 

and make sure you post URL is currect

【讨论】:

  • 谢谢,我会尝试一次。实际上我只使用了你的视频教程代码。
  • 谢谢,这个解决方案解决了我的问题,非常感谢,告诉我为什么jsonObject to String();
猜你喜欢
  • 1970-01-01
  • 2019-06-13
  • 2020-07-16
  • 1970-01-01
  • 2016-05-06
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
  • 2020-10-06
相关资源
最近更新 更多