Phase 3: DIGIT UI Automation Approach

UI Automation scripts for DIGIT application will be developed using Karate UI Automation framework. It will be integrated with the scripts of the existing API automation framework which is also developed using Karate framework.

Manual test cases will be generated to guide the UI automation.

Scope: 

The modules that are in scope for UI automation are listed below as per priority.

  • PGR

  • FSM

  • PT

  • echallan

  • HRMS

  • Trade License

  • Fire NOC

  • Bill genie

  • Building Plan approval

  • Water & Sewerage

  • Bill amendment



Manual Test cases Goals:

  • The test coverage will include functional and error validations in the UI.

  • Test cases will be created based on the new UI.

  • Manual test cases for the respective module to be completed and reviewed before automation starts.

  • Test cases to be created with provision for state level customisations.

Test Case Review:

  • The first level review to be done by the QA team and the second level review to be done by the product team.

  • SDET’s to pick up the reviewed test cases for automation.

  • Any further review comments to be communicated to SDETs.

Manual Test cases for POC 

  1. The new UI for property tax module is considered for POC. 

  2. Manual test ideas covering functional and validations can be found here

  3. The uses cases are generated for flows listed below based on new UI :

  • Citizen Creates a property Tax application

  • Employee Inbox

Automation Goals

  • Create a stable automation framework

  • Demonstrate traceability through reports

  • Provide consistency in execution of scripts

  • Improve Test Coverage

  • Cover E2E Functional Flows

  • Improve quality of the application

  • Handle state level customisations

About the framework:

  • Karate framework

    1. API Automation - Completed

    2. UI Automation for Desktop Browser - To Be Implemented

    3. UI Automation for Mobile Browser - To Be Implemented

  • Initial setup of karate framework - Completed

  • Setup for UI Automation - In Progress

  • Demonstrate framework after automating the initial scenarios - To Be Implemented

  • Adding Locators for Pages in the framework  - To Be Implemented

  • Adding generic methods for common page elements - To Be Implemented

  • Adding generic utility methods for UI automation - To Be Implemented

  • Defining state level customisations - To Be Implemented

  • Add configurations for cross browser testing using browserstack/saucelabs/aws device farm

Script Development for POC:

  • Property Tax module - To Be Implemented

Execution:

  • Local execution for developed scenarios - To be implemented

  • Running the scripts on CI/CD - To be implemented

  • Running scripts on different environment - To Be Implemented

  • Running scripts on different browsers

Analysis of failed scripts:

  • Rerun the failed scripts - To be implemented

  • Analyse, Debug and Fix - To be implemented

  • Log defect/issue if any - To be implemented

Reports:

Cucumber standard reports and metric reports for Karate Framework .

  • Execution reports - To Be Implemented

  • Execution report to be part of build CI/CD  - To be implemented

  • Automated Emailing of execution report - To be implemented

  • Weekly status reports - To be implemented

Automation Timelines:

  • To be defined based on POC efforts

Browsers:

  • Desktop Browsers

    • Chrome

    • Firefox

    • Safari

  • Mobile Browsers (will be tested by running scripts on browserstack/saucelabs/aws device farm as provided by eGov) 

    • Chrome

    • UC Browser (Officially not Supported)

    • Safari

    • Mobile Screen Resolution to be tested on Devices 

      • 720 x 1280 

      • 1080 x 1920 

      • 720 x 1440 

      • 1080 x 2160 

      • 720 x 1520

    • Mobile brands that need to be covered 

      • Xiaomi 

      • Samsung 

      • Vivo 

      • Oppo 

      • Realme 

Risk & Blockers:

  • Change in UI

  • Change in functionality

  • Performance of the application could hinder the automation progress

Dependencies:

  • Specification of devices on which tests need to run

  • Adding state level customisations for different environments

Testability requirements:

  • Static element IDs to ease the finding of locators and speed up the development of scripts

  • Test Data to be prepared as done in the API automation framework