Я новичок в тестировании REST Assured API, я уже добавил jackson-databind, jackson-annotations и jackson-core Все версии 2.9.6 в библиотеку.
Ниже мой код:
public class SerializeAndDeserialize {
@Test
public void RegistrationSuccessful()
{
RestAssured.baseURI ="http://restapi.demoqa.com/customer";
RequestSpecification request = RestAssured.given();
JSONObject requestParams = new JSONObject();
requestParams.put("FirstName", "Virkjdender"); // Cast
requestParams.put("LastName", "Scklxjingh");
requestParams.put("UserName", "63userf2d3cn,mxd2011");
requestParams.put("Password", "passwors000mxzmd1");
requestParams.put("Email", "ed26dfdasdf39@gmail.com");
request.body(requestParams.toJSONString());
Response response = request.post("/register");
ResponseBody body = response.getBody();
System.out.println(response.body().asString());
System.out.println(response.contentType());
System.out.println(response.getStatusCode());
if(response.statusCode() == 200)
{
// Deserialize the Response body into RegistrationFailureResponse
RegistrationFailureResponse responseBody = body.as(RegistrationFailureResponse.class);
Assert.assertEquals("User already exists", responseBody.FaultId);
Assert.assertEquals("FAULT_USER_ALREADY_EXISTS", responseBody.fault);
}
else if (response.statusCode() == 201)
{
// Deserialize the Response body into RegistrationSuccessResponse
RegistrationSuccessResponse responseBody = body.as(RegistrationSuccessResponse.class);
Assert.assertEquals("OPERATION_SUCCESS", responseBody.SuccessCode);
Assert.assertEquals("Operation completed successfully", responseBody.Message);
}
}
}
И соответствующие классы ниже:
public class RegistrationFailureResponse {
@JsonIgnoreProperties(ignoreUnknown = true)
String FaultId;
String fault;
}
Еще один:
public class RegistrationSuccessResponse {
@JsonIgnoreProperties(ignoreUnknown = true)
public String SuccessCode;
public String Message;
}
Когда я пытаюсь запустить приведенный выше код через файл Testng.xml, я получаю следующую ошибку:
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: нераспознанное поле "FaultId" (класс RegistrationFailureResponse), не помеченное как игнорируемое (0 известных свойств:])
в [Источник: (Строка) "{
"FaultId": "Пользователь уже существует",
"ошибка": "FAULT_USER_ALREADY_EXISTS"
} "; строка: 2, столбец: 17] (через цепочку ссылок: RegistrationFailureResponse [" FaultId "])
в com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from (UnrecognizedPropertyException.java:60)
в com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty (DeserializationContext.java:822)
в com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty (StdDeserializer.java:1152)
в com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty (BeanDeserializerBase.java:1589)
в com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla (BeanDeserializerBase.java:1567)
в com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize (BeanDeserializer.java:294)
в com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize (BeanDeserializer.java:151)
в com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose (ObjectMapper.java:4013)
в com.fasterxml.jackson.databind.ObjectMapper.readValue (ObjectMapper.java:3042)
в com.fasterxml.jackson.databind.ObjectMapper $ readValue $ 0.call (неизвестный источник)
в org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall (CallSiteArray.java:48)
в org.codehaus.groovy.runtime.callsite.AbstractCallSite.call (AbstractCallSite.java:113)
......
Пожалуйста, помогите, я погуглил решения, но ничего из этого не связано с тем, с чем я сталкиваюсь здесь