Pergunta

Nós usamos UI Automation e Nunit para criar testes testes de UI para aplicação WPF. Nós criamos testes que funcionam bem quando você executá-los a partir de uma máquina local. Esses testes não executar com êxito em nosso servidor de compilação (usando TeamCity). Desenvolver sempre travar após a janela do aplicativo de abertura. Mas se eu estou logado (desktop remoto), em nosso servidor de compilação todos UI Automation testes também executado com êxito. Então, eu estou supondo que ele provavelmente tem algo a ver com o funcionamento de sessão do Windows ativo. Alguma idéia de como convencer o nosso servidor de compilação para criar sessão de janelas ativas ou quaisquer outras soluções para fazer esses testes executados no servidor de compilação?

Foi útil?

Solução

Você não tem muitas opções. Vou listar os dois que eu sei, a opção preferida em primeiro lugar:

  • Configurar uma máquina virtual em seu servidor de compilação. Seu constrói executar na máquina virtual. Pode bloquear o host (aka sua buildserver) manter as coisas seguras.
  • manter alguém logado ligado o tempo todo. Este offcourse cria um problema de segurança. Você pode aliviar este problema um pouco, removendo o mouse, teclado e da tela e só acessar o buildserver através RDP ou algo similar.

Editar

Dê uma olhada neste TestComplete FAQ item de : Can TestComplete executar scripts quando o computador está bloqueado?

Outras dicas

OK, eu só estou supondo aqui.

Experimente e executar o serviço TeamCity com um usuário servidor de compilação local em vez da conta do sistema. Talvez você precisa se logar com a conta uma vez, antes de iniciar uma nova compilação.

Ele definitivamente parece que você precisa para executar os testes com uma sessão interativa em oposição a um serviço. Adicionando o "Permitir serviço para interagir com área de trabalho" pode ajudar, mas isso não é compatível com o Vista mais aparentemente.

Se você pode executar o seu constrói interactivley como uma linha de comando, não um serivice que deve funcionar também.

Nós utilizado para executar nossos testes UIAutomation usando o agente de carga studo 2008 visual para distribuí-los, correndo como uma ferramenta de linha de comando em VM sem nenhum problema.

Também concordo que você provavelmente should't ser a execução de testes de interface do usuário em um servidor de compilação uma parte de sua compilação diária.

Desenvolver sempre travar após a janela do aplicativo de abertura.

Os testes que instanciar a interface do usuário? Isso não vai funcionar, por exemplo, se você receber uma caixa de diálogo modal a construção irá travar. Esta é a razão pela qual o padrão MVP foi inventado, para isolar o código de apresentação activa a partir de uma vista de concreto.

Você está usando uma visão simulada em seus testes automatizados?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top