cypress如何测试后端是否返回200或者其他状态码?
时间: 2023-07-30 21:11:58 浏览: 85
在Cypress中,我们可以使用cy.request()命令来发送HTTP请求并获取响应。此命令可以用于测试后端API是否返回正确的状态码。以下是一个示例代码:
```
cy.request({
method: 'GET',
url: '/api/users',
}).then((response) => {
expect(response.status).to.eq(200); // 检查状态码是否为200
});
```
在此示例中,我们发送一个GET请求到'/api/users'端点,并在响应中检查状态码是否为200。您可以将此代码更改为测试其他状态码。
另外,您还可以使用cy.route()命令模拟HTTP响应。这对于测试特定场景非常有用,例如测试错误处理逻辑。以下是一个示例代码:
```
cy.server(); // 启用路由
cy.route({
method: 'POST',
url: '/api/users',
response: {
status: 500,
message: 'Internal Server Error',
},
});
cy.request({
method: 'POST',
url: '/api/users',
body: {
name: 'John Doe',
},
}).then((response) => {
expect(response.status).to.eq(500); // 确认状态码是否为500
expect(response.body.message).to.eq('Internal Server Error'); // 检查响应消息是否正确
});
```
在此示例中,我们使用cy.route()命令模拟一个POST请求并返回状态码为500和错误消息。然后,我们使用cy.request()命令发送一个POST请求,并在响应中检查状态码和错误消息。
阅读全文