我创建了一个测试,在其中设置了路由,尝试访问向路由发出 API 请求的页面,然后等待路由响应:
cy
.server()
.route('GET', '/api/testing')
.as('testing');
cy.visit('/index.html', { timeout: 60000 });
cy.wait('@testing', { timeout: 60000 });
这只等待赛普拉斯全局默认值responseTimeout
30 秒,然后 API 请求失败。
这是赛普拉斯在控制台中记录的错误消息:
赛普拉斯尝试向此 url 发出 http 请求时出错: https://localhost:4200/api/testing
错误是:
套接字超时
堆栈跟踪是:
错误:
ClientRequest 处的 ESOCKETTIMEDOUT。(...\node_modules\cypress\dist\Cypress\resources\app\packages\server\node_modules\request\request.js:778:19)
在 Object.onceWrapper (events.js:314:30)
在 emitNone (events.js :105:13)
在 ClientRequest.emit (events.js:207:7)
在 TLSSocket.emitTimeout (_http_client.js:722:34)
在 Object.onceWrapper (events.js:314:30)
在 emitNone (events.js :105:13)
在 TLSSocket.emit (events.js:207:7)
在 TLSSocket.Socket._onTimeout (net.js:402:8) 在 ontimeout (timers.js:469:11)
在 tryOnTimeout (timers.js :304:5)
在 Timer.listOnTimeout (timers.js:264:5)
将 a 添加responseTimeout
到赛普拉斯的全局配置会增加超时,但为什么不是超时visit
或wait
发生的超时?