Questo repository contiene i test e2e per le webapps di Piattaforma Notifiche
- Java 7 o superiore
- JDK 17 o superiore
- IntelliJ IDEA (consigliata) o qualsiasi IDE preferito
Per poter eseguire i test bisogna seguire in ordine i seguenti passaggi:
- Una volta clonato la repo bisogna installare le dipendenze con il comando:
mvn clean install -DskipTestsper macchina windows./mvnw clean install -DskipTestsper macchina unix like (linux, macos)
N.B: il parametro -DskipTests serve per non eseguire i test durante la fase di installazione delle dipendenze
- Una volta installate le dipendenze è consigliato installare i plugin di IntelliJ per poter visualizzare i file
.feature
correttamente:
- Cucumber for Java
- Gherkin
Note
Se si vuole eseguire i test da riga di comando non è obbligatorio installare i plugin. I plugin servono solo ad aggiungere alcune utility come: evidenziare le keywords di Cucumber e poter testare direttamente con IntelliJ.
Per eseguire tutti i test bisogna lanciare il comando:
mvn clean test -Dcucumber.filter.tags=@TestSuiteper macchina windows./mvnw clean test -Dcucumber.filter.tags=@TestSuiteper macchina unix like (linux, macos)
Se si vuole eseguire un test specifico bisogna lanciare il comando:
mvn clean test -Dcucumber.filter.tags=@nomeTestper macchina windows./mvnw clean test -Dcucumber.filter.tags=@nomeTestper macchina unix like (linux, macos)
Per lanciare singolarmente i test di un portale basta modificare il valore del -Dcucumber.filter.tags con: @mittente,
@PF, @PG
Inoltre è possibile cambiare il browser di esecuzione e l'ambiente dei test sostituendo i valori di default
che trovi
all'interno del file test-config.properties con i seguenti parametri:
browser=chrome
environment=test
Se si vuole far partire dall'ide di intellij i test usando il plugin di Cucumber, quindi i triangolini verdi
contrassegnati accanto ai test, basta creare una nuova run
configuration cambiando il template di
default di Cucumber Java.
- Andare in
Run -> Edit Configurations - Cliccare in basso a sinistra su
Edit configuration templates - Cliccare su
Cucumber Java - Inserire nel campo
VM optionsil seguente valore:-Dbrowser=chrome -Denvironment=teste configurarli a piacimento. - Applicare e premere OK
Warning
Se si hanno delle run configuration passate bisogna cancellarle e modificare il template di default seguendo i passaggi sopra, altrimenti non verranno eseguiti i test con i parametri aggiornati.
Tutte le variabili devono avere all'inizio il prefisso -D per essere riconosciute da maven.
Esempio: -Dbrowser=chrome
Lista:
browser: browser di esecuzione dei test. Valori possibili:chrome,firefox,edgeenvironment: ambiente di esecuzione dei test. Valori possibili:dev,testscreenshot: setruesalva gli screenshot in caso di fallimento dei test. Valori possibili:true,falseheadless: setrueesegue i test in modalità headless. Valori possibili:true,falselogFileName: nome del file di log. Esempio:-DlogFileName=nomeFilecookie.config: setrueinietta i cookie ad ogni scenario senza la comparsa del banner OneTrust. Valori possibili:true,falseloadComponentWaitTime: valore numerico che stabilisce i secondi di attesa per il caricamento di un componente web
Per lanciare i test dei recapiti in locale, bisogna prima stabilire una connessione ssm al exchanel da CLI (per la configurazione guardare il manuale).
Prima di effettuare il comando per la connessione bisogna fare la login con aws aws sso login --profile Esempio aws sso login --profile sso_pn-core-test
Esempio comando per l'ambiente di test:
aws --profile pn-test-core ssm start-session --target "i-0c7b5a5e1e47dcdff" --document-name AWS-StartPortForwardingSessionToRemoteHost --parameters "{\"portNumber\":[\"8080\"],\"localPortNumber\":[\"8887\"],\"host\":[\"internal-EcsA-20230504103152508600000011-1839177861.eu-south-1.elb.amazonaws.com\"]}"