di automazione di Test non è solo automatizzando l’applicazione. Direi che anche condividere i risultati dei test a livello di codice con il team fa parte dell’automazione dei test. Quindi, la squadra non dipende da nessun individuo per ottenere i risultati. Il team può anche intraprendere ulteriori azioni in base ai risultati del test senza alcun ritardo.
In questo articolo, vedremo come possiamo condividere i risultati dei test in Slack. Inoltre, come è possibile attivare un’esecuzione automatica della suite di test nel proprio strumento Jenkins / CI.
Slack
Usiamo Slack nella nostra organizzazione. Potresti anche utilizzare Slack per comunicare informazioni tra i membri del team nella tua organizzazione. Slack è un ottimo strumento e mantiene tutti aggiornati e riduce le email inutili.
Slack è un hub di collaborazione per il lavoro, non importa quale lavoro si fa. È un luogo in cui le conversazioni avvengono, le decisioni vengono prese e le informazioni sono sempre a portata di mano. Con Slack, la tua squadra è meglio connessa.
È possibile utilizzare questa applicazione on-off.sito
Slack — Jenkins CI App — Integrazione
presumo che la maggior parte di noi Jenkins Continuo di test automatizzato. Quindi, in questo articolo, ho fornito i passaggi per integrare Jenkins e Slack. Se usi altri strumenti come TeamCity, Bamboo, ecc., il processo sarà ancora quasi lo stesso.
Allentamento:
- Vai https://slack.com
- Sfoglia per ‘Jenkins’ app
- Installare Jenkins CI App nel tuo slack
- fare Clic su “Aggiungi Configurazione’
- Prendere nota del team di dominio e Token
- Selezionare il canale di cui vogliamo rappresentare i risultati
Jenkins
- Vai a Gestire Jenkins -> Gestione Plugin -> Scheda
- Installare Slack Notification Plugin
- Aggiornamento Slack dominio e token => Gestisci Jenkins -> Configurazione di Sistema> Global Slack Notificatore Impostazioni
- Fare clic su “Test di Connessione” — Si dovrebbe vedere il “successo” messaggio a Jenkins e il seguente messaggio di rallentamento del canale.
Jenkins — Prova di Lavoro
- Creare un Jenkins di lavoro per Test
- Aggiornare il post-costruire azioni come illustrato di seguito — con il messaggio personalizzato che si desidera
Jenkins PipeLine
aggiungere una chiamata al plugin
slackSend color: 'good', message: 'Message from Jenkins Pipeline'
Avanti, abbiamo bisogno di determinare il colore corretto e informazioni di testo del messaggio:
def notifySlack(String buildStatus = 'STARTED') {
// Build status of null means success.
buildStatus = buildStatus ?: 'SUCCESS'
def color
if (buildStatus == 'STARTED') {
color = '#D4DADF'
} else if (buildStatus == 'SUCCESS') {
color = '#BDFFC3'
} else if (buildStatus == 'UNSTABLE') {
color = '#FFFE89'
} else {
color = '#FF9FA1'
}
def msg = "${buildStatus}: `${env.JOB_NAME}` #${env.BUILD_NUMBER}:\n${env.BUILD_URL}"
slackSend(color: color, message: msg)
}
node {
try {
notifySlack()
sh 'runbuild'
} catch (e) {
currentBuild.result = 'FAILURE'
throw e
} finally {
notifySlack(currentBuild.result)
}
}
Sommario
Come parte del processo di test continuo, eseguiamo periodicamente gli script automatizzati utilizzando Jenkins. Solo tu, come ingegnere di prova, conosci principalmente i risultati. Altri membri del team potrebbero non essere a conoscenza dei risultati del test. Utilizzando strumenti automatizzati, possiamo creare script automatizzati e utilizzando l’API Slack possiamo condividere i risultati a livello di programmazione.
Creazione di un nuovo utente
Iniziamo con la creazione di un nuovo utente in Jenkins per slack da utilizzare. Prendere nota del token API.
L’ipotesi è che questo utente slack abbia accesso sufficiente per attivare il lavoro.
Eseguire il seguente comando CURL per verificare se l’utente è in grado di richiamare il lavoro.
Questo è il formato dell’URL. Sostituire il contenuto all’interno con informazioni appropriate.
curl -X POST http://@/job//build
Nel mio caso, ho provato come mostrato qui.
curl -X POST http://slack:[email protected]:8080/job/TEST_SMOCK_SLACK_JOB_DEMO/build
Comando Slack — Slash
Per richiamare il job Jenkins di cui sopra, useremmo i comandi slash di Slack. Quindi ogni volta che digiti qualcosa dopo una barra-per esempio:’ / smoketests ‘ — Slack lo tratterà come un comando e può rispondere al comando. Quindi, per questo esempio, Slack può essere configurato per fornire un bollettino meteo per la tua città.
Per invocare il lavoro Jenkins sopra, useremmo i comandi slash di Slack. Quindi ogni volta che digiti qualcosa dopo una barra-per esempio:’ / smoketests ‘ — Slack lo tratterà come un comando e può rispondere al comando. Quindi, per questo esempio, Slack può essere configurato per fornire un bollettino meteo per la tua città.
- Vai alla configurazione Slack per aggiungere la configurazione Slash.
- Ho intenzione di creare un comando di prova del fumo — così il mio team può attivare un test del fumo da slack per verificare lo stato dell’applicazione.
- Aggiungi l’impostazione di integrazione come mostrato qui. Fornire l’URL che dobbiamo chiamare per attivare il lavoro Jenkins.
- Selezionare la funzione di auto-aiuto completo
- una Volta che la configurazione è fatta, è possibile verificare immediatamente nel vostro margine di flessibilità. Basta digitare ‘/ s — – si poteva vedere il comando ‘smoketest’
- Richiamare il comando-Verificare se Jenkins è in grado di attivare il lavoro.
- Se il lavoro richiede un parametro, utilizzare il seguente formato URL per richiamare il lavoro con i parametri predefiniti.
curl -X POST http://@/job//buildWithParameters
- Se è necessario passare qualsiasi parametro specifico, è sufficiente aggiungere la variabile e il valore nel parametro.
curl -X POST http://@/job//buildWithParameters?ENVIRONMENT=UAT
- Per ottenere lo stato/il risultato del lavoro, il lavoro deve essere configurato per pubblicare i risultati su Slack. Si potrebbe controllare un articolo su che qui.
Nota
- Per far funzionare l’approccio di cui sopra, il server Jenkins dovrebbe essere accessibile da Slack. Assicurarsi che non sia bloccato dal firewall.
Sommario
I comandi Slack sono molto utili e sono utili per ottenere informazioni o per attivare qualcosa che potresti fare frequentemente. In questo modo, qualsiasi utente non tecnico nel team potrebbe farti utilizzare gli script di test automatici chiamando direttamente il comando slash.