小编Joy*_*ful的帖子

当文件缓存在磁盘上时,Cypress 拦截不起作用

我想在打开页面时处理对某些文件的一些请求。在屏幕截图中,您可以看到来自cypress面板的日志:

柏树原木

为了处理这些请求,我添加了如下代码:

    it('Check intercept', () => {
        cy.intercept('/settings.json').as('settings');
        cy.intercept('/static/model/*').as('plates');

        cy.visit('/editor/ckpdx02f7098c08632il2aetr');

        cy.wait('@settings')
        cy.wait('@plates')
    });
Run Code Online (Sandbox Code Playgroud)

它适用于settings.json,但.stl不适用于文件

在此输入图像描述

如果我这样写它也不起作用:

    it('Check intercept', () => {
        cy.intercept('/settings.json').as('settings');
        cy.intercept('/static/model/ckpdwtgpg096g08636kd57n39/plate_4.stl').as('plate4');
        cy.intercept('/static/model/ckpdwtgpg096g08636kd57n39/plate_3.stl').as('plate3');
        cy.intercept('/static/model/ckpdwtgpg096g08636kd57n39/plate_2.stl').as('plate2');
        cy.intercept('/static/model/ckpdwtgpg096g08636kd57n39/plate_1.stl').as('plate1');
        cy.intercept('/static/model/ckpdwtgpg096g08636kd57n39/plate_0.stl').as('plate0');

        cy.visit('/editor/ckpdx02f7098c08632il2aetr');

        cy.wait('@settings')
        cy.wait('@plate4')
        cy.wait('@plate3')
        cy.wait('@plate2')
        cy.wait('@plate1')
    });
Run Code Online (Sandbox Code Playgroud)

我在文档中没有找到任何关于它的限制,欢迎提出您的想法:)

赛普拉斯:v7.4.0

UPDATE 1:

我发现了一个更多细节:如果打开 chrome 开发人员工具并在“网络”选项卡中禁用缓存 - 它始终可以正常工作

UPDATE 2:

我使用演示存储库创建了一个问题:https ://github.com/cypress-io/cypress/issues/16766

javascript testing caching end-to-end cypress

6
推荐指数
1
解决办法
2709
查看次数

标签 统计

caching ×1

cypress ×1

end-to-end ×1

javascript ×1

testing ×1