Gerador de projetos Selenium com estrutura gourmet
Project description
Selenium Gourmet
Gerador de projetos Selenium com qualidade gourmet 🍷, organizado e pronto para usar.
📚 Sumário
- 📌 Sobre
- 🚀 Funcionalidades
- 📦 Instalação
- 🛠️ Uso
- 🗂️ Estrutura do Projeto Gerado
- ✅ Exemplos de Código
- 🧪 Testes
- 🤝 Contribuição
- 📝 Licenç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.
🚀 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
📦 Instalação
Local (modo desenvolvimento):
git clone https://github.com/natan33/selenium-gourmet
cd selenium-gourmet
pip install -e .
Ou instalar diretamente do PyPI (quando disponível):
pip install selenium-gourmet
🛠️ Uso
Depois de instalada, use o comando gourmet para criar projetos novos:
gourmet --name meu-projeto --install
OBS: Caso esteja em Ambiente Global rode:
python -m selenium_gourmet --name meu-projeto --install
Parâmetros:
-
-name: Nome do projeto a ser criado -
--install: Instala as dependências automaticamente
🗂️ 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
Exemplos de Código
-
Exemplo simples de teste (arquivo: tests/test_exemple.py)
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()
-
Uso do driver no código principal (core/driver.py)
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
-
Exemplo de uso no arquivo main.py
from core import create_main main = create_main() if __name__ == "__main__": main()
Testes
Para rodar os testes do seu projeto gerado:
pytest tests/
Contribuição
Contribuições são bem-vindas! Abra uma issue ou envie um pull request com melhorias.
Licença
Este projeto está licenciado sob a MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file selenium_gourmet-0.2.2.tar.gz.
File metadata
- Download URL: selenium_gourmet-0.2.2.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce1cf568eb7dc8192e63f0a9fccd33a9db3d96871768ddc615b6dc5eb66ec38e
|
|
| MD5 |
6bb2b489be24f1c2830a6b3b210f2510
|
|
| BLAKE2b-256 |
ae4ea08f4a51683e0b2637532efb1f29405f7d5fa40196daa818bdd102b5c249
|
File details
Details for the file selenium_gourmet-0.2.2-py3-none-any.whl.
File metadata
- Download URL: selenium_gourmet-0.2.2-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83dc7f8d740b82f7afbe012de920bbdb92654cb3ecca491dd115a192648be6ad
|
|
| MD5 |
c4adf1d3c218c851f6f4cefb1d77a84f
|
|
| BLAKE2b-256 |
805930a272fc071cee7882d7c097cd0bc4db5c6ec4c5141dd7d2fbab92b764b1
|