Estou escrevendo alguns testes automatizados usando node.js e Cypress, e como tenho muitos deles, quero agrupá-los e separá-los em seus próprios arquivos. Comecei a fazer isso, por exemplo:
//myscripts/prodPageTests.js
const { exec } = require('child_process');
let command = "npx cypress run --headless --browser chrome --spec './cypress/e2e/LoremProdPage.feature'";
// Other tests to come.
// Probably in some kind of loop with args.
exec(command, (error, stdout, stderr) => {
if (error) {
console.error(`Error executing command: ${error}`);
return;
}
console.log(`Output:\n${stdout}`);
if (stderr) {
console.error(`Error Output:\n${stderr}`);
}
});
Isso funciona, mas depois que é executado também recebo o aviso:
Error Output:
DevTools listening on ws://127.ip.address/devtools/browser/<some hash>
2025-02-19 10:18:07.287 Cypress[18578:4259699] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSup
O que eu entendo ter algo a ver com o Mac Sonoma OS.
Estou curioso: existe uma solução alternativa para isso com o node.js?
Eu faria isso usando a API do módulo
Isso significa que você não precisa da
execa()
camada para executar o Cypress.Todas as opções da CLI estão disponíveis como opções neste modo, por exemplo
Você pode filtrar as linhas na
stderr
saída que contêm a mensagem de aviso