Thursday, January 4, 2018

Headless Automation Testing using Selenium and PhantomJS.

In the previous post How does Headless Testing helps in Software Testing? we have seen the advantages of Headless testing of a software. In this post we will learn executing a test case using headless browser.

There are different tools available for carrying out the headless testing some are listed below:
  • HtmlUnitDriver
  • PanthonJS
  • Nightmare
  • Headless Chrome
We will be focusing on headless testing using Selenium and PanthomJS. PanthomJS is a webkit which runs headless with an inbuilt JavaScript API. It has fast and native support for various web standards such as DOM handling, CSS selector and JSON.

PhanthomJS uses WebDriver Wire Protocal implementation, which is achieved by running the GhostDriver at the back end of the PanthomJS.

I will be using Eclipse, TestNG, and Selenium WebDriver for demo.

Step 1: Create a TestNG project and add the required Selenium Standalone Server jar file to the project.

Step 2: Download PanthomJS binary executable file from their official website and extract the files in it looks something like below

Step 3: Inside the bin folder we will find the executable file. Keep that executable in the project current directory, you can keep anywhere in the system to make it more structured i am keeping the required jar files in 'libs' folder in my case.

Step 3: Like we access geckodriver for Firefox, chromedriver for Chrome browsers we need to set the system property "panthomjs.binary.path" to access PhantomJS headless browser.

System.setProperty("phantomjs.binary.path", System.getProperty("user.dir")+"\\libs\\phantomjs.exe");

Step 4: We are done with setup. Write a test case and execute it as TestNG test

Step 5: Test execution is completed without launching a browser UI. It printed the title of the in the console as well

This is a gist about headless testing using PhantomJS. Please share your comments and suggestions on this topic. Thanks for reading!!

#seleniumbabu #HappyLearning


  1. Pretty blog, so many ideas in a single site, thanks for the informative article, keep updating more article.
    Software testing course in chennai

  2. Wonderful post!!Thank you for sharing this info with us.
    Keep updating I would like to know more updates on this topic
    Very useful content, I would like to suggest this blog to my friends.

    Best selenium Training Institute in Chennai

    best selenium training in chennai

  3. I have read your blog completely. It is very impressive one for all the viewers. Thanks for sharing this blog.

    selenium training in chennai

  4. I must thank you for the efforts you have put in penning this site. I am hoping to check out the same high-grade content by you later on as well. Keep up the good work
    software testing companies
    software testing tester
    software testing and quality assurance services
    Automation testing services


Selenium4: Working with two parallel windows in Selenium Automation

A new method newWindow() is introduced in Selenium 4 (Alpha). Using this method we can open a new tab or new window from the current window...