Rajesh
Rajesh

Reputation: 773

Jenkins : Selenium GUI tests are not visible on Windows

When I run my selenium test (mvn test) from jenkins (windows) I see only the console output. I don't see the real browsers getting opened . How can I configure jenkins so that I can see the browsers running the test?

Upvotes: 35

Views: 71657

Answers (9)

pablo casanovas
pablo casanovas

Reputation: 128

I also faced the same issue earlier in my local machine (Windows 10). My test was running perfectly from the NetBeans but when I moved to Jenkins it was only running in console mode. I was unable to view the UI.

So for that, you just need to make your local machine as a Jenkins slave by creating a new slave node in your Jenkins and select that node to execute the Jenkins job.

Upvotes: 1

Sentary
Sentary

Reputation: 2026

In the case of Windows 7 you should not install jenkins as windows application (because in this recent version, Microsoft decided to give services their own hidden desktop even you enable the functionality "interact with desktop" in jenkins service), you may have to deploy it from a war file as follows:

1) Download jenkins.war from Jenkins official site

2) Deploy it by the command prompt : java -jar {directoryOfJenkinsFile}/jenkins.war

3) Now you can access jenkins administration on http:// localhost:8080

Hope that helps you !

Upvotes: 5

Sentary
Sentary

Reputation: 2026

I had the same problem, i got the solution after many attempts. This solution works ONLY on windows XP

If you are using jenkins as a windows service you need to do the following :

1) In windows service select the service of jenkins

Opening Service.msc view

2) Open properties window of the service -> Logon-> enable the checkbox "Allow service to interact with desktop"

Jenkins properties

After then you should reboot the service jenkins

Hope this help you :)

UPDATE:

Actually, I'm working on a an automation tool using Selenium on Windows 10, I've installed Jenkins ver. 2.207 as windows application (EXE file), it's running as windows service and ALL drivers (Chrome, FireFox, IE) are visible during test executions WITHOUT performing a mere configuration on the System or Jenkins

Upvotes: 30

Subash
Subash

Reputation: 611

If you have the following situation,

  1. You are able to login to the remote machine
  2. You don't see the Jenkins agent window
  3. This slave machine is accessed by many users then try the following,

then try the following suggestion.

  • Login to slave machine
  • Go to Task manager
  • Users
  • Logout all the users
  • Then login again.

This worked for me.

Upvotes: 0

Divya C
Divya C

Reputation: 11

If jenkins installed by windows installer it is showing only Console out put only. To see browsers download jenkins.war file and run java -jar jenkins.war from command line. Go through this site: http://learnseleniumtesting.com/jenkins-and-continuous-test-execution/

Upvotes: 0

Noam Manos
Noam Manos

Reputation: 17010

To interact with desktop GUI, you should launch slave agent via JNLP: https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-LaunchslaveagentviaJavaWebStart

After adding the node in Jenkins (configured as Java Web Start launch), just make a startup batch script on the node machine:

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

(slave.jar can be downloaded from http://{Your Jenkins Server}:8080/jnlpJars/slave.jar)

See more answers here: How to run GUI tests on a jenkins windows slave without remote desktop connection?

Upvotes: 6

user2792870
user2792870

Reputation: 11

this is an issue for Jenkins. on Windows it is possible to access logon user's session (screen) under system account. to make the UI testing visible, Jenkins needs to bypass UAC (user access control) at background. this solution works for me with my own service running as system account.

Upvotes: 1

Rajesh
Rajesh

Reputation: 773

I got the solution. I ran jenkins from command prompt as "java -jar jenkins.war" instead of the windows installer version. Now I can see my browser based tests being executed.

Upvotes: 29

malenkiy_scot
malenkiy_scot

Reputation: 16615

If you are already doing what @Sachin suggests in a comment (i.e. looking at the machine where Jenkins actually runs) and still do not see the browsers, then your problem may be the following:

If you run Jenkins as a service in the background it won't open apps in the foreground. You may either try to run it not as a service in the foreground, or run it as a Local System account and check Allow the service to interact with desktop option. In the latter case you may get into permission problems, though.

Update: To make sure this answer is understood properly by others: Jenkins Windows 'native' installation is not really native. It's a wrapper around Java that runs it as a service.

Upvotes: 8

Related Questions