This README provides a brief overview of my BDD Test framework "Beluga" to automate testing of web,mobile applications and web services.
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.
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
- Clone the project from Github to your IDE.
- Ensure dependencies from pom.xml file is downloaded into your .m2 folder.
To execute the test scripts, after completing above-mentioned steps
In IntelliJ IDE, follow below steps
- Click on Run --> Edit Configuration
- Add new TestNg configuration
- Add your desired Runner Name
- Add the Test runner(FeatureRunner) in the class
- Set the VM options
Set below parameter for VM Options to execute your Test Script
- -DPLATFORM="Browser Name or App"
- -Dcucumber.filter.tags="Tag for the Test case which needs to be executed"
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
- justEatTakeAwayCareers.feature
- justEatTakeAwayCRUDOps.feature
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
Once Test Execution is completed, the extent report folder is generated under "reports" folder with TimeStamp.
Use testResult.html file as Test Report
Since framework is integrated with github action after each execution, test report is published to github pages https://deepanmahalingam.github.io/beluga/
- Cucumber
- RestAssured
- Selenium
- Appium
- TestNG