赛普拉斯不会在 CLI 模式下截取屏幕截图



我试图使用柏树采取一个简单的屏幕截图,然而,它只适用于柏树GUI (cypress open)。
每当我运行cypress run时,它显示测试成功,但没有保存截图。

我的代码:

describe('Snapshot', () => 
it.only('Take snapshot', async () => {
cy.visit("http://www.google.com");
cy.screenshot();
});
});

实际上,即使在GUI中,您也可能得到与您提供的代码不一致的行为:您应该尝试重构您的测试以避免使用async

Cypress本身已经做了很多异步的事情。关于cypress如何使用承诺和避免async的更多信息,以及如果您真的想使用async,您可以尝试的一些事情,请参阅此回答。

如果您像这样删除async关键字,您的代码将成功创建cypress run下的屏幕截图:

describe('Snapshot', () => {
it.only('Take snapshot', () => {
cy.visit("http://www.google.com");
cy.screenshot();
});
});

注意:我还在第一行末尾添加了缺少的左括号{。既然你说这个代码在GUI中为你运行,我假设大括号不是问题,只是在发布时丢失了。

最新更新