Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Tests

on:
pull_request:
push:
branches: [feature/*]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Install dependencies
run: pip install ".[test]"

- name: Run unit tests
run: pytest tests/utest/ -v
3 changes: 0 additions & 3 deletions Agent/utilities/readme.me

This file was deleted.

14 changes: 1 addition & 13 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Makefile pour le projet Robot Framework Agent

.PHONY: help install install-dev test lint format sync-requirements clean
.PHONY: help install install-dev test lint format clean

help: ## Afficher cette aide
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
Expand Down Expand Up @@ -30,18 +30,6 @@ format-check: ## Vérifier le formatage sans modifier
black --check Agent/ tests/
isort --check Agent/ tests/

sync-requirements: ## Synchroniser requirements.txt depuis pyproject.toml (nécessite pip-tools)
@echo "⚠️ Vérifiez que pip-tools est installé: pip install pip-tools"
pip-compile pyproject.toml -o requirements.txt --no-header
@echo "# Robot Framework Agent - Development Dependencies" > requirements-dev.tmp
@echo "# Install: pip install -r requirements-dev.txt" >> requirements-dev.tmp
@echo "" >> requirements-dev.tmp
@echo "-r requirements.txt # Include production dependencies" >> requirements-dev.tmp
@echo "" >> requirements-dev.tmp
pip-compile --extra dev pyproject.toml --no-header | grep -v "robotframework\|openai\|Pillow\|tiktoken\|python-dotenv\|requests" >> requirements-dev.tmp
mv requirements-dev.tmp requirements-dev.txt
@echo "✅ requirements.txt et requirements-dev.txt synchronisés depuis pyproject.toml"

clean: ## Nettoyer les fichiers générés
rm -rf build/ dist/ *.egg-info
rm -rf .pytest_cache/ .coverage htmlcov/
Expand Down
27 changes: 0 additions & 27 deletions atest_agent.robot

This file was deleted.

91 changes: 20 additions & 71 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@ build-backend = "setuptools.build_meta"
[project]
name = "robotframework-agent"
version = "0.0.1"
description = "AI-driven test automation agent for apps using Robot Framework"
description = "AI-driven test automation agent for apps"
readme = "readme.md"
requires-python = ">=3.8"
license = {text = "CC0-1.0"}
authors = [
{name = "Your Name", email = "your.email@example.com"}
{name = "Abdelkader HASSINE", email = "contact.abdelkaderhassine@gmail.com"},
{name = "Pavlo Ivashchenko", email = "pawloiwanov@gmail.com"},
]
keywords = ["robotframework", "testing", "ai", "automation", "llm"]
keywords = ["robotframework", "ai", "automation", "automation agent", "llm", "testing"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
Expand All @@ -29,106 +30,54 @@ classifiers = [
]

dependencies = [
# Core Framework
"robotframework>=6.0",
"robotframework-appiumlibrary>=3.0",
"Appium-Python-Client>=5.0",
# Default LLM Provider
"openai>=1.0.0",
# Utilities
"Pillow>=10.0.0",
"tiktoken>=0.5.0",
"python-dotenv>=1.0.0",
"requests>=2.31.0",
]

[project.optional-dependencies]
# Development tools for contributors
web = [
"playwright>=1.40.0",
]
mobile = [
"robotframework-appiumlibrary>=3.0",
"Appium-Python-Client>=5.0",
]
test = [
"pytest>=8.0.0",
"pytest-cov>=4.1.0",
]
dev = [
# Testing
"playwright>=1.40.0",
"robotframework-appiumlibrary>=3.0",
"Appium-Python-Client>=5.0",
"pytest>=8.0.0",
"pytest-cov>=4.1.0",
"pytest-xdist>=3.5.0",
"pytest-rerunfailures>=14.0",
"robotframework-pabot>=5.0",
"robotframework-retryfailed>=0.2.0",
# Code quality
"black>=24.0.0",
"flake8>=7.0.0",
"mypy>=1.8.0",
"isort>=5.13.0",
# Documentation
"sphinx>=7.0.0",
"sphinx-rtd-theme>=2.0.0",
# Build tools
"build>=1.0.0",
"twine>=5.0.0",
# Development utilities
"ipython>=8.20.0",
"ipdb>=0.13.13",
"pre-commit>=3.6.0",
# All LLM providers for testing
"anthropic>=0.20.0",
"google-generativeai>=0.3.0",
# Vision features for testing
"gradio-client>=1.0.0",
"gradio-client>=2.0.0",
]

# BrowserStack cloud testing
browserstack = [
"browserstack-sdk>=1.30.0",
"browserstack-local>=1.2.0",
]

# Additional LLM providers
anthropic = [
"anthropic>=0.20.0",
]
gemini = [
"google-generativeai>=0.3.0",
]
all-llm = [
"anthropic>=0.20.0",
"google-generativeai>=0.3.0",
]

# Vision/VLM features
vision = [
"gradio-client>=1.0.0",
]

# All extras combined
all = [
# Testing
"pytest>=8.0.0",
"pytest-cov>=4.1.0",
"pytest-xdist>=3.5.0",
"pytest-rerunfailures>=14.0",
"robotframework-pabot>=5.0",
"robotframework-retryfailed>=0.2.0",
# Code quality
"black>=24.0.0",
"flake8>=7.0.0",
"mypy>=1.8.0",
"isort>=5.13.0",
# Documentation
"sphinx>=7.0.0",
"sphinx-rtd-theme>=2.0.0",
# Build tools
"build>=1.0.0",
"twine>=5.0.0",
# Development utilities
"ipython>=8.20.0",
"ipdb>=0.13.13",
"pre-commit>=3.6.0",
# All LLM providers
"anthropic>=0.20.0",
"google-generativeai>=0.3.0",
# Vision features
"gradio-client>=1.0.0",
# BrowserStack
"browserstack-sdk>=1.30.0",
"browserstack-local>=1.2.0",
"gradio-client>=2.0.0",
]

[project.urls]
Expand Down
Loading
Loading