maven - Jenkins: Selen-GUI-test er ikke synlige på Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Når jeg kører min selen test (mvn test) fra jenkins (windows) ser jeg kun konsol output. Jeg kan ikke se de rigtige browsere åbnes. Hvordan kan jeg konfigurere jenkins, så jeg kan se browserne køre testen?

Bedste reference


Jeg havde det samme problem, jeg fik løsningen efter mange forsøg.


Hvis du bruger jenkins som en windows service, skal du gøre følgende:


1) I Windows-tjenesten vælg Jenkins service


Opening Service.msc view


2) Åbn egenskabsvinduet for tjenesten -> Logon-> aktiver afkrydsningsfeltet 'Tillad tjeneste at interagere med skrivebordet'


Jenkins Properties


Derefter skal du genstarte service jenkins


Denne løsning fungerer KUN Windows XP , håber det hjælper dig :)

Andre referencer 1


Jeg fik løsningen. Jeg sprang jenkins fra kommandoprompt som 'java -jar jenkins.war' i stedet for Windows-installationsprogrammet. Nu kan jeg se, at mine browserbaserede tests udføres.

Andre referencer 2


Hvis du allerede laver hvad @Sachin foreslår i en kommentar (dvs. kigger på den maskine, hvor Jenkins rent faktisk kører) og stadig ikke ser browserne, så kan dit problem være følgende:


Hvis du kører Jenkins som en tjeneste i baggrunden, vil du ikke åbne apps i forgrunden. Du kan enten prøve at køre den ikke som en tjeneste i forgrunden eller køre den som en Lokal system konto og tjek Tillad tjenesten at interagere med desktop valg. I sidstnævnte tilfælde kan du dog komme ind i tilladelsesproblemer.


Opdatering: For at sikre, at dette svar forstås korrekt af andre: Jenkins Windows 'native' -installation er ikke rigtig indfødt. Det er en wrapper omkring Java, der kører det som en tjeneste.

Andre referencer 3


I tilfælde af Windows 7 skal du ikke installere jenkins som Windows-applikation (fordi i denne nyere version besluttede Microsoft at give tjenester deres eget skjulte desktop, selvom du aktiverer funktionaliteten 'interagere med skrivebord' i jenkins service), skal du muligvis installere det fra en krigsfil som følger:


1) Download jenkins.war fra Jenkins officielle side [4]


2) Implementér det ved kommandoprompten: java -jar {directoryOfJenkinsFile}/jenkins.war


3) Nu kan du få adgang til jenkins administration på http://localhost: 8080


Håber det hjælper dig!

Andre referencer 4


For at interagere med desktop GUI, skal du starte slave agent via JNLP:
https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-LaunchslaveagentviaJavaWebStart[5]


Efter at have tilføjet noden i Jenkins (konfigureret som Java Web Start launch), skal du bare lave et start-batch script på node-maskinen:


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


(slave.jar kan downloades fra http://{Din Jenkins Server}: 8080/jnlpJars/slave.jar)


Se flere svar her:
Sådan kører du GUI-test på en jenkins windows slave uden ekstern desktop-forbindelse?

Andre referencer 5


Dette er et problem for Jenkins. På Windows er det muligt at få adgang til logon bruger sessions (skærm) under systemkonto. For at gøre UI-testen synlig, skal Jenkins bypass UAC (brugeradgang
kontrol) på baggrund. denne løsning virker for mig med min egen tjeneste, der kører som systemkonto.

Andre referencer 6


I nogen tid har jeg brugt Jenkins som en service Windows 2008 R2 Standart (med mulighed for at interagere med desktop).


Jeg har kørt accepttestene, der fungerede perfekt uden for det kontinuerlige integrationssystem. Jeg har set browseren, og hvad sker der. Men i CI kunne jeg ikke se browseren, og testene blev fejlet i tilfældig rækkefølge.


Ifølge: Session 0 Isolation på tjenester og drivere i Windows: [7]



  I Windows XP, Windows Server 2003 og tidligere versioner af Windows,
  alle tjenester kører i Session 0 sammen med applikationer. Denne situation
  udgør en sikkerhedsrisiko. I Windows Vista, Windows Server 2008 og
  senere versioner af Windows, isolerer operativsystemet tjenester i
  Session 0 og kører programmer i andre sessioner, så tjenester er
  beskyttet mod angreb, der stammer fra applikationskoden.



Således må Jenkins køres fra kommandolinjen:


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


Bemærk, at hvis du allerede har Jenkins CI, der er konfigureret som en Windows-tjeneste, skal du først bruge de tidligere indstillinger, før du installerer dig. Du skal kun angive JENKINS\_HOME til den mappe, der blev brugt tidligere.

Andre referencer 7


Hvis jenkins installeret af Windows installer det viser kun Console ud sæt kun. For at se browsere download jenkins.war fil og kør java -jar jenkins.war fra kommandolinjen.
Gå gennem dette websted:
http://learnseleniumtesting.com/jenkins-and-continuous-test-execution/[8]