LogoLogo
PlatformUse CasesCommunityBlog
1.2
1.2
  • 🏠Home
  • 🍩PLATFORM
    • Architecture
    • Modules
      • Program & Beneficiary Management System
        • Program Management
        • Program Disbursement Cycles
        • Beneficiary Management
        • ID Verification
        • Beneficiary Registry
        • Eligibility
          • Proxy Means Test
        • Deduplication
        • Enrolment
        • Entitlement
        • Disbursement
          • In-kind Transfer
          • Digital Cash Transfer
          • Voucher
        • Self Service Portal
        • Document Management
        • Multi-tenancy
        • Notifications
        • Accounting
        • Administration
          • Multi-tenancy
          • RBAC
          • i18n
      • Social Registry
      • Registration Tool Kit
        • ODK Collection App
      • SPAR
      • G2P Cash Transfer Bridge
        • File-based Payment Backend
      • 4Sure Verifier
    • Monitoring and Reporting
    • Logging
    • Privacy and Security
      • Key Manager
      • Key Manager Architecture
    • Interoperability
    • Integrations
      • OpenG2P eSignet Integration
      • OpenG2P M-Pesa Integration
      • OpenG2P Mojaloop Integration
    • Technology Stack
    • Reference
      • ↔️API
    • Releases
      • 1.1.0
        • Release Notes
    • License
      • OpenG2P Support Policy
    • FAQ
  • ⛎USE CASES
    • Use Cases
      • Immediate Assistance On Demand
      • Registration using Self Service Portal
      • Registration in Low Connectivity Areas
      • Service Provider Reimbursement
  • 🗄️DEPLOYMENT
    • Deployment Architecture
    • Infrastructure Setup
      • Hardware Requirements
      • Wireguard Server Setup
      • Rancher Setup
      • NFS Server Setup
      • OpenG2P K8s Cluster Setup
      • Loadbalancer Setup
    • External Components Setup
      • PostgreSQL Server Deployment
      • Keycloak Deployment
      • Minio Deployment
      • ODK Central Deployment
      • Kafka Deployment
      • Logging & OpenSearch Deployment
      • Keymanager Deployment
      • eSignet Deployment
    • OpenG2P Modules Deployment
      • PBMS Deployment
        • Post Install Configuration
      • Social Registry Deployment
      • GCTB Deployment
      • SPAR Deployment
        • SPAR Post Installation Configuration
      • Reporting Deployment
    • Deployment Guides
      • Giving Access to Users
      • Packaging OpenG2P Docker
      • SSL Certificates using Letsencrypt
      • Install WireGuard Client on Desktop/Laptop
      • Install WireGuard Client on Android Device
      • Make Environment Publicly Accessible using AWS LB Configuration
  • 👨‍💻DEVELOPER ZONE
    • Getting Started
      • Installing OpenG2P On Linux
    • Repositories
      • openg2p-mts
        • MTS Connector
        • OpenG2P Registry MTS Connector
      • openg2p-documents
      • openg2p-formio
        • G2P Formio
      • openg2p-registry
        • G2P Registry: Rest API Extension Demo
        • G2P Registry: Additional Info REST API
        • G2P Registry: Bank Details Rest API
        • G2P Registry: Additional Info
        • G2P Registry:Bank Details
        • G2P Registry:Membership
        • G2P Registry: Group
        • G2P Registry: Individual
        • G2P Registry: Base
        • G2P Registry: Rest API
      • openg2p-program
        • OpenG2P Program Payments: In Files
        • OpenG2P Program: Documents
        • OpenG2P Program Payment (Payment Hub EE)
        • G2P Programs: REST API
        • G2P Program : Program Registrant Info Rest API
        • OpenG2P Entitlement: Differential
        • G2P Program Payment Manager: Payment Interoperability Layer
        • G2P Program Approval
        • OpenG2P Entitlement Voucher
        • OpenG2P Program Assessment
        • OpenG2P Program Reimbursement
        • OpenG2P Program Registrant Info
        • OpenG2P Program Payment Cash
        • OpenG2P Program Payment Simple Mpesa Payment Manager
        • OpenG2P Programs Cycleless
        • OpenG2P Programs Autoenrol
        • OpenG2P Entitlement In-kind
        • G2P SelfServicePortal
        • OpenG2P Program Payment: G2P Connect Payment Manager
        • G2P Notifications: Wiserv SMS Service Provider
        • G2P: Proxy Means Test
      • openg2p-testing
      • openg2p-fastapi-template
      • openg2p-fastapi-common
        • OpenG2P FastAPI Common
        • OpenG2P FastAPI Auth
        • OpenG2P Common: G2P Connect ID Mapper
      • social-payments-account-registry
      • g2p-cash-transfer-bridge
      • openg2p-deployment
      • openg2p-documentation
      • openg2p-helm
      • openg2p-theme
      • openg2p-portal-api
      • openg2p-mosip
      • openg2p-notifications
      • openg2p-packaging
      • openg2p-importers
        • G2P ODK Importer
      • openg2p-documents
      • openg2p-reporting
      • openg2p-self-service-portal
      • openg2p-portal
      • odoo-json-field
      • spar-ui
      • openg2p-auth
      • openg2p-voucher-scanner-app
      • openg2p-security
      • openg2p-mts
      • server-auth
      • openg2p-data
      • openg2p-esignet
      • spar-load-test
      • 4sure
    • Testing
      • Test Workflow
      • Automation Framework
  • 👩‍💻COMMUNITY
    • Contributing
    • Code of Conduct
  • 📔USER GUIDES
    • Platform Guides
      • Registration
        • Self Register Online
        • ODK
          • Create a Project for a Program
          • Create a Form
          • Upload a Form
          • Upload revised Form
          • Test a Form
          • Publish a Form
          • Provide Form Access to Field Agent
          • Download Form on ODK Collect
          • Delete a Form
          • Register Offline
        • ODK Importer
          • Customize the ODK Importer Configuration based on the ODK Form Fields
      • Authentication
        • Integrate with MOSIP e-Signet
      • Deduplication
        • Deduplicate Registrants
      • Eligibility and Program Enrollment
        • Enrol Registrants into Program
        • Program
          • Create Manager Type
            • Create Eligibility Manager Types
              • Create Default Eligibility Manager
              • Create ID Document Eligibility Manager
              • Create Phone Number Eligibility Manager
            • Create Deduplication Manager Types
              • Create ID Deduplication Manager
              • Create Phone Number Deduplication
            • Create Notification Manager Types
              • Create SMS Notification Manager
              • Create Email Notification Manager
              • Create Fast2SMS Notification Manager
            • Create Entitlement Manager Type
              • Create Default Entitlement Manager
              • Create Voucher Entitlement Manager
            • Create Payment Manager Types
              • Create Payment Hub EE Payment Manager
              • Create Payment Interoperability Layer Payment Manager
              • Create Default Payment Manager
              • Create Cash Payment Manager
              • Create File Payment Manager
          • Create Program
          • Map Self-Service Portal Form
          • Create Eligibility Manager under Program
          • Create Deduplication Manager under Program
          • Create Notification Manager under Program
          • Configure Program Manager under Program
          • Create Entitlement Voucher Template
        • Configuration
          • Configure Proxy Means Test
          • Configure ID Types
          • Configure Entitlement Manager under Program
          • Configure Payment Manager in Program
        • Approval
          • Create and Approve Program Cycle
          • Multi-Stage Approval
        • MTS Connector
          • Create MTS Connector
            • Create ODK MTS Connector
            • Create OpenG2P Registry MTS Connector
        • Settings
          • Create User and Assign Role
        • Website
          • Create Self-Service Portal Form
      • Notification
        • Send Notifications to Individual Registrants
        • Prepare and Send Payment
      • Entitlement
        • Install SmartScanner App
      • Cash Transfer
        • Reimbursement
          • Submit Reimbursement Using the Service Provider Portal
          • Reimburse the service provider
      • Accounting and Reporting
      • SPAR
        • Self Update ID with Financial Address information
        • Admin Guide to Link ID with Financial Address information
      • 4Sure
        • Verify Digital Credentials using 4Sure
        • Verify and Populate the form in ODK Collect using 4Sure
    • Documentation Guides
      • Documentation Guidelines
      • OpenG2P Module Doc Template
  • BLOG
    • Articles
      • OpenG2P and SDG Goals
      • OpenG2P - A Building Block for DPI
    • Case Studies
