https://github.com/atiaron/grafana-automation-testing
Automation Testing for Web and API using Selenium, Pytest, and Allure.
https://github.com/atiaron/grafana-automation-testing
allure-report api automation pytest selenium testing webtesting
Last synced: 21 days ago
JSON representation
Automation Testing for Web and API using Selenium, Pytest, and Allure.
- Host: GitHub
- URL: https://github.com/atiaron/grafana-automation-testing
- Owner: atiaron
- Created: 2024-11-14T15:47:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-27T09:30:53.000Z (over 1 year ago)
- Last Synced: 2025-03-14T22:29:43.434Z (about 1 year ago)
- Topics: allure-report, api, automation, pytest, selenium, testing, webtesting
- Language: Python
- Homepage:
- Size: 2.92 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Grafana Automation Testing Project
## Welcome!
This project is my final creation from a software testing and automation course I completed. I poured everything I learned into it to make it as useful and cool as possible. This project brings together automation for web and API testing, focusing on well-structured code, advanced tools, and reports that make the results easy to understand.
## What Does This Project Do?
- **Web UI Testing Automation**: The project uses Selenium to validate the UI of web applications. It ensures that every button, text field, and form behaves exactly as it should.
- **API Testing**: Leveraging Python’s `requests` library, I tested various API calls to ensure the responses are correct and bug-free.
- **Data-Driven Testing**: All tests are powered by CSV files, enabling the execution of multiple scenarios to make sure the application handles everything we throw at it.
- **Fancy Reports**: Allure was used to generate reports that show what passed, what failed, and where improvements are needed. This way, even if you're not a coding expert, you can still understand what's going on.
- **Modularity and Readable Code**: The project is built in a modular way, which means it’s easy to add new tests, features, or make adjustments without losing your mind.
## How Is It Built?
- **`configuration/`**: Contains all the test configuration settings, from browser settings to Allure configurations.
- **`ddt/`**: Stores CSV files that provide all the data used for testing.
- **`extensions/`**: Custom actions like API calls, UI actions, and specific verification checks.
- **`page_objects/`**: Implements the Page Object Model (POM) to organize all page elements in a clean way.
- **`test_cases/`**: This is where all the test scripts live. It’s where the magic happens.
- **`utilities/`**: General tools that assist with managing the tests, like event listeners and configuration helpers.
- **`workflows/`**: Contains full test scenarios and business logic, all broken down in an organized manner.
## Tools and Technologies
- **Language**: Python – classic and reliable.
- **Automation**: Selenium and Pytest for running browser-based tests.
- **API Testing**: Python's `requests` library.
- **Reporting**: Allure – to make everything clear and easy to understand.
- **Data**: CSV format for flexible testing scenarios.
## Getting Started
1. **Clone the repository**:
```bash
git clone https://github.com/atiaron/Grafana-Automation-Testing.git
```
2. **Install the dependencies**:
```bash
pip install -r requirements.txt
```
3. **Run the tests**:
Use Pytest to run all tests:
```bash
pytest --alluredir=allure-results
```
4. **Generate a report with Allure**:
```bash
allure serve allure-results