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 -DskipTests
per macchina windows./mvnw clean install -DskipTests
per 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=@TestSuite
per macchina windows./mvnw clean test -Dcucumber.filter.tags=@TestSuite
per macchina unix like (linux, macos)
Se si vuole eseguire un test specifico bisogna lanciare il comando:
mvn clean test -Dcucumber.filter.tags=@nomeTest
per macchina windows./mvnw clean test -Dcucumber.filter.tags=@nomeTest
per 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 options
il seguente valore:-Dbrowser=chrome -Denvironment=test
e 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
,edge
environment
: ambiente di esecuzione dei test. Valori possibili:dev
,test
screenshot
: setrue
salva gli screenshot in caso di fallimento dei test. Valori possibili:true
,false
headless
: setrue
esegue i test in modalità headless. Valori possibili:true
,false
logFileName
: nome del file di log. Esempio:-DlogFileName=nomeFile
cookie.config
: setrue
inietta i cookie ad ogni scenario senza la comparsa del banner OneTrust. Valori possibili:true
,false
loadComponentWaitTime
: 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\"]}"