繁体   English   中英

如何在赛普拉斯拦截视频文件?

[英]How to intercept video file in Cypress?

我正在尝试使用 cy.intercept 模拟 static 视频

cy.intercept('/video.webm', { fixture: 'videos/video.webm' });

这似乎行不通,它仍然返回实际视频而不是固定视频。 我也试过像这样指定编码binarynull

cy.intercept('/video.webm', { fixture: 'videos/video.webm,null' });
cy.intercept('/video.webm', { fixture: 'videos/video.webm,binary' });

但是null给我一个错误 - 值“null”对于选项“encoding”无效

对于二进制文件,它似乎返回一个空的黑色视频

那我做错了什么?

我挑不出毛病,这个例子有效——播放我在cypress/fixtures中的 bunny vid。

最好的猜测是你有错误的夹具路径。

cy.visit('https://www.webmfiles.org/demo-files/');

cy.intercept('/elephants-dream.webm', { fixture: 'big-buck-bunny_trailer.webm,null' })
cy.get('a[href="https://dl8.webmfiles.org/elephants-dream.webm"]')
  .click()

所以我想通了,不知道为什么,但这对我有用。

cy.intercept('/video.webm', (req) => {
    req.continue((res) => {
        res.send({ fixture:'videos/video.webm' });
    });
});

PS: @TesterDick的这个答案实际上有效https://stackoverflow.com/a/73887996/12937539 但是当我在视频标签中而不是在链接中使用视频作为源时,这不起作用。 也许带有sourcevideo标签案例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM