QA Automation
DIGIT Test Automation framework majorly deals with various API services validation. It enables to test and validate back end services across all active environments and as well as tenants.
Scope
Framework is robust enough to function with minimal changes
Framework handles multi tenant with only properties update
Framework can switch environment with no manual update in automation code
Framework handles Kafka related services
Framework supports browser integration for making citizen payment via payment gateway
List of Services Completed
Core Services
egov-accesscontrol, egov-enc-service, egov-filestore, egov-idgen, egov-indexer, egov-localization, egov-location, egov-mdms-service, egov-notification-mail, egov-notification-sms, egov-otp, egov-persister, egov-pg-service, egov-searcher, egov-url-shortening, egov-user, egov-workflow-v2, pdf-service, report, telemetry, user-otp, zuul
Business Services
billing-service, collection-services, dashboard-analytics, dashboard-ingest, egf-instrument, egf-master, egov-apportion-service, egov-hrms
Municipal Services
bpa-calculator, bpa-services, firenoc-calculator, firenoc-services, land-services, property-services, pt-calculator-v2, rainmaker-pgr, sw-calculator, sw-services, tl-calculator, tl-services, ws-calculator, ws-services
E2E - Integration of services
E2E pt services, E2E ws services, E2E pgr services, E2E tl services, mCollect
Approach
Automation is accomplished by building a custom framework using Karate Framework. Karate Framework is a BDD framework which is written on top of cucumber. Unlike cucumber which requires us to write step definitions for each and every scenarios, Karate supports writing scenarios directly in the feature files.
Automation framework fetches data for respective modules wherever predefined values are required while creating a payload
And uses generic functions to generate random mobile number, name, etc to pass values for respective fields in payload
Framework allows to test kafka related services by using third party tool as a proxy to access kafka clusters via REST API called kafka Rest Proxy
Title | Description |
Karate Framework | |
Gherkin Language |
|
Cucumber | |
MDMS | |
Kafka Rest Proxy |
Tools Used
Environments currently working on
Observations
Currently there are failures in the automation scripts due to existing bugs
Since there are some limitations with Kafka Rest Proxy, Kafka related test cases will not run. Awaiting the required fixes in its upcoming release
Reference Docs
Doc Links
Title | Link |
Manual Test Cases | https://docs.google.com/spreadsheets/d/16BdbxgE4z38atk6MZBCRcw4_D4fL0AHEvblqGPSYJ_s/edit?usp=sharing |
Automation Source Code | |
Automation Readme | https://github.com/egovernments/test-automation/blob/master/README.md |
Kafka Approach Document | |
Sample Config File (for passing to execution command) | https://drive.google.com/file/d/19XDqJErhGrNegrmI2AxL9dsDqubxaWdo/view?usp=sharing |