I am a learner of selenium webdriver and now want to code using framework.I don't have a detailed picture of when to use what in above said tools.I do know that these are build,version,integration tools but want to know the order of usage.I would be so thankful If anybody gives explanation about what goes on in real time environment?


The tools you name are used during different steps in the SDLC, they can be replaced by other alternative tools

Example (partial) development life cycle:

Programming -> Check-in to version control -> Schedule build and run build -> Run automated test against build -> Report failing tests/builds

Check-in to version control

After developers are finished with development they Check-In the code into a version control system, this to keep a history of all the changes. SVNs relation to Selenium testing is that you want to test against the latest version of the application. Also its advisable to keep the test-code close to the application code and I would version it in the same repository.

Schedule build and run build

The build-server / continuous integration server monitors the version control, checks out any changes and schedules a build against this version. Relation to Selenium testing is that Jenkins can prepare the application and set it up in such a state that you can run the tests against it. Its possible to use Maven as a tool to automate the building,integrating and or setup of the application instead of using shell scripts.

Run automated test against build

After the build is OK, the build-server checks out and starts the Selenium tests. Maven can be used to build and start tool that is fired by Jenkins to trigger the test start

Report failing tests/builds

The build-server reports any failing tests in its main overview or sends out e-mail to the person who broke or monitors the build.

Alternative tools:

|improve this answer|||||
  • your explanation is informative,but I want to know how to create builds using maven and syncing them to jenkins.can you give me any idea regarding that?. – Praveen Kadambari May 14 '14 at 6:55
  • Integrating Maven, Jenkins and Selenium is worth another question I think. But in short you start the Maven command with a Jenkins job, its output will be saved on the Jenkins server. No need to sync anything. Maybe this blogpost will help you get started: deors.wordpress.com/2012/02/02/selenium-webdriver-grid-3 With my previous team we combined Maven, Cucumber and Selenium into a framework, which we started from Jenkins, but maybe the setup is a bit to complex to learn from: github.com/gfk-ba/senbot – Niels van Reijmersdal May 14 '14 at 7:08

SVN is a version control system, it is not the only one in the market.

version control systems are used during development and deployment to... control versioning of your source code, documentation or binaries. Ideally it is used throughout the development process from the first day of development to the day the product is retired (and sometimes even beyond that). Version control systems are always used in real environments (except for maybe in very small startups).

Jenkins is a continuous integration tool, you use it during development to verify that your builds are not broken by running unit tests- small, fast and independent tests usually written by the developers. Sometimes it is used as a "plain" test executioner. Developers should adapt themselves to using continuous integration, so it is not always used.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.