Introduction - Hungryhub Automation Testing
Overview
A. Purpose
The primary purpose of automation testing at Hungryhub is to increase the efficiency, coverage, and speed of our software testing process. Automation testing allows us to perform consistent, repeatable tests to ensure software quality and reliability. By automating routine and complex tests, we can quickly identify defects, reduce manual testing efforts, and accelerate the feedback loop during development cycles. This ensures that new features are both functional and regression risks are minimized before production deployment.
B. Scope
Automation testing at Hungryhub is applied to several key areas to maximize its effectiveness
- Regression Testing: Ensuring that existing functionalities work as expected after changes (such as enhancements or bug fixes) are introduced.
- Smoke Testing: Conducted on major builds to ensure that the critical functionalities of the application are working as expected.
- Integration Testing: Testing the interfaces between components and interactions with different parts of the system.
- UI Testing: Focused on the graphical user interface to ensure elements are visible and function as intended under various conditions.
- API Testing: Validating the logic, performance, and security of the application interfaces. This approach allows us to maintain high standards of software quality and reliability, supporting Hungryhub's commitment to delivering exceptional products to our customers.
Tools and Technologies
Our automation testing framework leverages several advanced tools and technologies designed to streamline our testing processes and improve our software's reliability and performance. Below is an overview of the primary tools and technologies we use
| Testing Tools | Playwright JS | https://playwright.dev/ |
|---|---|---|
| Repository | Github | Web Automation Testing: https://github.com/hungryhub-team/hh-webautomation-testing |
| CI/CD | Github Action | |
| Design Pattern | Page Object Model | |
| Reporting and Metrics | Allure Report | https://allurereport.org/ |
Environment Setup
Setting up a proper testing environment is crucial for ensuring the reliability and consistency of our automation tests. This section outlines the steps required to configure the necessary tools and environments for our testing processes.
Prerequisites
Before setting up the environment, ensure that the following prerequisites are met:
- Node.js: Playwright JS requires Node.js. Ensure that you have Node.js installed. You can download it from Node.js official website.
- Git: Required for version control and for cloning repositories. Download and install from Git's website.
Setting up Playwright JS
- Install Playwright: Install Playwright and its dependencies using npm. Open your command line interface and run:
npm i -D playwright
- Verify Installation: Verify that Playwright is installed correctly by running:
npx playwright --version
- Browser Binaries: Playwright automatically downloads the necessary browser binaries for Chrome, Firefox, and WebKit. Ensure that these binaries are correctly installed by running the first test or using:
npx playwright install