javascript - Monitorovanie výstupu konzoly webových stránok v Cypress.io
Používam Cypress.io na testovanie našej novej aplikácie (Node, React), ale rád by som mohol monitorovať a kontrolovať výstup console.log na webovej stránke kvôli akýmkoľvek chybám, ktoré nie sú explicitne zachytené cez naše štandardné testy.
Dúfam, že toto nebude použité len na zachytenie náhodných príkazov console.log, ktoré by nemali byť pridané do kódu pripraveného na produkciu, ale tiež zachytí zastarané funkcie a varovania z akýchkoľvek našich závislostí.
Prosím, môžete mi dať vedieť, či je to dosiahnuteľné, a ak áno, ako by som to mohol urobiť?
Ďakujem, Chris.
Odpoveď č. 1
let spyErrorLog;
before(() => {
Cypress.on("window:before:load", (win) => {
spyErrorLog = cy.spy(win.console, "error"); // can be: log, warn
});
});
after(() => {
expect(spyErrorLog).not.to.be.called;
});
odtiaľto pozri Skontrolujte, či bol do konzoly zapísaný nejaký chybový výpis
https://docs.cypress.io/faq/questions/using-cypress-faq#How-do-I-spy-on-console-log https://docs.cypress.io/examples/examples/recipes#Stubbing-and-spying
Odpoveď č. 2
Pozrite sa na tento doplnok pre Cypress, ktorý vytlačí všetky prehliadačové protokoly na stdout:
https://github.com/flotwig/cypress-log-to-output
Funguje iba pre Chrome, takže sa len uistite, že vaše CI je nastavené na používanie Chrome a že aj lokálne používate Chrome.
