A ‘how-to’ guide for test automation framework with Allure Reporting

The software industry has seen one of the most dramatic changes with the improved methodologies, Open-Source collaboration, DevOps and migration to the Cloud. This has in turn resulted in a reduction in time to market

GraphQL has a role beyond API Query Language- being the backbone of application Integration
background Coditation

A ‘how-to’ guide for test automation framework with Allure Reporting

The software industry has seen one of the most dramatic changes with the improved methodologies, Open-Source collaboration, DevOps, and migration to the Cloud. This has in turn resulted in a reduction in time to market an application from a few years to months. To keep up with these advancements and to deliver bug free software it has become essential to utilize Test Automation in Quality Assurance practice. 

To keep pace with swift development, we needed a test framework which able to handle all the current and future Quality Assurance requirements for Web Applications and microservices, routinely carry out testing/monitoring of individual Product Dashboards which were deployed across multiple environments and lastly should be able to provide prompt notification whenever any issues were observed. 

What were we going to achieve with test automation? 

A robust Automation framework which is scalable to handle all the Quality Assurance needs for Web Applications and microservices. With primary focus on the below criteria were taken into account for selection of framework: 

● Reusability of code. 

● Low maintenance. 

● No manual intervention. 

● Accuracy and reliability. 

● Email notifications. 

● Ability to cover e2e scenarios. 

● Concise reporting and precise logging. 

● Monitoring dashboard. 

● Future proof. 

● Platform independence. 

● Easy collaboration through version control. 

Design: 

The following diagram shows the Automation framework structure utilized to meet up with the above requirements:

JAVA: Most used programming language for test automation. Selenium and REST Assured(Open Source API testing library only for JAVA ) work best with JAVA. Other extensive libraries are available for most QA requirements. MAVEN: Build automation / Dependency management. 

ALLURE: Reporting Tool. 

Libraries: 

TestNG: Testing framework for JAVA. With ability to cover a wider range of test categories: unit, functional, end-to-end, integration, etc., with many powerful and easy-to-use functionalities. 

REST Assured: Open-Source JAVA library to automate API Testing 

Selenium: Open-Source library for web browser automation. 

Test Infrastructure setup: 

To automate and trigger the build process, the below test infrastructure was utilized.

JENKINS: Automation Server. 

GIT: Version Control 

Allure Report: Reporting Dashboard and logging 

Apache Web Server: Hosting reporting dashboard. 

Automation Approach: 

● Open Source: 

● Same Test Infrastructure for both API and UI Testing. 

● Cross browser testing. 

● Code reusability and easy to incorporate multiple environments. 

● Effort saving: The POM and PageFactory coding standard for Selenium makes it easy to maintain. Automated API request sending part to reduce coding required. 

● Reporting Dashboard: Test Execution Report can be hosted on the AWS EC2 instance by utilizing Apache Web Server and made available to all the project stakeholders. For further security, the Reporting dashboard can be password protected.

● Email Notification: 

Scripting has been done to create a custom Email HTML template which contains concise Test reports with relevant information. This email is further shared with appropriate stakeholders. 

Email notifications for different projects:

Conclusion: 

1. Automated and replaced the manual effort required in daily monitoring of multiple dashboards used by customers. This enabled the developers to act on any observed issues before customers. 

2. Business team is able to highlight any discrepancies in advance and provide prompt response to the same thus improving customer experience. 

3. Effort saving for Developers in reproducing issues owing to error screenshots and detailed logging in the Reporting Dashboard. 

4. The developed framework is scalable and should be able to handle additional customer dashboards with minimal efforts. 

Looking to authenticate the allure dashboard? 

Setup and secure the reporting dashboard.

Want to receive update about our upcoming podcast?

Thanks for joining our newsletter.
Oops! Something went wrong.

Latest Articles

Implementing custom windowing and triggering mechanisms in Apache Flink for advanced event aggregation

Dive into advanced Apache Flink stream processing with this comprehensive guide to custom windowing and triggering mechanisms. Learn how to implement volume-based windows, pattern-based triggers, and dynamic session windows that adapt to user behavior. The article provides practical Java code examples, performance optimization tips, and real-world implementation strategies for complex event processing scenarios beyond Flink's built-in capabilities.

time
15
 min read

Implementing feature flags for controlled rollouts and experimentation in production

Discover how feature flags can revolutionize your software deployment strategy in this comprehensive guide. Learn to implement everything from basic toggles to sophisticated experimentation platforms with practical code examples in Java, JavaScript, and Node.js. The post covers essential implementation patterns, best practices for flag management, and real-world architectures that have helped companies like Spotify reduce deployment risks by 80%. Whether you're looking to enable controlled rollouts, A/B testing, or zero-downtime migrations, this guide provides the technical foundation you need to build robust feature flagging systems.

time
12
 min read

Implementing incremental data processing using Databricks Delta Lake's change data feed

Discover how to implement efficient incremental data processing with Databricks Delta Lake's Change Data Feed. This comprehensive guide walks through enabling CDF, reading change data, and building robust processing pipelines that only handle modified data. Learn advanced patterns for schema evolution, large data volumes, and exactly-once processing, plus real-world applications including real-time analytics dashboards and data quality monitoring. Perfect for data engineers looking to optimize resource usage and processing time.

time
12
 min read