Thursday, 28 September 2017

Validate Website Performance using Google PageSpeed Insights

Google has developed a set of website Performance Optimization tools called 'Google PageSpeed'. It has 4 main components: PageSpeed Module, PageSpeed Insights, PageSpeed Service and PageSpeed Chrome Extension. These tools are built to idetify the flaws in website’s compliance with Google’s Web Performance Best Practices.Also, automate the flaw correction process.

PageSpeed Insights:


An online tool helps in identifying performance score on any website and provides suggestions on optimizations to make website faster. This can be accessed directly in any browser. It provides the webpage performance score on a scale from 0 to 100 for each url request, provides a report on suggested optimizations. It provides specific score for mobile & desktop & corresponding suggestions.

The scores fall under the below 3 categories:
Good: The page applies most performance best practices and should deliver a good user experience.

Needs Work: The page is missing some common performance optimizations that may result in a slow user experience.

Poor: The page is not optimized and is likely to deliver a slow user experience. Please prioritize and apply the recommendations below.

Monday, 17 July 2017

Integration of Selenium + Sikuli

Sikuli is a tool using Visual Recognition capability which automates anything seen on the screen of your computer running Windows, Mac, few Linux/Unix OS systems. It uses Image recognition powered by OpenCV to identify the GUI components.

The version of Sikuli is named as 'SikuliX'. It also comes with basic text recognition (OCR) feature to search text within images.Besides locating images on screen, it can handle mouse & keyboard events to interact with GUI elements. 

Friday, 19 May 2017

Selenium for Angular JS Pages


Selenium + NgWebDriver  =  Better AngularJS Support

Angular JS is a opensource web application framework based on Java-script. Any Angular JS implemented web page would have additional custom tag attributs like ng-app, ng-model, ng-bind, ng-repeat etc.

Automating the AngularJS based web application is possible using Selenium. However in certain cases where the web pages are built extensively using AngularJS  resulting in complex DOM structure, it is difficult to locate DOM elements with simple XPaths & CSS selectors.In this case, Protractor (an E2E test framework for Angular Applications) built on Java script version of Selenium makes it easy for identifying the locators easily.

Sunday, 19 March 2017

Voice Driven Testing using Perfecto Mobile

Most of the applications today started supporting voice commands either it is a desktop or a mobile.More & more functionalities are being supported by voice commands.

Testing these functionalities is very difficult as it requires audio files which are hard to edit / maintain them whenever required. Perfecto has come up with a better way to test these functionalities.

Steps to test Voice Driven Functionalities:
  1. Enter required text
  2. Convert Text to Audio
  3. Inject the generated Audio to application

Wednesday, 25 January 2017

Seamless Integration of Selenium + AutoIT

AutoIT is a freeware available to automate Windows GUI by simulating the combinations of mouse movements & key strokes. AutoIT has its own basic syntax, editor & control identification mechanism. However, to achieve the code level integration one can use 'AutoItX', packaged with AutoIT. This supports access to AutoIT functions using COM objects.

Monday, 16 January 2017

Extract Text & Images from PDF


Extracting text from PDF is not as simple as reading text from a text(.txt) file. One has to use suitable libraries to extract data from any pdf file. For example, Below code snippet shows one of the way to extract text or images from PDF file using Apache's PDFBox libraries.

Thursday, 24 November 2016

Visual / UI Test Automation using Selenium and Applitools Eyes

Visual / UI Testing is a methodology for validating the multiple visual aspects of Websites, Mobile apps and Desktop apps across multiple browser, resolution and OS combinations.

Visual / UI Testing is very important these days as more and more applications are getting web enabled. (i.e more of the standalone applications are being converted into websites) & most of the websites are eyeing on 'Responsive Web Design' to create a single website across multiple resolutions.The mobile apps designed for a platform has to support multiple screen resolutions or devices.

