selenium-gourmet 0.2.2
Gerador de projetos Selenium com estrutura gourmet
Requires Python: >=3.7

# Selenium Gourmet

Gerador de projetos Selenium com qualidade gourmet 🍷, organizado e pronto para usar.

---

## 📚 Sumário

- [📌 Sobre](#-sobre)  
- [🚀 Funcionalidades](#-funcionalidades)  
- [📦 Instalação](#-instalação)  
- [🛠️ Uso](#️_uso)  
- [🗂️ Estrutura do Projeto Gerado](#️estrutura)  
- [✅ Exemplos de Código](#exemplos-de-código)  
- [🧪 Testes](#-testes)  
- [🤝 Contribuição](#-contribuição)  
- [📝 Licença](#-licença)  

---
<a id="-sobre"></a>
## 📌 Sobre


O **Selenium Gourmet** é uma ferramenta de linha de comando (CLI) que gera um projeto completo para automação com Selenium, seguindo uma arquitetura modular, escalável e elegante.

---
<a id="-funcionalidades"></a>
## 🚀 Funcionalidades

- ✅ Criação automática da estrutura de pastas e arquivos
- ✅ Configuração pronta para WebDriver (Selenium)
- ✅ Inclusão de exemplos básicos prontos para rodar
- ✅ Instalação automática de dependências
- ✅ CLI simples e poderosa

---
<a id="-instalação"></a>
## 📦 Instalação

### Local (modo desenvolvimento):

```bash
git clone https://github.com/natan33/selenium-gourmet
cd selenium-gourmet
pip install -e .
```

Ou instalar diretamente do PyPI (quando disponível):

```bash
pip install selenium-gourmet
```

<a id="️_uso"></a>
## 🛠️ Uso


Depois de instalada, use o comando gourmet para criar projetos novos:


```bash
gourmet --name meu-projeto --install
```

`OBS`: Caso esteja em Ambiente Global rode:

```bash
python -m selenium_gourmet --name meu-projeto --install
```

#### Parâmetros:

* `-name`: Nome do projeto a ser criado

* `--install`: Instala as dependências automaticamente

---
<a id="️estrutura"></a>
## 🗂️ Estrutura do Projeto Gerado


```
<nome-do-projeto>/
├── core/                  # Configuração de driver e serviços
│   ├── __init__.py
│   ├── config.py
│   └── driver.py
├── utils/                 # Utilitários e configurações
│   └── elements_google.py
├── pages/                 # Page Objects (interação com elementos)
│   └── page_google.py
├── controller/            # Regras de negócio e orquestrações
│   └── page_google.py
├── data/                  # Dados de entrada/saída
├── tests/                 # Testes automatizados
│   └── test_exemple.py
├── .env                   # Variáveis de ambiente
├── .gitignore
├── main.py                # Ponto de entrada (executa o projeto)
├── requirements.txt       # Dependências
└── README.md              # Documentação do projeto
```
<a id="exemplos-de-código"></a>
# Exemplos de Código


1. Exemplo simples de teste (arquivo: tests/test_exemple.py)
    ```bash
    def test_google_title():
        from core.driver import initialize_driver
        driver = initialize_driver()
        driver.get("https://www.google.com")
        assert "Google" in driver.title
        driver.quit()
    ```
2. Uso do driver no código principal (core/driver.py)
    ```bash
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from webdriver_manager.chrome import ChromeDriverManager

    def initialize_driver():
        service = Service(ChromeDriverManager().install())
        driver = webdriver.Chrome(service=service)
        driver.maximize_window()
        return driver
    ```

3. Exemplo de uso no arquivo main.py
    ```bash
    
    from core import create_main

    main = create_main()

    if __name__ == "__main__":
        main()

    ```

<a id="-testes"></a>
# Testes
Para rodar os testes do seu projeto gerado:

```bash
pytest tests/
```

<a id="-contribuição"></a>
# Contribuição
Contribuições são bem-vindas!
Abra uma issue ou envie um pull request com melhorias.

<a id="-licença"></a>
# Licença
Este projeto está licenciado sob a MIT License.