-
Notifications
You must be signed in to change notification settings - Fork 0
3. Resolving dependencies for the project and WebDriver binaries
We resolve all of the application libraries from Maven. Maven takes care of the projects builds. It downloads all of the dependencies that we will need and adds them to the classpath so that we can use them.
This means that no matter where we use the tests, we always use the given versions of libraries and we always do it in the same.
This helps too (but doesn't eliminate) the whole "works on my machine" thing.
Selenium uses drivers that are compiled for specific operating system/browser combinations. These drivers are issued by the browser vendors and must be available to WebDriver to be able to launch and control browsers on a machine.
Frequently people download and store the binaries in repositories like this one. But, that increases the time for tools like Jenkins to check out a project (the binaries can be big) and maintaining them over time just makes the git footprint even bigger.
We're using a library built by a spanish fella called Bonie Garcia to resolve the browser binaries and add their paths to the the environment variables for WebDriver to work with. It's nicer all round.