ChatGPT可以帮助您在REST Assured中生成API测试!
ChatGPT 是一种可以理解和回复人类输入的人工智能,就像一个可以与之对话的高度智能机器人。只需免费开设一个帐户,然后像与朋友一样开始与之聊天。
让我们首先请求 ChatGPT 生成一个 API 规范,以便我们可以展示它稍后如何创建测试。
我对ChatGPT:“为一家名为FoxShipping的新航运公司的跟踪API创建一个OpenAPI规范。
它为我们新的FoxShipping跟踪API生成了一个示例 OpenAPI 规范:
openapi: 3.0.
info:
title: FoxShipping Tracking API
version: 1.0.0
description: This API allows customers to track their shipments with FoxShipping.
contact:
name: FoxShipping Support
email: support@foxshipping.com
url: https://www
.com
服务器:
– 网址: https://api.foxshipping.com/tracking
路径:
/:
发布:
摘要:使用福克斯运输跟踪货件
操作 ID:跟踪货件
请求正文:
必需:真
内容:
应用程序/JSON :
图式:
类型:对象
性能:
追踪号码:
类型:字符串
示例:1234567890
apiKey:
类型:字符串
示例:YOUR_API_KEY
反应:
200:
描述:跟踪请求成功
内容:
应用程序/JSON :
图式:
类型:对象
性能:
追踪号码:
类型:字符串
示例:1234567890
地位:
类型:字符串
示例:“已送达”
预计交货期:
类型:字符串
格式:日期-时间
示例:“2022-01-01T12:00:00Z”
401:
描述:未经授权的请求
404:
描述: 找不到跟踪号
现在,我们可以要求它为其创建 API 测试。
我对ChatGPT:“使用RestAssured为FoxShipping Tracking API编写API测试。
import io.restassured.RestAssured
import io.restassured.response.Response;
import org.junit.BeforeClass;
import org.junit.Test;
public class FoxShippingTrackingAPITest {
private static final String API_KEY = "YOUR_API_KEY";
@BeforeClass
public static void setup() {
RestAssured
foxshipping.com/tracking“;
}
@Test
public void testTrackTransport() {
字符串跟踪数字 = “1234567890”;
字符串请求正文 = “{\”跟踪编号“:\”“ + 跟踪编号 + ”\“,\”apiKey\“:\”“ + API_KEY + ”\“}”;
响应响应 = RestAssured.given()。
contentType(“application/json”).
body(requestBody)。
when()。
帖子();
int statusCode = response.getStatusCode();
assertEquals(200, statusCode);
String responseBody = response.getBody().asString();
assertTrue(responseBody.contains(trackingNumber));
assertTrue(responseBody.contains(“status”));
assertTrue(responseBody.contains(“estimatedDelivery”));
}
}
看起来不错,但我们也需要涵盖错误情况。我们跟进。