This type of testing is usually performed manually. However, now you can automate these type of tests using different automation tools available in the market. One such automation tool is Applitools Eyes which has the advantage of validating visual aspects within the existing Selenium scripts.

Friday, 28 October 2016

JDBC-ODBC Bridge support in Java 8

JDBC-ODBC Bridge offered lot of flexibility in connecting a data source. Many had used this bridge to connect & query MS Excel / MS Access as a database. Starting from Java 8, Oracle has removed this feature. This created a major blocker for many to upgrade to new Java version & many applications which were built based on this have failed.

As an interim solution, one can build an extension from jdbc classes of previous java version & add it to Java 8 extensions.

Follow the below steps to enable the JDBC-ODBC Bridge support in Java 8.

Thursday, 27 October 2016

Selenium 3 Impact & Changes

Selenium is out with new stable version - Selenium 3.0.1, and this blog would detail out changes & impact the new version of Selenium brings into automation testing. 

Selenium 3, is believed to have major changes in its implementation & quite a few changes to the existing automation.In Sel-3, the original Selenium Core is being taken off & replaced with the alternative implementation that’s backed by WebDriver. It means, Selenium RC users would run into issues & might need to tweak their scripts to support new implementation. However, for web driver users it is believed to be a simple drop-in upgrade.

Jenkins REST API / Remote API


Jenkins is a open source continuous integration tool written in Java.
It is a server-based system running in a servlet container such as Apache Tomcat. It supports SCM tools including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase and RTC, and can execute Apache Ant and Apache Maven based projects as well as arbitrary shell scripts and Windows batch commands.

Jenkins has provided the flexibility of accessing it through code by exposing REST based API.

Tuesday, 4 October 2016

Test SOAP Services using REST Assured API

REST Assured(RA) is a framework built on Java, developed to test the REST services. However we can test SOAP services too by forming the request in the below format.

RA has inbuilt support for multiple authentication like BASIC, OAuth, OAuth2, Form, Certificate, Digest, CSRF (Cross Site Request Forgery) etc.

RA out of the box has the support for BDD approach.

Follow the below steps to configure & test the SOAP web services.

Monday, 29 August 2016

How to read QR Code or Barcode from Images

Reading Barcodes / QR codes from images seems to be difficult & using the below open source libraries(ZXing - Zebra Crossing) provided by Google will make it simple for any application to include this functionality.

Curious on knowing how Android Apps scan the Barcodes or QR codes from the camera?

The android apps designed to scan 1D & 2D barcodes on a high level convert the data the camera into image bytes to the below library, which in-turn return the data embedded within the bar codes.

Follow the below steps to achieve the same.

Friday, 26 August 2016

Test REST Web Services using REST Assured API

REST Assured(RA) is a framework built on Java developed to test the REST services. It supports any HTTP method but has explicit support for GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH and includes specifying & validating like Headers, Cookies etc.

RA has inbuilt support for multiple authentication like BASIC, OAuth, OAuth2, Form, Certificate, Digest, CSRF (Cross Site Request Forgery) etc.

RA out of the box has the support for BDD approach.

Follow the below steps to configure & test the REST web services.

Tuesday, 16 August 2016

Text To Speech Using Voice RSS API

RSS Feeds are well known in the internet world. The new Voice RSS service brings the Speech Synthesis to a new level, where one can get the benefit of this feature with its Cloud Based Solution [SaaS] which requires no installation, no dependency on the technology, fast and accessible at all times.

Voice RSS exposes the Web Service / API to convert the given text into speech. 
Follow the below steps.

Friday, 12 August 2016

Convert Text to Audio using FreeTTS

Converting a text to audio may have multiple use cases in automation like creating the audio files for any data feed, voice driven tests etc.

FreeTTS[Free Text To Speech] is a library based on Java Speech API which is built on core technologies like Speech Synthesis and Speech Recognition.

Follow the below steps to configure & code to CONVERT TEXT TO AUDIO