ho trovato una soluzione, basta cambiare il messaggio ...:
casper.test.on("fail", function(failure) {
failure.message = "Message : " + failure.message + "\nLine : "+ failure.line + "\nCode : " + failure.lineContents;
});
La stack errori di ripresa (con test.begin) viene modificato anche però. Ma a Jenkins non mi interessa, quindi possiamo usare una condizione come if casper.cli.get('xunit') { casper.test.on('fail'){...} ;}
.
E così:
Piuttosto semplice in realtà ... Dovrei avere una migliore ricerca.
Per Artjom:
In realtà per gli errori è abbastanza dettagliata in modo da non penso che ci sono cambiamenti da fare, vedere:
ma è ancora possibile personalizzare allo stesso modo e potrebbe essere qualcosa di simile:
casper.test.on("fail", function(failure) {
//if error type undefined function
if(failure.message.message){//or failure.message.stack.TypeError
failure.message.message = "Message : " + failure.message.message + "\nLine : "+ failure.message.line;//in jenkins -> title
}
//else assert error
else{failure.message = "Message : " + failure.message + "\nLine : "+ failure.line + "\nCode : " + failure.lineContents;}
//console.log(JSON.stringify(failure,4,'\t')); //see parameters you can modify in the failure object
});
non c'è un evento errore, ma diversi oggetti-corretta legami- (rispetto al tipo di errore) in questo evento di errore. Quindi puoi manipolarli nel modo desiderato. Ma personalmente sono interessato al messaggio, al codice e alla linea (e per impostazione predefinita jenkins li gestisce con errore non definito).
Ora sto lavorando ad un modo per visualizzare anche il percorso screenshot, per avere qualcosa di simile:
Message : No notice on the page
Line : 83
Code : this.test.assertTextDoesntExists('Notice', 'No notice on the page');
Screenshot : http://-jenkins-/job/-myJob-//lastFailedBuild/artifact/screenshots/fail0.png/
Beh, l'ho fatto:https://github.com/n1k0/casperjs/pull/920
L'obiettivo è quello di fare clic sul collegamento in jenkins e sullo schermo direttamente utilizzando il browser :)
Funziona anche per gli errori (ad esempio la funzione di chiamata su undefined)? C'è un 'on (" errore ", funzione ...'? –
Sì, buon punto, lo modifico per tenerne conto. – Fanch