Fit*_*Fju 0 time response cypress cypress-intercept
我试图在 Cypress 中记录 API 响应时间,但找不到任何解决方案。使用什么,cy.intercept()或者cy.request()?
我试图使用这样的建议:
cy.intercept('POST', '**/create-insurance-view-model', (req) => {
const start = Date.now()
req.continue(res => {
res.responseTime = Date.now() - start;
})
}).as('apiViewModel')
cy.wait('@apiViewModel').then(intercept => {
cy.log(`Time to get the license plate data was: ${intercept.response.responseTime} seconds`)
})
Run Code Online (Sandbox Code Playgroud)
我在日志中变得未定义。
有两种情况
有一个调用 API 的网页,您想测试响应时间。该场景使用cy.intercept()
您有一个想要直接测试的 API(不是从网页调用)。此场景用于cy.request()启动每个 API 调用。
例子:
it('tests API response via web page', () => {
cy.intercept('api/resource/3', (req) => {
const start = Date.now()
req.continue(res => {
res.headers.responseTime = Date.now() - start;
})
}).as('apiCall')
cy.visit('/')
cy.wait('@apiCall').then(intercept => {
cy.log(intercept.response.headers.responseTime)
})
Run Code Online (Sandbox Code Playgroud)
it('tests API response by direct call', () => {
const start = Date.now()
cy.request('api/resource/3')
.then(response) => {
const responseTime = Date.now() - start;
cy.log(responseTime)
})
Run Code Online (Sandbox Code Playgroud)