如何模拟 Cypress 中的图像响应
2021-05-31
5036
我的问题
我试图使用
cy.intercept
模拟来自服务器的包含图像的响应,但是浏览器
不会显示
我模拟的图像。浏览器无法将我的响应解释为
<img>
标签的正确图像。
我仍然可以在调试工具中复制响应,它似乎是我需要的图像,但可能编码方式错误。
我的方法
cy.readFile('src/assets/logo.png', 'binary').then((imgContent) => {
cy.intercept('/uploads/test.png', {
headers: { 'Content-Type': 'image/jpg' },
body: imgContent,
})
});
我也尝试过返回这样的 base64 图像字符串:
cy.intercept(
'/uploads/test.png',
{
headers: {"Content-Type": "image/jpg"},
body:
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAARCUlEQVR4Xu1deXQURRr...
但效果不太好。
1个回答
这看起来像是一个 fixture
cy.intercept("/uploads/test.png", { fixture: "logo.png" })
的工作>
默认情况下,您会将
logo.png
文件放入
cypress/fixtures
目录中,但是您可以
将其配置为使用其他位置
Phil
2021-05-31