Gerar Relatórios no CI/CD
Com axe DevTools Reporter, você pode agora gerar relatórios autossuficientes diretamente no seu pipeline de integração/implantação contínua (CI/CD).
Siga os passos básicos abaixo para integrar o reporter ao seu pipeline Android ou iOS.
Integração em um Pipeline Android
Configure seus Testes Automatizados
-
Atualize seus testes automatizados para salvar resultados localmente, que podem então ser usados para gerar o relatório.
-
Adicione o script abaixo ao seu arquivo
build.gradle, abaixo do blocoandroid, e certifique-se de que não está dentro de outra tarefa do Gradle. Adicione o nome do pacote do seu app na variávelpackageName. Este script moverá os resultados gerados a partir da sua execução automatizada para o diretório de relatórios da pasta de 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
}
}
}Passos para Gerar o Relatório
- Faça login no nosso repositório privado, Agora, com suas credenciais Deque.
- No menu suspenso "Bem-vindo, <seu_email>", selecione 'Editar Perfil'.
- Clique em 'Gerar um Token de Identidade'.
- Uma caixa de diálogo será aberta e mostrará a opção de copiar o Token de Referência.
- Crie um nome distinto para o Token de Identidade e adicione isso na descrição. O exemplo abaixo usa
AGORA_IDENTITY_TOKENcomo nome - Selecione 'Próximo'.
- Na próxima caixa de diálogo, por favor, copie seu Token de Identidade para uso no script abaixo. Para um pipeline automatizado, considere ter esse token disponível em suas variáveis de ambiente ou segredos de projeto para sua plataforma.
O Token de Identidade é acessível apenas dentro da caixa de diálogo, e você não poderá visualizá-lo novamente após fechá-la. Este token expirará 11 meses e 30 dias após sua criação.
- Antes de executar seus testes ou build, busque o reporter. Aqui está um script para começar:
# 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-
Construa seu app e execute seus testes
-
Uma vez que os testes tenham terminado, execute o reporter e especifique o caminho do arquivo dos arquivos JSON de resultados.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPersonalize seu formato de saída (--format) com html, junit ou csv.
Integração em um Pipeline iOS
Configure seus Testes Automatizados
Atualize seus testes automatizados para salvar resultados localmente, que podem então ser usados para gerar o relatório.
Passos para Gerar o Relatório
- Faça login no nosso repositório privado, Agora, com suas credenciais Deque.
- No menu suspenso "Bem-vindo, <seu_email>", selecione "Editar Perfil".
- Clique em 'Gerar um Token de Identidade'.
- Uma caixa de diálogo será aberta e mostrará a opção de copiar o Token de Referência.
- Crie um nome distinto para o Token de Identidade e adicione isso na descrição. O exemplo abaixo usa
AGORA_IDENTITY_TOKENcomo nome. - Selecione 'Próximo'.
- Na próxima caixa de diálogo, por favor, copie seu Token de Identidade para uso no script abaixo. Para um pipeline automatizado, considere ter esse token disponível em suas variáveis de ambiente ou segredos de projeto para sua plataforma.
O Token de Identidade é acessível apenas dentro do diálogo e não será possível visualizá-lo novamente após fechar o diálogo. Este token expirará 11 meses e 30 dias após sua criação.
- Antes de executar seus testes ou build, obtenha o repórter. Aqui está um script útil para começar:
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-
Compile seu aplicativo e execute seus testes.
-
Depois que os testes terminarem, execute o repórter e especifique o caminho do arquivo dos arquivos JSON de resultados.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPersonalize o formato de saída (--format) com html, junit ou csv.
