Skip to content

Beluga is a lightweight BDD automation framework using Java, Selenium, Appium, RestAssured, and TestNG. It supports web, mobile, and API testing with Cucumber for readable test scripts. Integrated with GitHub Actions for CI/CD, and publishes Extent Reports to GitHub Pages for easy visibility.

Notifications You must be signed in to change notification settings

deepanmahalingam/beluga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BELUGA FRAMEWORK

beluga

This README provides a brief overview of my BDD Test framework "Beluga" to automate testing of web,mobile applications and web services.

Introduction

Cucumber is a testing tool that supports Behavior Driven Development (BDD) framework. It allows you to write test cases in a natural language that is easy to understand for non-technical stakeholders. Selenium is a popular open-source testing tool used for automating web browsers. Appium is an open-source tool used for automating mobile applications. RestAssured is a Java library that provides a domain-specific language (DSL) for testing RESTful web services. Java is a popular programming language used for writing test scripts.

Getting Started

To get started with Beluga Framework, you need to follow below steps:

  • Install Java(JDK 18 or above) on your system.
  • Install IntelliJ IDEA as IDE.
  • Install below plugins in IDE for better user friendliness beluga
  • Clone the project from Github to your IDE.
  • Ensure dependencies from pom.xml file is downloaded into your .m2 folder.

Execute Test Scripts

To execute the test scripts, after completing above-mentioned steps

In IntelliJ IDE, follow below steps

  • Click on Run --> Edit Configuration

beluga

  • Add new TestNg configuration

beluga

  • Add your desired Runner Name

beluga

  • Add the Test runner(FeatureRunner) in the class

beluga

  • Set the VM options

beluga

Set below parameter for VM Options to execute your Test Script

  1. -DPLATFORM="Browser Name or App"
  2. -Dcucumber.filter.tags="Tag for the Test case which needs to be executed"

How to set VM Options parameters

Example VM options -DPLATFORM="Chrome" -Dcucumber.filter.tags="@JustEatTakeAwayAssessment"

Parameters accepted in -DPLATFORM

  • Chrome --> for GUI Testing
  • Restful --> for API Testing
  • iOS, iOSSimulator --> for mobile Testing

Cucumber Tags

Sample Test cases 1. UI Test and 2. API test

  1. justEatTakeAwayCareers.feature
  2. justEatTakeAwayCRUDOps.feature

beluga

you can retrieve any tags from the above feature file to execute the desired test or you can use global tab "@JustEatTakeAwayAssessment" to execute all test cases at once

Once after updating run configuration, RUN the project

TEST EXECUTION REPORT

Once Test Execution is completed, the extent report folder is generated under "reports" folder with TimeStamp.

Use testResult.html file as Test Report

beluga

Since framework is integrated with github action after each execution, test report is published to github pages https://deepanmahalingam.github.io/beluga/

Software products used in Beluga

  • Cucumber
  • RestAssured
  • Selenium
  • Appium
  • TestNG

About

Beluga is a lightweight BDD automation framework using Java, Selenium, Appium, RestAssured, and TestNG. It supports web, mobile, and API testing with Cucumber for readable test scripts. Integrated with GitHub Actions for CI/CD, and publishes Extent Reports to GitHub Pages for easy visibility.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published