WebDriver is a library the assists us in interacting with the web browser same as humans would do. It is capable of executing tests on Firefox, Chrome, Safari, Internet Explorer, Ghost Driver and Opera deployed on any of Windows, OSX or Linux platform.
List of programming language supported for scripting is big. Some of the popular languages are Java, C#, Ruby, .Net, Python and Pearl
Java seems bit friendly to me, so in this post we will use that as our scripting weapon.
Selenium Webdriver Architecture
In simple words, initially code is written in any of the programming language using the webdriver client. It interacts with the webdriver api and finally command is sent to the browser driver wherein final action is performed.