赛普拉斯在 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 中为您说了此代码 运行,我假设大括号不是问题,而是在发布时丢失了。
我正在尝试使用 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 中为您说了此代码 运行,我假设大括号不是问题,而是在发布时丢失了。