Tesults - integrando seus testes automatizados
Tesults disponibiliza bibliotecas para integração em vários idiomas, incluindo -
- Python
- Node.js / JS
- Java
- C#
- Ruby
- Go
Também existe uma API REST disponível. Para carregar dados e arquivos gerados por teste, uma das bibliotecas deve ser usada.
Sem integração de código
Para algumas estruturas de teste, é possível integrar sem qualquer código usando as bibliotecas específicas da estrutura de teste que estão disponíveis.
As estruturas de teste que não requerem código para integração incluem -
- pytest
- Robot
- Jest
- Mocha
- JUnit5
- NUnit 3
O processo de integração é semelhante para todas essas bibliotecas.
Instalar plugin
Dentro do seu projeto de teste, instale o plug-in Tesults relevante. Por exemplo, se você estiver usando o pytest, isso é feito usando‘pip install tesults’ Seguido por ‘pip install pytest-tesults’. Se você estiver usando o Mocha, use‘npm install mocha-tesults-reporter – save’. Consulte o comando apropriado para sua estrutura de teste no site do Tesults.
Configurar Plugin
Alguns plug-ins não requerem configuração e estão prontos para uso imediatamente, alguns requerem uma pequena configuração. No caso do pytest, por exemplo, nenhuma configuração adicional é necessária e está pronto para uso.
No caso do Mocha, uma pequena mudança é necessária para o ‘mocha’ chamada, especificamente o repórter precisa ser especificado, ‘mocha --reporter mocha-tesults-reporter’. Consulte o site do Tesults para obter configurações específicas para a estrutura que você está usando, mas, em geral, a configuração é uma alteração de uma linha ou nenhuma alteração.
Passe Args
Existe um argumento obrigatório para passar para o plugin e outros argumentos opcionais. O argumento necessário é fornecer o token de destino Tesults. Este token foi gerado na criação do projeto para o destino padrão na página do tutorial anterior. Você pode obter um novo token se não tiver esse token no menu de configuração do Tesults. Clique‘Regenerate Target Token’ no menu de configuração.
Como passar o argumento depende de sua estrutura de teste e plugin. Por exemplo, no pytest, pode ser fornecido na chamada pytest‘pytest --tesults-target token_value’ou usando um arquivo de configuração. Para o Mocha é parecido, pode ser passado no mocha chamado‘mocha * --reporter mocha-tesults-reporter -- tesults-target=token’ ou pode ser passado em um arquivo de configuração.
O token de destino é o único arg necessário, há args opcionais para passar informações de compilação e fazer upload de arquivos. Consulte o site do Tesults para obter informações específicas sobre argumentos para sua estrutura de teste.
Executar testes
Execute seus testes e os resultados serão enviados ao Tesults.
Integração de código
Se você estiver usando uma estrutura de teste personalizada ou uma estrutura de teste para a qual o Tesults não tem uma biblioteca ou plugin específico, você precisa usar uma das estruturas de linguagem.
Aqui, daremos uma olhada no que está envolvido na integração para Python. Outras linguagens têm processos de integração muito semelhantes, consulte o site do Tesults para obter detalhes específicos para a sua linguagem de programação, mas siga este tutorial primeiro para ter uma ideia do processo -
Instalar biblioteca
Para Python, o seguinte é o comando -
pip install tesults
Para outras linguagens, o processo é semelhante, para frameworks de teste JS, você instala a biblioteca do npm, para Java você pode usar Gradle ou Maven, para C # os pacotes são hospedados no NuGet e Ruby os tem disponível como uma gema.
Configurar Biblioteca
Para Python, a configuração envolve apenas um require ‘tesults’em qualquer módulo que você deseja usar a biblioteca. Novamente, uma configuração semelhante é necessária em outros idiomas. Consulte o site do Tesults para obter a configuração específica para sua linguagem de programação.
Dados de teste de mapa
Essa etapa é algo que os plug-ins sem código permitem que você evite. Para a integração baseada em código, você deve mapear seus dados de teste para os dados de teste do Tesults.
Para Python, isso significa transformar cada resultado de caso de teste em um dicionário Python -
{
'name': 'Tutorial 1',
'desc':'Tutorial 1 .',
'suite': 'Tutorials Point',
'result': 'fail',
'reason': 'Assert fail in line 102, tutorialspoint.py',
'files': ['full-path/log.txt', 'full-path/screencapture.png'],
'_CustomField': 'Custom field value'
}
O nome e o resultado são obrigatórios. Todo o resto é opcional. O resultado deve ser um de‘pass’, ‘fail’, ou 'desconhecido'.
O conjunto é útil porque ajuda a grupos de casos de teste ao visualizar os resultados e ajuda a evitar conflitos de nomes. O motivo deve ser fornecido para casos de teste com falha.
Os arquivos são úteis para garantir que os logs e outros arquivos de teste sejam armazenados e possam ser visualizados junto com o caso de teste para o qual se destinam.
Você também pode ter qualquer número de campos personalizados; eles devem começar com o caractere sublinhado (_). Para cada caso de teste, crie um dicionário dessa forma e armazene-os em um array.
Resultados de upload
Para fazer upload de resultados, cada biblioteca fornece uma função de upload de resultados. No caso do Python, você precisa chamar o seguinte -
tesults.results(data)
onde o parâmetro de dados segue -
data = {
‘target’: ‘token’,
‘results’: {
‘cases’: [<your test cases>]
}
}
A matriz de casos é a matriz criada na seção acima.
Para outras linguagens de programação, o processo é exatamente o mesmo, apenas com mudanças de sintaxe.
Socorro
O site do Tesults tem uma maneira de solicitar ajuda para integração, se necessário.
Próximos passos
Neste ponto, a integração está completa e podemos ver como visualizar, analisar e agir a partir dos resultados do teste.