Powered by GitBook
LogoLogo

Copyright © 2024 OpenG2P. This work is licensed under Creative Commons Attribution International LicenseCC-BY-4.0 unless otherwise noted.

On this page
  • 1. Introduction
  • 1.1 Overview
  • 1.2 Purpose
  • 1.3 Technologies and Tools
  • 2. Prerequisites
  • 2.1 Test Framework Setup
  • 2.2 Test Data Preparation
  • 3. Test Case Design
  • 3.1 Test Scenarios
  • 3.2 Test Steps
  • 4. Data-Driven Testing Implementation
  • 4.1 Test Data Loading
  • 4.2 Test Execution
  • 5. Reporting and Logging
  • 5.1 Test Result Reporting
  • 5.2 Logging
  • 6. Test Environment Configuration
  • 6.1 Driver Configuration
  • 6.2 Test Environment Parameters
  • 7. Maintenance and Updates
  • 7.1 Test Data Updates
  • 7.2 Codebase Maintenance
  1. DEVELOPER ZONE
  2. Testing

Automation Framework

1. Introduction

1.1 Overview

The purpose of data-driven testing with Selenium automation is to enhance the efficiency, effectiveness, and coverage of your testing efforts by systematically testing your application with multiple sets of input data.

1.2 Purpose

Below points are the purposes for using a data-driven testing framework

  1. Increased Test coverage

  2. Efficiency and Reusability

  3. Regression Testing

  4. Validation of Input Data

  5. Scalability

  6. Exploratory Testing Support

  7. Parameterization

  8. Maintaining Test Data Separately

  9. Consistency and Reproducibility

  10. Compliance and Regulation Testing

