## Introduction

Welcome to the Automated UI Test Framework. This library provides a structured, scalable way to write UI tests using Selenium and Pytest, implementing the Page Object Model (POM) pattern.

It acts as a wrapper around the `selenium-ui-test-tool` library to provide a higher-level architecture for your test projects.

## Installation

Install the package via pip:

    pip install Auomated-ui-test-framework

## Getting Started

To initialize a new project with the recommended structure, navigate to your desired directory and run:

    automated-ui-framework init

This command automatically scaffolds your project with:

- scenarios/: Directory for your Page Objects (e.g., `login.py`).
- tests/: Directory for your test scripts.
- data/: Directory for test data like credentials.
- conftest.py: Pre-configured fixtures for browser management.

## Creating a Page Object

All your Page Objects should inherit from the `Base` class provided by the framework. This gives them access to shared utilities and drivers.

    from automated_ui_test_framework.base import Base
    from selenium.webdriver.common.by import By

    class LoginPage(Base):
        def fill_form(self, username, password):
            # The Base class manages the driver instance for you
            self.fill_input(By.ID, "user", username)
            self.fill_input(By.ID, "pass", password)
            self.click_element(By.ID, "submit")

## Running Tests

Since the framework is built on top of pytest, you can run your tests using standard pytest commands:

    pytest tests/

The `conftest.py` included in your project will handle opening and closing the browser for each test function automatically.