Gerando Relatórios com Python
Gerando saída JSON compatível com reporter e configurando relatórios com o Axe DevTools para Web para Python
axe-devtools-api produz resultados em um formato compatível com o Axe DevTools reporter.
Criando JSON compatível com o reporter
Axe.analyze() retorna um Results objeto. Ele pode ser convertido em uma string JSON compatível com o reporter via Results.to_json().
Aqui está um exemplo onde analisamos uma página e salvamos os resultados em um arquivo:
axe = Axe(driver)
results = axe.analyze()
with open("my_results.json", "w") as f:
f.write(results.to_json())Configurando o relatório
Os metadados do relatório são configurados via a ReportConfiguration classe.
Uma vez que um ReportConfiguration objeto está no estado desejado, ele pode ser aplicado a uma análise de duas formas:
-
Aplique-o a uma única análise passando-o para
Axe():report_config = ReportConfiguration().test_suite_name("my suite").ui_state("some state") axe = Axe(driver, report_configuration=report_config) results = axe.analyze() assert results.name == "my suite" assert results.id == "some state" -
Configure-o como padrão para todas as análises que não o sobrescrevam individualmente:
ReportConfiguration().test_suite_name("my suite").set_as_default() axe = Axe(driver) results = axe.analyze() assert results.name == "my suite"
Para obter a ReportConfiguration instância definida como padrão atualmente, chame ReportConfiguration.get_default().
axe_devtools_api.Results
Retornado por Axe.analyze(). Mantém as descobertas do axe-core e fornece métodos para inspecioná-las e serializá-las.
Propriedades
name
O nome da suíte de testes. Definido via ReportConfiguration.test_suite_name(). Padrão é "axe-run".
id
O identificador da análise — uma combinação do valor de estado da IU (definido via ReportConfiguration.ui_state()) e um UUID, unidos por um hífen. Padrão é "check-<uuid>".
Métodos
to_json()
Converte os resultados para uma string JSON compatível com o reporter.
is_axe_clean()
Retorna True se axe-core foi executado sem erro e não encontrou violações.
is_errored()
Retorna True se axe-core encontrou um erro durante a execução.
violations_report()
Retorna uma string legível ao humano resumindo quaisquer violações encontradas. Se axe-core apresentou erro, retorna a mensagem de erro em vez disso.
axe_devtools_api.ReportConfiguration
Configura os metadados do relatório, como o nome da suíte de testes e informações do agente do usuário.
report_config = ReportConfiguration().test_suite_name("my suite").ui_state("login page")
axe = Axe(driver, report_configuration=report_config)ReportConfiguration()
Crie um novo ReportConfiguration com valores padrão.
get_default()
Retorna o padrão atual ReportConfiguration. Observe que o padrão pode ser alterado via set_as_default().
set_as_default()
Defina este objeto como a configuração padrão para todos os Axe instâncias que não especificam as suas próprias.
reset_default()
Redefina a configuração padrão para seu estado inicial.
test_suite_name(name)
Defina o nome da suíte de testes. Usado como o name campo no Results objeto.
name: O nome do conjunto de testes.
Retorna este objeto para encadeamento.
ui_state(id)
Define o estado da interface de usuário para este conjunto de testes. Usado como o id campo no Results objeto.
id: Um identificador de string para o estado da UI (por exemplo, "login-page" ou "dark-mode").
Retorna este objeto para encadeamento.
user_agent(ua)
Define a string do agente de usuário registrada no relatório.
ua: A string do agente de usuário.
Retorna este objeto para encadeamento.
test_machine(t_machine)
Define o nome da máquina onde os testes foram executados.
t_machine: Um identificador para a máquina.
Retorna este objeto para encadeamento.
Veja Também
- Enviando Resultados de Acessibilidade JSON para o axe Reports descreve como enviar seus resultados para o axe Reports.
- Obtendo uma Chave de API do axe Reports explica como obter uma chave de API para começar a usar o axe Reports.
- Criando e Filtrando Relatórios mostra como você pode criar relatórios de acessibilidade em CSV, XML ou HTML a partir de seus resultados de acessibilidade JSON. Você também pode filtrar sua saída por gravidade usando esta ferramenta.
- Como Resultados JSON são Armazenados no Disco descreve as convenções de nomenclatura de arquivos para resultados de acessibilidade JSON.
- Usando a CLI para Enviar Resultados de Acessibilidade para o axe Developer Hub mostra como você pode enviar seus
.jsonarquivos de resultados para axe Developer Hub.
