目录
- 接口断言介绍
- 接口断言方式介绍
- 响应状态码断言
课程目标
- 掌握什么是接口断言。
- 了解接口断言的多种方式。
- 掌握如何对响应状态码完成断言。
思考
这两段代码是完整的接口自动化测试代码吗?
…省略…
when().get(“https://httpbin.ceshiren.com/get?name=ad&scholl=hogwarts”)
…省略…
定义接口的 url 和拼接在 url 中的请求参数
url = “https://httpbin.ceshiren.com/get?get_key=get_value”
发出 GET 请求,r 接收接口响应
r = requests.get(url)
接口响应断言
- 验证响应状态码。
- 验证响应体返回字段信息是否符合业务需求。
- 验证响应体字段的数据类型、数据格式。
为什么需要接口断言
- 确保接口返回的数据符合预期。
- 检测接口是否正常运行。
- 提高测试效率
思考
这里的code,是响应状态码吗?
响应状态码简介
《常见的接口协议》
响应报文
< HTTP/1.1 200 OK
< Server: nginx/1.10.2
< Date: Thu, 12 Mar 2020 09:13:44 GMT
< Content-Type: image/png
< Content-Length: 11390
< Connection: keep-alive
响应断言方式
类型 | 断言方法 |
---|---|
状态码 | then().statusCode() |
响应头 | then().header() |
内容 | then().body() |
响应状态码断言
then().statusCode()
import static io.restassured.RestAssured.given;
import org.junit.jupiter.api.Test;
public class TestAssertionStatusCode {
@Test
void testStatusCode(){
given()
.when()
.get("https://httpbin.ceshiren.com/get") // 发起GET请求
.then()
.log().all() // 打印响应结果
.statusCode(200); // 响应状态码断言
}
}