We implemented Jenkins CI with actual browsers. As soon as developers checks in new code, it triggers job and our selenium code does smoke testing. It works as a seperate process and it even gives us screenshot and complete result. I am not sure why headless browsers are in place and what's the pros of using the same?