Headless Browser Testing Using HtmlUnitDriver in Selenium WebDriver

Headless Browser Testing Using HtmlUnitDriver In Selenium WebDriver

In the earlier post, we have given a brief explanation on what is headless browser and in this post, we learn how to perform headless browser testing using HtmlUnitDriver in Selenium WebDriver. HtmlUnitDriver is one of the drivers of Selenium WebDriver. HtmlUnitDriver and PhatomJsDriver are most popular headless browsers.

Headless Browser Testing using Selenium WebDriver

You could download HtmlUnitDriver Jar file from here. – Selenium HtmlUnit Driver

Html Unit Driver is currently the fastest and most lightweight implementation of WebDriver. As the name suggests, this is based on HtmlUnit. HtmlUnit is a java based implementation of a web browser without a GUI. HtmlUnit Driver is a well known Headless Browser driver. HtmlUnit Driver is similar to the other drivers such as Mozilla Firefox, Google Chrome, Internet Explorer but you couldn’t see the GUI of Html UnitDriver.

You can create a HtmlUnitWebDriver as shown below

Advantages of HtmlUnitDriver are:

  • Fastest implementation of WebDriver compared to other browsers
  • A pure Java solution and so it is platform independent.
  • Supports JavaScript
  • It allows you to choose other browser versions to run your scripts.

Usually, to run Selenium Scripts using Firefox, we initialize the Firefox driver.

Whereas while running Selenium Scripts using HtmlUnitDriver you need to write the below statement

Remaining statements in your script will be as usual.

Let’s see a working example on HtmlUnitDriver in Selenium WebDriver.

Output:

JavaScript In HtmlUnit Driver:

HtmlUnitDriver uses Rhino JavaScript engine. Other browsers are using separate JavaScript engine. So the test results may differ when compared to other browsers when you test JavaScript applications using HtmlUnit. By default, JavaScript is disabled in HtmlUnitDriver. Don’t worry, there is a way to enable it. J

It’s very easy to enable JavaScript support. We could enable JavaScript in HtmlUnitDriver in two ways

1. Enabling JavaScript while initializing the HtmlUnitDriver

2. Setting ‘setJavascriptEnabled’ to true

None of the popular browsers use the JavaScript engine used by HtmlUnit (Rhino). If you test JavaScript using HtmlUnit the results may differ significantly from those browsers.

Different Browser Versions using HtmlUnitDriver:

We could test our scripts on different browser versions using HtmlUnitDriver. Yes, it allows us to choose our preferred browser version. See the below screenshot.

I am concluding this post about headless browser testing using HtmlUnitDriver. In the next post, we will learn how to perform headless browser testing using PhanthomJSDriver in Selenium WebDriver.

As always, feel free to share this post with your friends and colleagues on Facebook, Twitter, and Google Plus!

Headless browser testing using HtmlUnitDriver

Rajkumar SM is a founder of SoftwareTestingMaterial. He is a certified Software Test Engineer by profession and blogger & youtuber by choice. He has an extensive experience in the field of Software Testing. He writes here about Software Testing which includes both Manual and Automation Testing. He loves to be with his wife and cute little kid 'Freedom'.

3 thoughts on “Headless Browser Testing Using HtmlUnitDriver in Selenium WebDriver”

  1. It’s better you also specify full flag dependency like which Selenium version needs to be used.

    • Hi Nimesh, thanks. Will try to do for the new posts.

  2. Here are the Version of different libraries to run htmlunitDriver-

    org.seleniumhq.selenium
    selenium-java
    3.8.0

    org.seleniumhq.selenium
    selenium-server
    3.8.0

    org.seleniumhq.selenium
    htmlunit-driver
    2.27

    net.sourceforge.htmlunit
    htmlunit
    2.27

    org.eclipse.jetty
    jetty-maven-plugin
    9.4.8.v20171121

Leave a Comment

Share via
Copy link
Powered by Social Snap