当无头运行 Cypress 时,我可以console.log
使用DEBUG
环境变量查看测试中的前端代码的输出,例如:
DEBUG='cypress:launcher' npx cypress run --browser chrome
Run Code Online (Sandbox Code Playgroud)
但是,我还没有找到任何类似的方法来查看cy.log
无头运行时赛普拉斯测试代码的输出。即使DEBUG='cypress:*'
我看不到它们 - 它们似乎只在交互界面中可见。感觉必须有某种方法可以cy.log
无头查看输出 - 有人可以帮忙吗?
hug*_*hsk 16
第一步是在 Cypress 配置文件中添加一个新任务,以便您可以console.log
从 Node 运行:
import { defineConfig } from "cypress";
export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
on("task", {
log(args) {
console.log(...args);
return null;
}
});
},
},
});
Run Code Online (Sandbox Code Playgroud)
然后,您可以覆盖,cy.log
以便每当您在无头模式下运行命令以及console.log
在有头模式下运行命令时它都会调用此任务。您可以通过将以下内容添加到命令文件中来完成此操作:
Cypress.Commands.overwrite("log", function(log, ...args) {
if (Cypress.browser.isHeadless) {
return cy.task("log", args, { log: false }).then(() => {
return log(...args);
});
} else {
console.log(...args);
return log(...args);
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4739 次 |
最近记录: |