Automation Framework: It is a set of guidelines, assumptions and process developed by experts in order to perform a task(s) in an effective, efficient and
optimized way. A systematic approach for automating s/w. Why Automation Framework: In one project test automation we use various files, we perform various tasks, in order to organize and manage them all, a systematic approach (Automation Framework) required. (files to be used: Flat files (.txt), Excel files (.xls) Object repository files (.tsr) XML files (.xml) Library files (.vbs) Test Scripts (.mts) Recovery scenario files (.qrs) Etc) (Tasks to be performed: Test Planning, Test script generation, Enhancing tests, Parameterization, Synchronization, Error handling, Scripts optimization, Entering regular expressions, calling functions and /or Actions, batch execution, defining and exporting test results) Types Of Automation Framework: Automation Framework is not a qtp feature, its a 3rd party concept. And this is purely local concept.(framework may vary from one company to another) 1. Record/Playback or Linear Framework (1st generation framework). 2. Modular Framework. 3. Data Driven Framework 4. Keyword Driven framework 5. Hybrid Framework In the above frameworks Keyword Driven framework is very famous in the industry. Keyword: 1. Any word used as the key to a code 2 A reserved word used to identify a specific command, function etc. (in our test automation example keywords are : Test Objects, Functions(built-in and user defined ), Methods,
Statements etc) Keyword Driven Approach: In this approach we use keywords for preparing tests. First we create tests and make them as functions, through framework we execute them and generate results. Key elements of Automation Framework: 1. Well defined folder structure 2. 3. 4. 5. initialization script Driver script input data spreadsheet process guidelines document
Why folder structure? In order to create, store, organize and manage files a well defined folder structure required. Folder structure is a mandatory element of any framework, but folder names may vary from one framework to another and company to another . Folder Structure: 1. Object Repository 2. Environment 3. Library a) Company b) Project Specific 4. Test data 5. Test log 6. Recovery scenarios 7. Miscellaneous And 1. 2. Initialization script (.vbs file) Driver script (QTP Script file)
1) Object Repository: In this folder we store object repository files(.tsr), all team members can use this repositories. 2) Environment: In this folder we store environment variables files(.xml), all team members can use this variables. 3) Library:this folder contains two sub folders one is for storing common functions of our company, another folder for storing our project specific functions(.vbs). 4) Test Data: in this folder we store test data required for data driven testing, for that we use either .xls files or .txt files or .mdb files. 5) Test Log: In this folder we store test result(excel sheet).
6) Recovery scenarios: In this folder we store qtp recovery scenarios files(.qrs). 7) Miscellaneous: in this folder we store the files other than above files(ex-process guideline doc and messages among team members and instructions by team lead etc). And 1Initialization script (.vbs file):it launches qtp tool and calls driver script, at end it closes qtp tool. 2.Driver script (QTP Script file):it is only the qtp script, we can associate all resources to this script(ex)