Я начинаю с тестирования автоматизации API, и у меня есть сомнения: я проверяю метод POST API Restfull, и когда я делаю POST, API возвращает некоторый контент, но некоторые поля контента меняются в каждомзапросить для примера идентификатор.
Я использую файл для подтверждения тела ответа, но мне хотелось бы знать:
1) Есть ли в любом случае использование hamcrest, чтобы игнорировать некоторые поля для утвержденияпока я использую файл со всеми полями?
2) Есть ли лучший способ сделать то, что я хочу?
Мой код:
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
import io.restassured.RestAssured;
import io.restassured.path.json.JsonPath;
import static org.hamcrest.Matchers.equalTo;
public class APICriaContatoTests {
/*VARIAVEIS PARA A REQUEST*/
@Test
public void insereInformandoTodosOsDados()
{
JsonPath expectedJson = new JsonPath(new File("arquivos\\jsonInsereInformandoTodosOsDados.json"));
//Criando dados para a requisição
jsonAsMap.put("name", "Teste de Nome 4");
jsonAsMap.put("last-name", "Nome Completo 4");
jsonAsMap.put("email", "abc14@emailfake.com");
jsonAsMap.put("age", "25");
jsonAsMap.put("phone", "5519864666664");
jsonAsMap.put("address", "Rua 4");
jsonAsMap.put("state", "Estado 4");
jsonAsMap.put("city", "Cidade 4");
//executando a requisicao
RestAssured.given().accept(ACCEPT).contentType(TYPE)
.body(jsonAsMap)
.when()
.post(ENDPOINT_POST_CRIA_CONTATOS)
.then()
.statusCode(201)
.body("", equalTo(expectedJson.getMap("")));
}
}
Данныефайла, который я использую для подтверждения моего тела ответа
{
"data": {
"id": "12",
"type": "contacts",
"attributes": {
"name": "Teste de Nome 4",
"last-name": "Nome Completo 4",
"email": "abc14@emailfake.com",
"age": 25,
"phone": "5519864666664",
"address": "Rua 4",
"state": "Estado 4",
"city": "Cidade 4"
}
}
}