1.3 Technologies and Tools

  1. Selenium WebDriver - This provides a programming interface to interact with web elements and automate tasks in web applications

  2. Java -

  3. Maven - This is being used as a Dependency Management tool.

  4. TestNG - TestNG is used as a framework and as a reporting tool as well.

  5. Log4j - It's used to log messages within software and has the ability to communicate with other services on a system.

  6. Apache POI - provides stream-based processing, that is suitable for large files and requires less memory. Apache POI is able to handle both XLS and XLSX formats of spreadsheets.

  7. Webdriver Manager - WebDriverManager can automatically download and manage WebDriver dependencies for different browsers such as Chrome, Firefox, Safari, and Edge.

  8. ReportNG -

2. Prerequisites

2.1 Test Framework Setup

Step 1: Set Up a Maven Project

Step 2: Add below mentioned Dependencies

  • Selenium Webdriver

selenium-java
  • Apache POI

poi
poi-ooxml
poi-ooxml-schemas
xmlbeans
commons-collections4
  • TestNG

testng
  • Webdriver Manager

webdrivermanager
  • log4j

log4j-api
log4j-core
  • ReportNG

reportng

Step 3: Create Data-Driven Test Class

Step 4: Create TestNG XML File

Step 5: Implement Data Provider

Step 6: Execute Tests

2.2 Test Data Preparation

  • The test data file format should be XLS or XLSX.

  • There should be a sheet with test data for each method and the sheet name should match the name of the method.

  • Each column name of the sheet should have a unique.

  • Any number of data can be passed

3. Test Case Design

3.1 Test Scenarios

  • Each Page should have its own test class and each scenario should have its own method.

  • All Sanity and Regression scenarios are to be covered.

  • Both scenarios can be run separately.

  • Negative scenarios are also covered

3.2 Test Steps

  • Provide both valid and invalid test data in the XLSX / XLS file

  • Provide only the required number of test data to avoid a longer run time.

4. Data-Driven Testing Implementation

4.1 Test Data Loading

  • XLX or XLSX files should be stored in

    user.dir + \src\main\resources\testdata

  • Mapping between the ReadXLSData class and the testdata should be done

  • Column Names of the sheets to be passed in the methods signature placeholder as parameters to fetch the data from the data provider.

4.2 Test Execution

  • Set up test Environment

  • Create Test class

  • Implement data provider

  • Run test classes

  • Analyze test results

5. Reporting and Logging

5.1 Test Result Reporting

  • TestNG is used as a report provider

  • Every class name is to be mentioned in the testng.xml file to be a part of a report

  • Should be able to generate HTML emailable report by running the testng.xml file.

  • An emailable-report.html and testing-failed.xml reports to be generated in the test-output file

5.2 Logging

  • log4j has been used as a logging tool

  • This will provide the log for each test method that fails during the test suite execution

  • Finding the exact error in the test suite execution will be easy

6. Test Environment Configuration

6.1 Driver Configuration

  • Driver configuration will be handled by the Webdriver Manager .

  • Webdriver Manager will manage the download, setup, and maintenance of the drivers required by Selenium WebDriver.

6.2 Test Environment Parameters

  • Users need to provide the browser name (Case insensitive) and URL of the environment in configfiles > config.properties.

7. Maintenance and Updates

7.1 Test Data Updates

  1. Identify the need for updates, considering application changes, data quality, and new scenarios.

  2. Update data in its source (e.g., Excel, database) to reflect current requirements and formats.

  3. Ensure data validity by including boundary and edge cases.

  4. Consider versioning data for tracking changes over time.

7.2 Codebase Maintenance

9.Conclusion

9.1 Summary

9.2 Future Improvements

PreviousTest WorkflowNextContributing

Last updated 1 year ago

👨‍💻