Integrating Selenium tests in Jenkins
Selenium works by invoking a browser, pointing it to a web server running your application, and then remotely controlling the browser by integrating itself in the JavaScript and DOM layers.
When you develop the tests, you can use two basic methods:
Record user interactions in the browser and later save the resulting test code for reuse
Write the tests from scratch using Selenium's test API
Many developers prefer to write tests as code using the Selenium API at the outset, which can be combined with a test-driven development approach.
Regardless of how the tests are developed, they need to run in the integration build server.
This means that you need browsers installed somewhere in your test environment. This can be a bit problematic since build servers are usually headless, that is, they are servers that don't run user interfaces.
It's possible to wrap a browser in a simulated desktop environment on the build server.
A more advanced solution is using Selenium...