Genereer rapporten binnen CI/CD
Met Axe DevTools Reporter kun je nu zelfstandige rapporten genereren binnen je continuous integration / continuous deployment (CI/CD) pipeline.
Volg de basisstappen hieronder om de reporter te integreren in je Android- of iOS-pijplijn.
Integratie in een Android-pijplijn
Stel je geautomatiseerde tests in
-
Werk je geautomatiseerde tests bij naar resultaten lokaal op te slaan, die vervolgens kunnen worden gebruikt om het rapport te genereren.
-
Voeg het onderstaande script toe aan het
build.gradle-bestand van je app, onder hetandroid-blok, en zorg ervoor dat het niet binnen een andere Gradle-taak staat. Voeg je app-pakketnaam toe in depackageName-variabele. Dit script verplaatst de resultaten die zijn gegenereerd door je geautomatiseerde run naar de rapportmap van de buildmap.
def reportsDirectory = "$buildDir/reports/androidTests/connected/axe"
def packageName = "your.app.package.name.here"
def createAndroidFolderDirectoryTask = task('createAndroidFolderDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'mkdir', '-p', '/storage/emulated/0/Android/data/' + packageName + '/files/AxeTestCases'
}
def clearAndroidDirectoryTask = task('clearAndroidDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Android/data/' + packageName + '/files/AxeTestCases'
}
def fetchAndroidFolderAxeReportsTask = task('fetchAndroidFolderAxeReportsTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'pull', '/storage/emulated/0/Android/data/' + packageName + '/files/AxeTestCases', reportsDirectory
dependsOn {
createAndroidFolderDirectoryTask
}
finalizedBy {
clearAndroidDirectoryTask
}
doFirst {
new File(reportsDirectory).mkdirs()
}
}
def createDirectoryTask = task('createDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'mkdir', '-p', '/storage/emulated/0/Documents/AxeTestCases'
}
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
finalizedBy {
fetchAndroidFolderAxeReportsTask
}
}
def fetchAxeReportsTask = task('fetchAxeReportsTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'pull', '/storage/emulated/0/Documents/AxeTestCases', reportsDirectory
dependsOn {
createDirectoryTask
}
finalizedBy {
clearDirectoryTask
}
doFirst {
new File(reportsDirectory).mkdirs()
}
}
tasks.configureEach { task ->
if (task.name == 'connectedDebugAndroidTest') {
task.finalizedBy {
fetchAxeReportsTask
}
}
}Stappen voor het genereren van het rapport
- Log in op ons privé-artifactory, Agora, met je Deque-inloggegevens.
- Kies 'Profiel bewerken' in het "Welkom, <your_email>"-dropdownmenu.
- Klik op 'Genereer een Identiteitstoken'.
- Er verschijnt een dialoogvenster met de optie om het referentietoken te kopiëren.
- Maak een onderscheidende naam voor het Identity Token en voeg die toe aan de beschrijving. Het onderstaande voorbeeld gebruikt
AGORA_IDENTITY_TOKENals naam. - Selecteer 'Volgende'.
- In het volgende dialoogvenster, kopieer alstublieft je Identiteitstoken voor gebruik in het onderstaande script. Voor een geautomatiseerde pijplijn, zorg ervoor dat dit token beschikbaar is in je omgevingsvariabelen of projectgeheimen voor je platform.
De Identity Token is alleen toegankelijk vanuit de dialoog en je kunt deze niet meer bekijken nadat je de dialoog hebt gesloten. Deze token verloopt 11 maanden en 30 dagen na de aanmaakdatum.
- Haal de reporter op voordat je je tests of builds uitvoert. Hier is een script om te beginnen:
# Compatible with a Mac runner on GitHub Actions. Make changes to the Reporter download type and location based on your pipeline requirements.
AGORA_IDENTITY_TOKEN='<YOUR_AGORA_IDENTITY_TOKEN>'
curl --compressed \
-H "X-JFrog-Art-Api: ${AGORA_IDENTITY_TOKEN}" \
"https://agora.dequecloud.com/artifactory/axe-devtools-reporter-cli/prod/4.11.1/pkgs/@axe-devtools/reporter-cli-macos" \
--output "/Users/runner/reporter"
chmod +x /Users/runner/reporter-
Bouw je app en voer je tests uit
-
Nadat de tests zijn voltooid, voer de reporter uit en specificeer het pad naar de JSON-bestanden met de resultaten.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPas je outputformaat (--format) aan met html, junit of csv.
Integratie in een iOS-pijplijn
Stel je geautomatiseerde tests in
Werk je geautomatiseerde tests bij naar resultaten lokaal op te slaan, die vervolgens kunnen worden gebruikt om het rapport te genereren.
Stappen voor het genereren van het rapport
- Log in op ons privé-artifactory, Agora, met je Deque-inloggegevens.
- Kies "Profiel bewerken" in het "Welkom, <your_email>"-dropdownmenu.
- Klik op 'Genereer een Identiteitstoken'.
- Er verschijnt een dialoogvenster met de optie om het referentietoken te kopiëren.
- Maak een onderscheidende naam voor het Identity Token en voeg die toe aan de beschrijving. Het onderstaande voorbeeld gebruikt
AGORA_IDENTITY_TOKENals naam. - Selecteer 'Volgende'.
- In het volgende dialoogvenster, kopieer alstublieft je Identiteitstoken voor gebruik in het onderstaande script. Voor een geautomatiseerde pijplijn, zorg ervoor dat dit token beschikbaar is in je omgevingsvariabelen of projectgeheimen voor je platform.
De Identity Token is alleen toegankelijk vanuit de dialoog en je kunt deze niet meer bekijken nadat je de dialoog hebt gesloten. Deze token verloopt 11 maanden en 30 dagen na de aanmaakdatum.
- Voordat je je tests of build uitvoert, haal de reporter op. Hier is een handig script om mee te beginnen:
AGORA_IDENTITY_TOKENY='<YOUR_AGORA_IDENTITY_TOKEN>'
curl --compressed \
-H "X-JFrog-Art-Api: ${AGORA_IDENTITY_TOKEN}" \
"https://agora.dequecloud.com/artifactory/axe-devtools-reporter-cli/prod/4.11.1/pkgs/@axe-devtools/reporter-cli-macos" \
--output "/Users/runner/reporter"
chmod +x /Users/runner/reporter-
Bouw je app en voer je tests uit.
-
Nadat de tests zijn voltooid, voer de reporter uit en specificeer het pad naar de JSON-bestanden met de resultaten.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPas je outputformaat (--format) aan met html, junit of csv.
