Considerações de teste de UI

Azure DevOps Services | Azure DevOps Server | 2020 Azure DevOps Server | 2019 TFS 2018

Ao realizar testes automatizados no gasoduto CI/CD, poderá necessitar de uma configuração especial para realizar testes de UI como testes de Selénio, Ântão ou UI codificado. Este tópico descreve as considerações típicas para a realização de testes de UI.

Nota

Aplica-se apenas à Atualização 1 da TFS 2017 e posterior.

Nota

No Microsoft Team Foundation Server (TFS) 2018 e nas versões anteriores, os oleodutos de construção e libertação são chamados definições, as corridas são chamadas de construções, as ligações de serviço são chamadas pontos finais de serviço, as fases são chamadas de ambientes, e os empregos são chamados de fases.

Pré-requisitos

Familiarize-se com agentes e desloque um agente no Windows.

Modo sem cabeça ou modo de UI visível?

Ao executar testes de Selenium para uma aplicação web, pode lançar o navegador de duas maneiras:

  1. Modo sem cabeça. Neste modo, o navegador funciona normalmente, mas sem que sejam visíveis componentes de UI. Embora este modo não seja obviamente útil para navegar na web, é útil para executar testes automatizados de forma não acompanhada num pipeline CI/CD. Os navegadores Chrome e Firefox podem ser executados em modo sem cabeça.

    Este modo geralmente consome menos recursos na máquina porque a UI não é renderizada e os testes são executados mais rapidamente. Como resultado, potencialmente mais testes podem ser executados em paralelo na mesma máquina para reduzir o tempo total de execução do teste.

    As imagens podem ser capturadas neste modo e utilizadas para resolução de problemas.

    Nota

    Microsoft Edge navegador não pode ser executado no modo sem cabeça.

  2. Modo UI visível. Neste modo, o navegador funciona normalmente e os componentes de UI são visíveis. Ao realizar testes neste modo em Windows, é necessária uma configuração especial dos agentes.

Se estiver a realizar testes de UI para uma aplicação de ambiente de trabalho, como testes de Appium utilizando testes WinAppDriver ou UI codificados, é necessária uma configuração especial dos agentes .

Dica

Os testes de UI de ponta a ponta geralmente tendem a ser de longa duração. Ao utilizar o modo UI visível, dependendo da estrutura de teste, pode não ser capaz de realizar testes paralelos na mesma máquina, porque a aplicação deve estar em foco para receber eventos de teclado e rato. Neste cenário, pode acelerar os ciclos de testes executando testes em paralelo em diferentes máquinas. Consulte os testes de execução em paralelo para qualquer corredor de teste e testes em paralelo utilizando Visual Studio tarefa de Teste.

Testes de UI em modo UI visível

É necessária uma configuração especial para que os agentes escorram testes de UI no modo de UI visível.

Testes de UI visíveis utilizando agentes hospedados pela Microsoft

Os agentes hospedados pela Microsoft estão pré-configurados para testes de UI e testes de UI para aplicações web e aplicações de desktop. Os agentes hospedados pela Microsoft também estão pré-configurados com navegadores populares e versões de controlador web correspondentes que podem ser usadas para executar testes de Selénio. Os navegadores e os controladores web correspondentes são atualizados periodicamente. Para saber mais sobre a realização de testes de Selénio, consulte o teste de UI com Selénio

Testes de UI visíveis utilizando agentes de Windows auto-hospedados

Os agentes que estão configurados para funcionar como serviço podem executar testes de Selénio apenas com navegadores sem cabeça. Se não estiver a utilizar um browser sem cabeça, ou se estiver a realizar testes de UI para aplicações de ambiente de trabalho, Windows agentes devem estar configurados para funcionarem como um processo interativo com o início de súmito automático ativado.

Ao configurar os agentes, selecione 'Não' quando solicitado para executar como serviço. Os passos seguintes permitem-lhe configurar o agente com o início de súmula automático. Quando os seus testes de UI são executados, aplicações e navegadores são lançados no contexto do utilizador especificado nas definições de início de súmido automático.

Se utilizar o Remote Desktop para aceder ao computador em que um agente está a executar com o início de súm na imagem automática, basta desligar o Ambiente de Trabalho Remoto faz com que o computador seja bloqueado e quaisquer testes de UI que sejam executados neste agente podem falhar. Para evitar isto, utilize o comando tscon no computador remoto para desligar do Ambiente de Trabalho Remoto. Por exemplo:

%windir%\System32\tscon.exe 1 /dest:console

Neste exemplo, o número '1' é o ID da sessão de ambiente de trabalho remoto. Este número pode mudar entre sessões remotas, mas pode ser visto no Gestor de Tarefas. Em alternativa, para automatizar a descoberta do ID da sessão atual, crie um ficheiro de lote contendo o seguinte código:

for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
  %windir%\System32\tscon.exe %%s /dest:console
)

Guarde o ficheiro de lote e crie um atalho para o ambiente de trabalho e, em seguida, altere as propriedades do atalho para 'Executar como administrador'. A execução do ficheiro de lote a partir deste atalho desliga-se do ambiente de trabalho remoto, mas preserva a sessão de UI e permite que os testes de UI se escorrem.

Agentes de provisionamento em VMs Azure para testes de UI

Se estiver a atear máquinas virtuais (VMs) no Azure, a configuração do agente para testes de UI está disponível através do artefacto agente da DevTest Labs.

agentArtifactDTL

Definição da resolução do ecrã

Antes de realizar testes de UI, poderá ter de ajustar a resolução do ecrã de modo a que as aplicações se tornem corretamente. Para isso, está disponível uma tarefa de utilidade de resolução de ecrã no Marketplace. Utilize esta tarefa no seu pipeline para definir a resolução do ecrã para um valor que seja suportado pela máquina do agente. Por predefinição, este utilitário define a resolução para o valor ideal suportado pela máquina do agente.

Se encontrar falhas utilizando a tarefa de resolução do ecrã, certifique-se de que o agente está configurado para funcionar com o início de sessão automático ativado e que todas as sessões de ambiente de trabalho remotas são desligadas com segurança utilizando o comando tscon , conforme descrito acima.

Nota

A tarefa de utilidade de resolução de ecrã funciona no agente unificado de construção/libertação/teste e não pode ser utilizada com a tarefa de testes funcionais de execução precedidas.

Falhas na resolução de problemas nos testes de UI

Quando faz testes de UI de forma não acompanhada, capturar dados de diagnóstico como imagens ou vídeos é útil para descobrir o estado da aplicação quando a falha foi encontrada.

Captura de imagens

A maioria dos quadros de testes de UI fornecem a capacidade de capturar imagens. As imagens recolhidas estão disponíveis como anexo aos resultados dos testes quando estes resultados são publicados no servidor.

Se utilizar a tarefa de teste Visual Studio para realizar testes, as imagens capturadas devem ser adicionadas como resultado para estarem disponíveis no relatório de teste. Para isso, utilize o seguinte código:

Em primeiro lugar, certifique-se de que o TestContext está definido na sua classe de teste. Por exemplo: public TestContext TestContext { get; set; }

Adicione o ficheiro screenshot usando TestContext.AddResultFile(fileName); //Where fileName is the name of the file.

Se utilizar a tarefa 'Resultados dos Testes de Publicação ' para publicar resultados, os anexos de resultados de teste só podem ser publicados se estiver a utilizar o formato de resultados VSTest (TRX) ou o formato de resultados NUnit 3.0 .

Os acessórios de resultados não podem ser publicados se utilizar os resultados dos testes JUnit ou xUnit. Isto porque estes formatos de resultados de teste não têm uma definição formal para anexos no esquema de resultados. Em vez disso, pode utilizar uma das abordagens abaixo para publicar anexos de teste.

  • Se estiver a realizar testes no pipeline build (CI), pode utilizar a tarefa Copy and Publish Build Artifacts para publicar quaisquer ficheiros adicionais criados nos seus testes. Estes aparecerão na página de Artefactos do seu resumo de construção.

  • Utilize as APIs REST para publicar os anexos necessários. As amostras de código podem ser encontradas neste repositório GitHub.

Capture vídeo

Se utilizar a tarefa de teste Visual Studio para realizar testes, o vídeo do teste pode ser capturado e está automaticamente disponível como anexo ao resultado do teste. Para isso, tem de configurar o coletor de dados de vídeo num ficheiro .runsettings e este ficheiro deve ser especificado nas definições de tarefa.

runSettings

Ajuda e suporte