Jenkins: outside any screen error --- no real screen --- needs a fake screen

Asked by önder on 2018-10-07

Hi everyone,

I have created a maven project and I am using Sikulix 1.1.2 version in this project (because 1.1.2 is available at maven repository). And the other framework I am using to organize the test cases is TestNG. I also am using Java language. When I run the tests locally as maven test, everything goes very well. After that I decided to implement the project into pipeline. So the code is in the gitlab. I installed a Jenkins in to another workstation which has physical monitor always open. (Jenkins is running as windows service.) I integrated the jenkins with gitlab. Jenkins successfully checking out the codes from gitlab but when it triggers the test, cases get failed and and getting an error like "Location: outside any screen (46259874622,0) subsequent actions might not work as expected."

Project: maven project
java jdk: 1.8
Sikulix version: 1.1.2
TestNG version: 6.10

Is there any suggestion to solve the problem and run the test within this structure.
Thanks

Question information

Language:
English Edit question
Status:
Solved
For:
Sikuli Edit question
Assignee:
No assignee Edit question
Solved by:
önder
Solved:
2018-10-09
Last query:
2018-10-09
Last reply:
2018-10-08
RaiMan (raimund-hocke) said : #1

Your Jenkins implementation does not have access to a real screen, which is needed by SikuliX.

Look into the net for solutions, how to get a usually X11 based "fake screen" running in that environment.

The package xvfb for example is a candidate. I have this running on TravisCI (a cloud build system with features like Jenkins).

RaiMan (raimund-hocke) said : #2

BTW: version 1.1.4 is available either from OSSRH as snapshot or even as complete fat jar from the SikuliX download page.

önder (marquis06) said : #3

Hi RaiMan;

thanks for your quick response.
I forgot to tell that operation system is windows, so there is no solution like xvfb. But after your comment I searched for how to configure the jenkins to let it access to the screen and starting jenkins from command line is solved my problem. I was using jenkins as windows service.