What do Eclipse, JUnit, Maven, Ant, etc. do?

I periodically receive FAQ style questions. But I haven’t created an FAQ page… yet.

Recently there have been an influx of people on the free “Start Using Selenium WebDriver With Java” course, and they are a little confused by the amount of software they install.

Now the course does explain a little about what the software does when using them but the course hasn’t provided an overview… until now.

The text summary follows below the video:

We have some mandatory installs:

  • Selenium WebDriver
  • Java JDK
  • Firefox
  • JUnit

We install the Java JDK because we are writing and compiling Java code.

We install Firefox because Selenium WebDriver comes bundled with all the necessary drivers for Firefox so that becomes our default first browser to automate because Selenium WebDriver makes it easy to get started with Firefox out of the box.

We have to install Selenium WebDriver, otherwise we can’t automate anything. And when we use Maven, we don’t actually need to install it, we define it as a dependency, but if we use Ant we have to do additional work to install it.

We have to install JUnit because we use that as our default Test Runner and without it we can’t run any tests.¬†And again, when we use Maven, we don’t actually need to install it, we define it as a dependency, but if we use Ant we have to do additional work to install it.

The course has some Optional installs. You can follow the course completely without these. But they make it easier for me to work in windows, and make it clearer when I’m recording the videos, the actions that I’m doing.

  • Command Line Replacements instead of cmd: Console2 and ConEmu
  • Rapid Environment Editor instead of the default Windows Environment property editing dialog, which can be hard to see what changes have been made.

These are completely optional, and you don’t need to install them.

We need some sort of build system. Either:

  • Ant
  • Maven

You choose one, and only need to install one. I recommend Maven.

With Maven, you declare WebDriver and JUnit as dependencies in the project configuration file, the pom.xml, and maven will download those dependencies for you.

With Ant, again you have to declare the dependencies in a build.xml configuration file. But you also need to download and install Selenium WebDriver, and JUnit.

So maven makes it easier when you are getting started as you have a few less things to worry about getting right.

You need to install one of the IDEs:

  • IntelliJ
  • Eclipse

I recommend IntelliJ as people seem to have fewer out of the box issues with IntelliJ.

The Eclipse install and setup can vary between machines and beginner’s don’t need the additional hassle of trying to figure out why things aren’t working.

IntelliJ seems to work out of the box more easily.

So, your choice:

  1. Optionally install the helper tools,
  2. Install a JDK,
  3. Install Firefox,
  4. Choose which build system you want Ant, or Maven
    1. If you choose Ant then you will need to download Selenium WebDriver and JUnit
    2. If you use Maven, then you will configure maven to download Selenium WebDriver and JUnit for you
  5. Choose and install one IDE (I recommend IntelliJ)

Hopefully this helps people only follow the parts of the introductory course that they need to.


This entry was posted in Courses, FAQ, Java, WebDriver. Bookmark the permalink.

4 Responses to What do Eclipse, JUnit, Maven, Ant, etc. do?

  1. jerry says:

    Great! which brain tool you use in this video?

  2. Martin says:

    Hi Alan. I purchased Java For Testers beta book yesterday. I am planning on purchasing access to the Selenium 2 WebDriver Basics With Java course, as soon as I finish the free Start Using Selenium WebDriver With Java. I am thinking about also buying the Selenium Simplified ebook 2nd edition. However, I don’t want to purchase the SS ebook if all or most of its info is covered in the combined 3 resources I definitely will use: (1) JFT book, (2) S2WDBWJ course, and (3) SUSWDWJ course.

    I know the focus of SS is Selenium RC, not WebDriver. Still, as I look thru the SS section called “What will I learn” (compendiumdev.co.uk/selenium), virtually all of the listed topics are on things I don’t know but want to know. Please, would you help me get a good idea of how much of the SS content is included in the 3 resources I will be using, and how much is not included? Approximations in percentages works for me. Finally, will you specify what SS content IS NOT included in the 3 resources, please?

    • Alan says:

      Hi Martin,

      Thanks for the question.

      The WebDriver course, covers most of the items listed on the “Selenium Simplified” page – but does it using WebDriver, not Selenium-RC

      As a result, the Selenium-RC specific items are not covered:

      1. Understanding the JUnit SeleneseTestCase class
      2. Automatically starting the Selenium Server from your tests
      3. How to use the Selenium Backed WebDrivers
      4. Creating custom base classes to make your test writing easier

      I don’t cover the IDE at all on the WebDriver course:

      1. Creating your first test using the IDE
      2. Converting the IDE scripts to Java

      “Selenium Simplified” book has a different style. It walks the user through everything explaining Java, and Selenium as it goes. The WebDriver course doesn’t cover the basics of Java as much, which is why Java For Testers exists. Java For Testers explains Java much more than “Selenium Simplified”

      Selenium-RC is only covered in “Selenium Simplified”

      The WebDriver course uses Maven and IntelliJ:

      1. Running tests outside Eclipse using Ant

      Hope that helps,


Leave a Reply

Your email address will not be published. Required fields are marked *