Jenkins: Testes GUI de selenium não são visíveis no Windows

Quando executo meu teste de selenium (teste mvn) de jenkins (windows), vejo apenas a saída do console. Eu não vejo os navegadores reais sendo abertos. Como posso configurar o jenkins para que eu possa ver os navegadores executando o teste?

Eu tive o mesmo problema, eu tenho a solução depois de muitas tentativas.

Se você estiver usando jenkins como um serviço do Windows, você precisa fazer o seguinte:

1) No serviço do windows selecione o serviço de jenkins

Abrindo a exibição do Service.msc

2) Abrir janela de propriedades do serviço -> Logon-> ativar a checkbox de seleção “Permitir que o serviço interaja com a área de trabalho”

Propriedades de Jenkins

Depois disso, você deve reiniciar o serviço jenkins

Esta solução funciona apenas no Windows XP , espero que isso ajude você 🙂

Eu tenho a solução. Eu corri jenkins do prompt de comando como “java -jar jenkins.war” em vez da versão do Windows Installer. Agora eu posso ver meus testes baseados em navegador sendo executados.

Se você já está fazendo o que o @Sachin sugere em um comentário (ou seja, olhando para a máquina onde o Jenkins realmente roda) e ainda não vê os navegadores, então seu problema pode ser o seguinte:

Se você executar o Jenkins como um serviço em segundo plano, ele não abrirá aplicativos em primeiro plano. Você pode tentar executá-lo não como um serviço em primeiro plano ou executá-lo como uma conta do Sistema Local e marcar a opção Permitir que o serviço interaja com a área de trabalho . No último caso, você pode entrar em problemas de permissão, no entanto.

Atualização: Para garantir que essa resposta seja entendida corretamente por outras pessoas: A instalação nativa do Jenkins Windows não é realmente nativa. É um wrapper em torno do Java que o executa como um serviço.

No caso do Windows 7, você não deve instalar o Jenkins como aplicativo do Windows (porque nesta versão recente, a Microsoft decidiu fornecer serviços com seus próprios desktops ocultos, mesmo que você habilite a funcionalidade “interaja com o desktop” no serviço jenkins), você pode ter que implantar de um arquivo de guerra da seguinte forma:

1) Faça o download do jenkins.war do site oficial do Jenkins

2) Implante-o pelo prompt de comando: java -jar {directoryOfJenkinsFile} /jenkins.war

3) Agora você pode acessar a administração do Jenkins em http: // localhost: 8080

Espero que ajude você!

Para interagir com a GUI da área de trabalho, você deve iniciar o agente secundário por meio do JNLP: https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-LaunchslaveagentviaJavaWebStart

Depois de adicionar o nó no Jenkins (configurado como boot do Java Web Start), basta criar um script de lote de boot na máquina do nó:

 java -jar slave.jar -jnlpUrl http://{Your Jenkins Server}:8080/computer/{Your Jenkins Node}/slave-agent.jnlp 

(slave.jar pode ser baixado de http: // {Seu servidor Jenkins}: 8080 / jnlpJars / slave.jar)

Veja mais respostas aqui: Como executar testes de GUI em um escravo do windows do jenkins sem conexão de área de trabalho remota?

Este é um problema para Jenkins. no Windows, é possível acessar a session do usuário de logon (canvas) na conta do sistema. Para tornar o teste de UI visível, o Jenkins precisa ignorar o UAC (controle de access do usuário) no segundo plano. Essa solução funciona para mim com meu próprio serviço em execução como conta do sistema.

Há algum tempo eu uso o Jenkins como um serviço Windows 2008 R2 Standart (com permissão para interagir com o desktop).

Eu corri os testes de aceitação que funcionavam perfeitamente fora do sistema de continuous integration. Eu vi o navegador e o que está acontecendo lá. No entanto, no CI, não consegui ver o navegador e os testes falharam em ordem aleatória.

De acordo com: Isolamento da session 0 em serviços e drivers no Windows :

No Windows XP, Windows Server 2003 e versões anteriores do Windows, todos os serviços são executados na Sessão 0, juntamente com os aplicativos. Esta situação representa um risco de segurança. No Windows Vista, Windows Server 2008 e versões posteriores do Windows, o sistema operacional isola os serviços na Sessão 0 e executa aplicativos em outras sessões, portanto, os serviços são protegidos contra ataques originados no código do aplicativo.

Portanto, Jenkins deve ser executado a partir da linha de comando:

 java -jar jenkins.war --httpPort=... 

Observe que, se você já tiver o Jenkins CI configurado como um serviço do Windows, antes de implantar, você precisará especificar apenas JENKINS_HOME para o diretório que foi usado anteriormente – todas as configurações anteriores serão aplicadas.

Se jenkins instalado pelo instalador do windows está mostrando apenas apenas a saída do console. Para ver os navegadores, baixe o arquivo jenkins.war e execute java -jar jenkins.war na linha de comando. Vá até este site: http://learnseleniumtesting.com/jenkins-and-continuous-test-execution/