selenium_automation_project/README.md

83 lines
3.0 KiB
Markdown

# Selenium UI Automation Project
This is a UI automation testing project based on Selenium and Pytest. It provides a basic framework for web UI testing, including page object model (POM), test case management, and test report generation.
## Features
- **Page Object Model (POM)**: Separates UI elements and business logic from test cases for better maintainability.
- **Pytest Framework**: A powerful testing framework for writing simple and scalable test cases.
- **Allure Reports**: Generates beautiful and detailed test reports.
- **Automatic Screenshots**: Automatically captures screenshots on test failure and attaches them to the Allure report.
- **WebDriver Manager**: Automatically manages the browser driver (ChromeDriver).
## Tech Stack
- **Language**: Python 3.x
- **Automation Tool**: Selenium
- **Testing Framework**: Pytest
- **Reporting**: Allure
- **Driver Management**: webdriver-manager
## Environment Setup
1. **Install Python**: Make sure you have Python 3.x installed. You can download it from the [official Python website](https://www.python.org/).
2. **Install Allure**: Allure is required to generate test reports. Follow the official instructions to install it on your system:
- [Install Allure Commandline](https://allurereport.org/docs/gettingstarted-installation/)
## Installation and Execution
1. **Clone the Repository**:
```bash
git clone <repository_url>
cd selenium_automation_project
```
2. **Install Dependencies**:
It is recommended to use a virtual environment to manage dependencies.
```bash
# Create and activate a virtual environment (optional)
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
# Install the required packages
pip install -r requirements.txt
```
3. **Run Tests**:
You can run all tests using the following command:
```bash
pytest
```
To run specific tests, you can use Pytest's markers. For example, to run only the smoke tests:
```bash
pytest -m smoke
```
For more detailed console output during test execution, you can use the `-v` (verbose) and `-s` (show print statements) flags:
```bash
pytest -vs
```
## Generating Test Reports
After running the tests, the Allure results will be saved in the `reports/allure_results` directory. You can generate the report in two ways:
### 1. Online Report (Temporary Preview)
This method starts a local web server to view the report. The report is temporary and will be gone once the server is stopped.
```bash
allure serve reports/allure_results
```
This command will automatically open the report in your default browser.
### 2. Offline Report (Persistent HTML)
This method generates a persistent HTML report that you can open and share.
```bash
allure generate reports/allure_results -o reports/allure_html --clean
```
This will create the report in the `reports/allure_html` directory. You can then open the `index.html` file in that directory to view the report.