Blended Automation Framework "Tips, Tricks & Utils" ~Yagnesh Shah


 Data-Driven & Hybrid

 Page Objects

 TestNg Annotations

 Multi Threading

  Parallel Execution

  Serial Execution

  Distributed Execution

 Modularized, Reusable & Maintainable Code & Data

 Dev-Process & Code Pre-Requisite

  Coordinate with Devs (For reliable locators):: Preferably, Id's for Web App, Content Description for Mobile App, or anything else of your choice

Tool Selection for Automation

 Web Automation :: App vs Tool Assessment

 Mobile Automation :: App vs Tool Assessment

 Flash Automation :: App vs Tool Assessment

Script Arhitecture

 High level Scripts (a.k.a Test Cases)

  Less logic more method calls

  One script for each test case within a Feature

 Low Level Scripts (a.k.a Methods specific to AUT)

  Method definitions/logic

  One file for each feature & not test case

 Utils (a.k.a Methods specific to cross-products/projects)

  Web Common Methods

for Web Automation

  Mobile Common Methods

for Mobile Automation

  HTTP client utils for API automation

  Select Browser

for Web Automation


  TestNg report parser + Google Doc update for results on real-time basis

  DB Common Methods

Test Data


  File Repositories





  Database Repositories





  Web Services



.Properties file

 Select Browser

  Control to choose a Browser to execute all suites/tests

 Domain URL

  Control to choose a domain URL (Staging/QA/UAT/Production) to execute all suites/tests

 DB Domain

  If multiple DB's are present in a single server, then choose a DB to connect

 Email & TestNG Report parser & Google Update execution flag

  Flag to enable/disable Email & TestNg Report Parser

 Google Parser properties for updating test results on real time basis






 Email properties







  . . .





  Dynamic Suite Name for Email Subject

 Other Project Specific properties


 Build.xml for Ant + TestNg + XSLT Report

 Test Automation Dashboard

 Use "Reporter.log("message",true)" from TestNg instead of "System.Out.Println()"

Harnessing power of Automation

 Make & Share Tools based on a prob/solution solved by us

 Be Smart :: Utilize Addon's & Tools available instead of making our own scripts

  Integrate Security Tools with WebDriver



  Link Checker browser addon



 Pandora's Box

 App vs Tool Assessment for Automation

 Sample Project to Kick Start Web/Mobile Automation

 Utils Collection

 Build.xml for Ant + TestNg + XSLT

 Test Automation Dashboard :: An open Source Tool from Moolya