For months, since the Selenium 3.0 had launched I had avoided using it because all I could think of was the huge effort it would have taken me to rebuild my projects, retest my working automation suites and the nightmare of seeing the failures after successfully being marked as pass. And I just kept avoiding accepting the change even though it was for the better. I believe that’s human nature.
So I chose to work with Selenium 2.53 version and firefox 46.0 version as it was the last supported version with selenium. The word geckodriver made me nauseous, I mean who choses a word like gecko it has this eerie feeling to it, don’t you think so? For some reason it kept me reminding of the character ‘Gollum’ from the Lord of the rings.
Yeah I hope you will now understand my fears!! I was soon to find out, that it was all baseless and irrational, like any fear is, specially the fear of unknown.
So one fine day, I decided to face it head off and to get over it. I sipped my ‘Dew’ which has a slogan ‘darr kea age jeet hai’ for those who don’t know hindi it means – ‘once you overcome fear you are bound to succeed’. So before we move ahead to understand what all changes are required to made at the script level, we should look at a few terms
Gecko is a web browser engine used in many applications developed by Mozilla foundation as well as in many other open source software projects. It’s a free open source software subject to the term of
Mozilla Public License version. So basically all the new versions of firefox are now built using the Gecko platform. The icon of it is as follows –
And needless to say I am not a big fan of lizards, I wonder from where these people get their inspirations. Jokes apart, now let us understand the other weirdly sounding name, though it has a musical touch to it. To know more about it go to this link – https://en.wikipedia.org/wiki/Gecko_(software)
If you want you can directly go to this link- https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette or read a shorter version of it here. It is an automation driver for Mozilla Gecko engine. It can remotely control the UI and the internal java script of the firefox browser and other browsers built on the gecko platform. Its behavior is similar to that of the Selenium Webdriver. It consists of two parts: A server which takes requests and executes them in Gecko, and a client, which sends commands to the server and the server executes the command inside the browser.
Gecko driver is basically software which forms a bridge between our browser firefox and the selenium. It can be downloaded from here – https://github.com/mozilla/geckodriver/releases, and we must upgrade to the Selenium 3.3 libraries for the language client to use them in our test script.
To understand the implementation of the Selenium 3.0 we will be using the following environment –
Steps To Follow
@Before
public void setUp() throws Exception {
System.setProperty(“webdriver.gecko.driver”,”D:\BUSINESS5 ELEMENTS LEARNINGSELENIUM WEBDRIVER//DRIVERgeckogeckodriver.exe”);
driver = new FirefoxDriver();
baseUrl = “http://5elementslearning.com/”;
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
This is all. In just three simple steps your tests will now run using Selenium 3.0 versions and geckodriver.
Needless to say, the gecko driver appears to me as a friendly ET whom I was afraid for no reasons. It is fun to watch all the tests upgraded to the latest selenium version and working seamlessly.