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

Cypress doesn't take screenshots in CLI mode

我正在尝试使用 Cypress 截取一个简单的屏幕截图,但是,它只能在 Cypress GUI (cypress open) 中使用。
每当我运行cypress run时,它显示测试成功但没有保存截图。

这是我的代码:

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

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

Cypress 本身已经做了很多异步的事情。有关 cypress 如何使用 promises 和避免 async 的更多信息,请参阅 ,以及如果您真的想使用 async.

可以尝试的一些事情

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

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

注意:我还在第一行末尾添加了缺少的左大括号 {。由于您在 GUI 中为您说了此代码 运行,我假设大括号不是问题,而是在发布时丢失了。