Я начинаю с тестов автоматизации API, поэтому я сомневаюсь, как я могу использовать шаги огурцов для проверки ответа API.
Я создаю функцию для огурца с помощью следующих шагов:
@criarConta
Scenario Outline: Criar uma conta valida
Given que realizo a chamada no <ambiente> da <api> informando <token_admin> e um email e <senha> novos
Then devera retornar <status code>
And no response devera retornar um valor de "ID" ou "Message"
В моем классе "dataMap" я выполняю следующий запрос и проверяю:
public void criarConta(String srtAmbiente, String srtAPI, String srtToken, String srtSenha) {
String uriBase = srtAmbiente;
RequestSpecification apiRequest = RestAssured.given().contentType(ContentType.JSON);
int length = 15;
String email = generateRandomEmail(length);
System.out.println(email);
Map<String, String> emailContent = new HashMap<String,String>();
emailContent.put("email", email);
Map<String, Object> postContent = new HashMap<String,Object>();
postContent.put("customer", emailContent);
postContent.put("password", srtSenha);
apiRequest.header("Authorization", "Bearer "+srtToken).with().body(postContent);
Response response = apiRequest.post(uriBase+srtAPI).prettyPeek();
ResponseBody body = response.getBody();
String bodyStringValue = body.asString();
Assert.assertTrue(bodyStringValue.contains("id"));
JsonPath jsonPathEvaluator = response.jsonPath();
String responseEmail = jsonPathEvaluator.get("email");
Assert.assertTrue(responseEmail.equalsIgnoreCase(email));
}
Но в моем классе "steps" мне нужно вызвать шаги огурца, и мой код запроса и проверки находится в одном методе.Как я могу вызвать запрос в одном методе и ответ в другом для использования шагов огурцов?Спасибо!