Testes automatizados em máquinas virtuais usando o Hyper-V [closed]

2

Fui encarregado de automatizar o processo de testes do nosso departamento.
Para fazer o teste, primeiro tenho que instalar uma instalação do nosso aplicativo no sistema host e executar outro aplicativo, o testador, posteriormente.
O aplicativo testador usa um controle ActiveX para controlar o aplicativo instalado anteriormente. Para executar o aplicativo testador, preciso de uma interface gráfica, portanto, não posso executar os testes sem cabeça.

Para automatizar o processo, pensei em usar o script Hyper-V e Powershell para implantar automaticamente Windows VMs limpo, instalar a configuração, executar o aplicativo testador e destruir o VM posteriormente.

O processo de implantação funciona muito bem, mas agora vem a parte complicada de realmente executar o aplicativo testador sem interagir manualmente com o VM .
Inicialmente eu pensei que eu poderia controlar remotamente o VM via Powershell e apenas executar o aplicativo testador que, por sua vez, abre sua GUI e faz o teste.

Infelizmente eu estava errado. Eu pesquisei por um tempo mas não consegui encontrar nada até agora que funcionasse.

A minha pergunta é agora se a minha abordagem é viável e se é assim que eu resolvo o meu problema?

    
por TorbenJ 23.11.2017 / 18:00

1 resposta

2

O que eu faria seria definir um logon automático na VM com um usuário genérico para seus testes e criar um executável (ou um script) que você adicionaria em um dos locais de início automático do Windows C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp por exemplo.

Esse pequeno programa entrará em contato com um serviço da Web passando o nome da VM como um parâmetro na solicitação e, em seguida, o serviço da Web exibirá uma lista de tarefas ou um comando para iniciar na sua VM.

Em seguida, você pode criar uma ferramenta de gerenciamento para criar o relacionamento entre as VMs e as "tarefas".

Se você não quiser criar um webservice, pode simplesmente colocar arquivos de texto ou scripts do PowerShell em um compartilhamento de arquivos (o nome do arquivo seria o nome da VM, por exemplo) e só precisa iniciar / ler o arquivo correspondente quando a VM começa.

    
por 23.11.2017 / 18:41