frontend testing tips

Protractor, test su tab multiple

Nell’ambito dello sviluppo di test funzionali capita di dover verificare l’apertura di nuove tab nel browser ed eseguire i test da lì.

Oltre a dover gestire la nuova tab è necessario assicurarsi che una volta completato il test le tab aperte vengano richiuse e la situazione venga ripristinata per non creare problemi ai test successivi.

Continua a leggere

frontend testing tips

Testing multibrowser: Protractor e integrazione con Browserstack

Creare test funzionali con Protractor come trattato negli articoli precedenti va ben oltre i testing fatto durante il normale sviluppo, con poche modifiche ci permette far girare la nostra suite di test direttamente su Browserstack. In questa maniera avremo la possibilità di eseguire interi flussi applicativi  in multipiattaforma e garantendo quindi la funzionalità cross-browser della nostra applicazione.

Continua a leggere

frontend testing tips

Protractor e Page Objects: l’importanza dell’utilizzo di pattern nei test

Protractor offre un ottimo sistema di testing perfettamente integrato con Angular, ma così come l’abbiamo presentato nel test precedente porta con sé degli evidenti problemi.

L’obiettivo è identificare e evitare tutto ciò che renderebbe difficile la manutenzione dei test: la crescita del progetto in dimensioni e complessità li renderebbe di fatto un costo al posto di una risorsa e porterebbe irrimediabilmente al loro abbandono.

Continua a leggere

Frontend testing tips

Eseguire test funzionali con Protractor e Angular-cli: le basi per iniziare

Il test funzionale detto anche E2E (end to end) consiste nel verificare la funzionalità completa di un’applicazione. Al contrario di quello unitario che si prefigge il test di funzionalità atomiche, il test E2E ha come obiettivo verificare che tutte funzionalità lavorino correttamente assieme.

Lo strumento principale utilizzato con Angular è Protractor, un framework di test E2E che viene integrato in applicazioni generate con Angular cli.

Questa è una guida introduttiva per un quick setup, che ci porterà alla scrittura del primo test che approfondiremo in articoli successivi.

Continua a leggere

Testare angular

Eseguire test singoli tramite Karma ed Angular CLI quando i test rallentano lo sviluppo dei progetti più grandi

Le modifiche da applicare ad un progetto standard per avere più controllo sull’esecuzione dei test unitari tramite karma.

Per chi sviluppa frontend, le questioni relative al testing sono spesso “meno lineari” rispetto al classico approccio TDD dello sviluppo backend. Chi ha avuto occasione di lavorare in angular 2 avrà sicuramente potuto apprezzare angular CLI e gli strumenti che mette a disposizione, soprattutto per il testing.

Nello sviluppo quotidiano ho riscontrato che “ng test”, il comando che ci permette di eseguire test unitari tramite karma, non fornisce la possibilità di scegliere quali test eseguire, cosa che al crescere del numero dei test rallenta considerevolmente l’esecuzione, soprattutto in modalità “watch” rendendo così quasi impossibile un approccio TDD.

Infatti, ci capita spesso di lavorare su progetti frontend molto complessi per i nostri clienti e, nonostante questo tipo di problema, al contempo vogliamo mantenere alti i livelli qualitativi, anche con tecniche come appunto il TDD.

Per ovviare al problema ho perciò applicato le seguenti modifiche al mio progetto angular per avere la possibilità di lanciare e tenere in modalità watch solo i test che mi interessano durante lo sviluppo.

Continua a leggere