A Tesztautomatizálás nem csak az alkalmazás automatizálását jelenti. Azt mondanám, hogy még a teszt eredményeinek programozott megosztása a csapattal is része a Tesztautomatizálásnak. Tehát a csapat nem függ az egyéntől, hogy megkapja az eredményeket. A csapat késedelem nélkül további lépéseket is tehet a teszt eredményei alapján.
ebben a cikkben megnézzük, hogyan oszthatjuk meg a teszt eredményeit a Slack-ben. Azt is, hogyan lehet kiváltani egy automatizált teszt suite végrehajtását a Jenkins / CI eszköz.
Slack
a Slack-et a szervezetünkben használjuk. Lehet, hogy a Slack-et is használja az információk közlésére az org csapattagjai között. A Slack egy nagyszerű eszköz, amely mindenkit naprakészen tart, és csökkenti a felesleges e-maileket.
a Slack egy Együttműködési Központ a munkához, függetlenül attól, hogy milyen munkát végez. Ez egy olyan hely, ahol beszélgetések történnek, döntések születnek, és az információ mindig kéznél van. A Slack segítségével a csapata jobban kapcsolódik.
akkor használja ezt az alkalmazást on-off.oldal
Slack-Jenkins CI App-integráció
feltételezem, hogy a legtöbben a Jenkins-t használják a folyamatos automatizált teszteléshez. Tehát ebben a cikkben megadtam a Jenkins és a Slack integrálásának lépéseit. Ha más eszközöket használ, mint például a TeamCity, a Bamboo stb., A folyamat továbbra is majdnem ugyanaz lesz.
Laza:
- ugrás a https://slack.com
- Tallózás a ‘Jenkins’ alkalmazás
- telepítse a Jenkins CI alkalmazást a slack – be
- kattintson a ‘konfiguráció hozzáadása’
- jegyezze fel a csapat domainjét és tokenjét
- válassza ki azt a csatornát, ahol az eredményeket fel akarjuk tüntetni
Jenkins
- menj a Jenkins kezelése – > pluginek kezelése – > elérhető lap
- telepítse a Slack-et Notification Plugin
- a Slack domain és a token frissítése => Jenkins kezelése – > rendszer konfigurálása – > globális Slack Notifier Beállítások
- kattintson a ‘ kapcsolat tesztelése ‘gombra — a jenkinsben a’ siker ‘ üzenetet, a slack csatornában pedig az alábbi üzenetet kell látnia.
Jenkins-teszt feladat
- hozzon létre egy Jenkins feladatot a teszthez
- frissítse a build utáni műveleteket az itt látható módon — a kívánt egyéni üzenettel
Jenkins PipeLine
hozzá kell adnia egy hívást a pluginhoz
slackSend color: 'good', message: 'Message from Jenkins Pipeline'
ezután meg kell határoznunk az üzenet helyes színét és információs szövegét:
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)
}
}
Összegzés
a Folyamatos Tesztelési folyamat részeként rendszeresen futtatjuk az automatizált szkripteket Jenkins segítségével. Csak Ön, mint tesztmérnök, többnyire ismeri az eredményeket. Lehet, hogy a csapat többi tagja nem ismeri a teszt eredményeit. Automatizált eszközök segítségével automatizált szkripteket hozhatunk létre, a Slack API használatával pedig programozottan oszthatjuk meg az eredményeket.
Új felhasználó létrehozása
kezdjük azzal, hogy létrehozunk egy új felhasználót a Jenkins-ben a slack használatához. Jegyezze fel az API tokent.
a feltételezés az, hogy ennek a slack felhasználónak elegendő hozzáférése van a feladat elindításához.
hajtsa végre az alábbi CURL parancsot annak ellenőrzésére, hogy a felhasználó képes-e meghívni a feladatot.
ez az URL formátuma. Cserélje ki a tartalmat megfelelő információkkal.
curl -X POST http://@/job//build
az én esetemben megpróbáltam az itt látható módon.
curl -X POST http://slack:[email protected]:8080/job/TEST_SMOCK_SLACK_JOB_DEMO/build
Slack — Slash parancs
a fenti Jenkins feladat meghívásához a Slack slash parancsait használjuk. Tehát, ha valamit perjel után ír be — például: ‘/smoketests’ – a Slack parancsként kezeli, és válaszolhat a parancsra. Tehát ebben a példában a Slack konfigurálható úgy, hogy időjárási jelentést nyújtson a városához.
a fenti Jenkins feladat meghívásához a Slack perjel parancsait használjuk. Tehát, ha valamit perjel után ír be — például: ‘/smoketests’ – a Slack parancsként kezeli, és válaszolhat a parancsra. Tehát ebben a példában a Slack konfigurálható úgy, hogy időjárási jelentést nyújtson a városához.
- nyissa meg a Slack konfigurációt a perjel konfiguráció hozzáadásához.
- létrehozok egy füstvizsgálati parancsot — így a csapatom füstvizsgálatot indíthat a slack-től, hogy ellenőrizze az alkalmazás állapotát.
- adja hozzá az integrációs beállítást az itt látható módon. Adja meg az URL-t, amelyet fel kell hívnunk a Jenkins-munka elindításához.
- válassza ki az automatikus teljes súgót
- a konfiguráció elvégzése után azonnal ellenőrizheti a Slack-et. Csak írja be a ‘/s’ parancsot — láthatja a ‘smoketest’ parancsot
- hívja meg a parancsot-ellenőrizze, hogy Jenkins képes-e kiváltani a munkát.
- ha a feladathoz paraméterre van szükség, használja az alábbi URL-formátumot Az alapértelmezett paraméterekkel rendelkező feladat meghívásához.
curl -X POST http://@/job//buildWithParameters
- ha át kell adnod egy adott paramétert, egyszerűen add hozzá a változót és az értéket a paraméterhez.
curl -X POST http://@/job//buildWithParameters?ENVIRONMENT=UAT
- a feladat állapotának/eredményének lekéréséhez a feladatot úgy kell konfigurálni, hogy az eredményeket visszaküldje a Slack-be. Itt megnézhet egy cikket erről.
Megjegyzés
- ahhoz, hogy a fenti megközelítés működjön, a Jenkins szervernek Slack-en keresztül elérhetőnek kell lennie. Győződjön meg arról, hogy a tűzfal nem blokkolja.
Összegzés
a Slack parancsok nagyon hasznosak és hasznosak az információk megszerzéséhez vagy valami olyan indításához, amelyet gyakran végezhet. Ezzel a csapat bármely nem technikai felhasználója felhasználhatja az automatizált teszt szkripteket a perjel parancs közvetlen meghívásával.