Recently I set up Katalon KRE to run on a machine using Jenkins. For some reason, Jenkins won’t completely execute my Test Case, which on my local computer works flawlessly start to finish.
Jenkins executes the Test until a point where it seems a web page isn’t completely loading, showing me the headers of the web page, but a blank space where the web page contents should be. I tried a lot of various methods to find out what the issue could be:
Verifying that the Web page can be loaded fully on the machine by going to said page manually in Chrome
Adding Wait for Page Load
Adding Delay
Set Portviewsize to 1920x1080
Turning Smart Wait on and off
Turning off xpath auto healing
But it seems the page won’t load fully whatever I try. As far as the error log goes, the error that stops the entire Test Case from running is an object error. The object of course can’t be found because the page won’t load fully.
I wonder how you fix this if you did. have the same problem:
Having some scripts in jenkins headless or simply headless not working properly, with the UI they work PERFECT. those scripts I have running in headless mode are ignoring dynamic wait and smart wait.
Ive tried the following:
wait for element visible , tried 300 sec
wait for element clickable, tried 300 sec
wait for element present, tried 300 sec
smart wait
increased project settings overall time out set to 2000 and its like katalon ignores it.
resolution args 1920,1080
maximize windows
refresh
no success.
my environment:
Browser: chrome
katalon version: 7.4.0
Web software tech: AngularJS 1.5
Unfortunately, the problem stills persists on my end.
Coincidentally a colleague had a great idea of simulating a headless test case inside a local Docker container, that way he could troubleshoot what caused the errors using the browsers’ Devtools, as he could see “live” what was happening.
In any case when I manage to fix this, I’ll report back here
This is a classic headless/CI environment issue. When Jenkins runs Chrome headless, JavaScript-heavy pages (especially Angular) often fail to render fully because the browser deprioritizes resource loading and JS execution without a visible viewport.
Try running with Xvfb instead of headless mode. Install Xvfb on the Jenkins machine and set up the job to use a virtual display. In your Jenkins pipeline, wrap the Katalon command with xvfb-run:
This gives Chrome a real display buffer, which makes it behave much closer to a local interactive session. Headless Chrome has known quirks with SPAs and lazy-loaded content that Xvfb avoids entirely.
Also add these Chrome preferences in Project Settings > Execution > Web UI > Chrome: --disable-gpu,--no-sandbox,--disable-dev-shm-usage. The /dev/shm issue is common on CI agents with limited shared memory, causing Chrome to crash or stall silently on resource-heavy pages.
This is a known and fairly common limitation when running Katalon tests in Jenkins with Chrome headless, especially for JavaScript‑heavy apps like AngularJS.
Even though everything works locally (with a visible UI), Chrome headless behaves differently under CI, and the symptoms you’re describing are classic:
Page headers load, but content remains blank
Objects not found because Angular components never render
Smart Wait and explicit waits appear to be ignored
Increasing timeouts has no effect
So , this Jenkins failures with Katalon usually stem from running tests in Chrome headless mode, especially for JavaScript‑heavy apps like AngularJS. In CI environments, headless Chrome often deprioritizes rendering and JavaScript execution, causing pages to appear partially loaded and making Smart Wait or explicit waits unreliable. A proven workaround is to avoid headless mode and run Chrome with Xvfb, providing a virtual display buffer. This ensures proper page rendering, stable waits, and behavior consistent with local executions.