CYPRESS-不再使用cy.intercept()捕获XHR持续时间

CYPRESS-不再使用cy.intercept()捕获XHR持续时间,cypress,Cypress,Cypress即将弃用cy.route()和cy.server()使用cy.intercept() 这是我的旧代码,它将捕获XHR时间和输出 cy.server() cy.route('POST', api_URL_Live).as('CONS'); cy.wait('@CONS').then((xhr) => { CONSTime = Number(JSON.stringify(xhr.duration));

Cypress即将弃用cy.route()cy.server()使用cy.intercept()

这是我的旧代码,它将捕获XHR时间和输出

        cy.server()
        cy.route('POST', api_URL_Live).as('CONS');

        cy.wait('@CONS').then((xhr) => {
            CONSTime = Number(JSON.stringify(xhr.duration));
        });
这样做效果很好,可以将持续时间记录到一个文件中

不再捕获持续时间的新代码

        cy.intercept('POST', api_URL_Live).as('CONS');

        cy.wait('@CONS').then((xhr) => {
            CONSTime = Number(JSON.stringify(xhr.duration));
        });
有人知道为什么这个功能不再工作了吗?有人感谢您的帮助吗?

和的API有一些重叠,但不相同

duration
cy.route
的一个未记录属性,但它确实有效,尽管它没有得到正式支持

因为它没有文档记录,很少在
cy.route
中使用,所以在
cy.intercept
中没有考虑实现它

您仍然可以使用
cy.route
-
cy.route
来测量请求的持续时间。route不会被删除,代码会被破坏。一旦
cy.intercept
对于大多数常见用例足够稳定,它就很可能被移动到插件

如果要对
cy.intercept
执行相同操作,可以使用回调进行测量:

cy.intercept('POST',url,(req)=>{
const startTime=Date.now()
请求回复(res=>{
//测量收到请求和收到响应之间的时间
totalTime=Date.now()-startTime
})
})

有一个打开的功能请求,要求将计时数据添加到
cy.intercept

如果您记录CONSTime,您会得到什么值。您是否也有任何错误?@Alapands只是“未定义”作为一个值,没有错误