Search code examples
seleniumautomated-testsprotractorappium

How to arrive at one unified test framework which will run tests on all presentation layers - Web,Mobile App & desktop App


Problem Statement: Being in Test Automation arena for quite some time, I always ran into this puzzle of how to design one integrated Test Strategy to run automated scripts across all the 3 UI layers which most latest apps support

  • Mobile App - Hybrid
  • Wed App - accessed through browsers
  • Desktop Apps

More Details

Any modern application supports all the above listed platforms and their are diverse tools to test each platform

  • Desktop - QTP, AutoIt libraries ....
  • Web - Selenium and selenium extensions like Protractor so on, QTP ...
  • Mobile App - Appium so on ..

But how do we design an effective Test Automation Framework which will involve writing the functional test case flow at one place - language agnostic and make it work across any platform that we want to execute on?

I have summarized my work so far as an answer below. Please feel free to throw around any ideas !!


Solution

  • The best way to achieve this as per my analysis is to write language agnostic cases in BDD Style using Cucumber and have separate implementations based on the platform the tests need to run

    I have summarized the complete architecture below.I have named it Panacea Framework :) I have blogged low level details here

    enter image description here