我在dataMap
类上开发了Rest-Assured请求,但我需要在另一种方法中验证此请求以调用我的功能的黄瓜步骤。
我的黄瓜特点:
Esquema do Cenario: Criar uma conta valida
Dado que realizo a chamada no <ambiente> da <api> informando <token_admin> e um email e <senha> novos
Entao devera retornar <status code>
我试着这样做:
public class dataMap extends tests {
private Response response;
private ValidatableResponse json;
private RequestSpecification request;
public void criarConta(String srtAmbiente, String srtAPI, String srtToken, String srtSenha) {
String uriBase = srtAmbiente;
String Api = srtAPI;
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);
request = RestAssured.given().contentType(ContentType.JSON)
.header("Authorization", "Bearer "+srtToken).with().body(postContent);
response = request.when().post(uriBase+Api).prettyPeek();
}
public void responseCriarContaStatus (String srtStatusCode) {
json = response.then().statusLine("HTTP/1.1 200 OK");
但responseCriarContaStatus
方法不起作用。当我将json = response.then().statusLine("HTTP/1.1 200 OK");
插入criarConta
方法时,代码可以工作。
如何在responseCriarContaStatus
方法中验证此请求?
您可以设置Response
对象static
,并在定义response
后,您可以在另一种方法中使用它。我正在分享你自己的方法然后你可以编辑它。如果要求获得成功,statusCode
将是200
。
private static Response response;
public void responseCriarContaStatus (String srtStatusCode) {
JSONObject json = new JSONObject(response.getBody().asString);
Asser.asserEquals(srtStatusCode , json.getString("statusCode"));