Genera report all'interno di CI/CD
Con axe DevTools Reporter, ora puoi generare report autonomi direttamente all'interno della tua pipeline di integrazione continua/distribuzione continua (CI/CD).
Segui i passaggi di base riportati di seguito per integrare il reporter nella tua pipeline Android o iOS.
Integrazione in una pipeline Android
Impostare i test automatizzati
-
Aggiorna i tuoi test automatizzati per salvare i risultati localmente, che potranno poi essere utilizzati per generare il report.
-
Aggiungi lo script qui sotto al file
build.gradledella tua app, subito dopo il bloccoandroid, e assicurati che non sia inserito in un altro task Gradle. Aggiungi il nome del pacchetto dell'app nellapackageNamevariabile. Questo script sposterà i risultati generati dalla tua esecuzione automatizzata nella directory report della build.
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
}
}
}Passaggi per generare il report
- Acceda al nostro Artifactory privato, Agora, con le sue credenziali Deque.
- Dal "Benvenuti, " <your_email>Dal menu a discesa, selezionare « Modifica profilo ».
- Clicchi su "Genera un token di identità".
- Si aprirà una finestra di dialogo che mostrerà l'opzione per copiare il token di riferimento.
- Crei un nome distintivo per l'Identity Token e lo aggiunga alla descrizione. L'esempio seguente utilizza
AGORA_IDENTITY_TOKENcome nome - Selezionare « Avanti ».
- Nella finestra di dialogo successiva, copi il Suo token di identità per utilizzarlo nello script seguente. Per una pipeline automatizzata, si assicuri di avere questo token disponibile nelle variabili di ambiente o nei segreti di progetto sulla Sua piattaforma.
Il token di identità è accessibile solo dall'interno della finestra di dialogo e Lei non potrà più visualizzarlo dopo averla chiusa. Questo token scadrà dopo 11 mesi e 30 giorni dalla sua creazione.
- Prima di eseguire i test o la build, recupera il reporter. Ecco uno script per iniziare:
# 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-
Crea la tua app ed esegui i test
-
Una volta terminati i test, avvia il reporter e specificare il percorso dei file JSON risultanti.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPersonalizza il formato di output (--format) con html, junit o csv.
Integrazione in una pipeline iOS
Imposta i tuoi test automatizzati
Aggiorna i tuoi test automatizzati per salvare i risultati localmente, che potranno poi essere utilizzati per generare il report.
Passaggi per generare il report
- Acceda al nostro Artifactory privato, Agora, con le sue credenziali Deque.
- Dal "Benvenuti, " <your_email>" dal menu a discesa, seleziona "Modifica profilo".
- Clicchi su "Genera un token di identità".
- Si aprirà una finestra di dialogo che mostrerà l'opzione per copiare il token di riferimento.
- Crei un nome distintivo per l'Identity Token e lo aggiunga alla descrizione. Nell'esempio seguente viene utilizzato
AGORA_IDENTITY_TOKENcome nome. - Selezionare « Avanti ».
- Nella finestra di dialogo successiva, copi il Suo token di identità per utilizzarlo nello script seguente. Per una pipeline automatizzata, si assicuri di avere questo token disponibile nelle variabili di ambiente o nei segreti di progetto sulla Sua piattaforma.
Il token di identità è accessibile solo dall'interno della finestra di dialogo e Lei non potrà più visualizzarlo dopo averla chiusa. Questo token scadrà dopo 11 mesi e 30 giorni dalla sua creazione.
- Prima di eseguire i test o la build, recupera il reporter. Ecco uno script utile per iniziare:
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-
Crea la tua app ed esegui i test.
-
Una volta terminati i test, avvia il reporter e specificare il percorso dei file JSON risultanti.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPersonalizza il formato di output (--format) con html, junit o csv.
