3253828fef
Add complete navegator system for stealthy browser automation: - CDP client with WebSocket communication - Browser API with navigation, storage, network, runtime - Stealth flags and anti-detection scripts - Persistent profile support - Examples and comprehensive documentation Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
104 lines
2.7 KiB
Makefile
104 lines
2.7 KiB
Makefile
# Makefile para Navegator
|
|
|
|
.PHONY: all build test test-unit test-e2e test-integration clean help
|
|
|
|
# Variables
|
|
BINARIES := screenshot buscar navegar
|
|
TEST_TIMEOUT := 300s
|
|
|
|
all: build test
|
|
|
|
## build: Compilar todos los binarios
|
|
build:
|
|
@echo "🔨 Compilando binarios..."
|
|
@mkdir -p bin
|
|
@go build -o bin/screenshot cmd/screenshot.go
|
|
@go build -o bin/buscar cmd/buscar.go
|
|
@go build -o bin/navegar cmd/navegar.go
|
|
@echo "✅ Binarios compilados en bin/"
|
|
|
|
## test: Ejecutar todos los tests
|
|
test: test-unit test-e2e test-integration
|
|
@echo ""
|
|
@echo "=========================================="
|
|
@echo "✅ Todos los tests completados"
|
|
@echo "=========================================="
|
|
|
|
## test-unit: Ejecutar tests unitarios de Go
|
|
test-unit:
|
|
@echo "🧪 Ejecutando tests unitarios..."
|
|
@go test -v -timeout $(TEST_TIMEOUT) ./pkg/browser/... ./pkg/cdp/... ./pkg/stealth/...
|
|
|
|
## test-e2e: Ejecutar tests E2E de binarios
|
|
test-e2e: build
|
|
@echo "🎯 Ejecutando tests E2E..."
|
|
@chmod +x e2e/e2e_test.sh
|
|
@./e2e/e2e_test.sh
|
|
|
|
## test-integration: Ejecutar tests de integración
|
|
test-integration: build
|
|
@echo "🔗 Ejecutando tests de integración..."
|
|
@chmod +x e2e/integration_test.sh
|
|
@./e2e/integration_test.sh
|
|
|
|
## test-quick: Tests rápidos (solo unitarios)
|
|
test-quick:
|
|
@echo "⚡ Tests rápidos..."
|
|
@go test -short ./pkg/...
|
|
|
|
## clean: Limpiar archivos generados
|
|
clean:
|
|
@echo "🧹 Limpiando..."
|
|
@rm -rf bin/ buscar-v2
|
|
@rm -f *.png *.json *.log
|
|
@rm -rf test-profiles/
|
|
@rm -rf perfiles/test-*
|
|
@rm -rf perfiles/*-clone-*
|
|
@echo "✅ Limpieza completada"
|
|
|
|
## fmt: Formatear código Go
|
|
fmt:
|
|
@echo "💅 Formateando código..."
|
|
@go fmt ./...
|
|
|
|
## lint: Ejecutar linter
|
|
lint:
|
|
@echo "🔍 Ejecutando linter..."
|
|
@go vet ./...
|
|
|
|
## coverage: Generar reporte de cobertura
|
|
coverage:
|
|
@echo "📊 Generando reporte de cobertura..."
|
|
@go test -coverprofile=coverage.out ./pkg/...
|
|
@go tool cover -html=coverage.out -o coverage.html
|
|
@echo "✅ Reporte generado: coverage.html"
|
|
|
|
## bench: Ejecutar benchmarks
|
|
bench:
|
|
@echo "⚡ Ejecutando benchmarks..."
|
|
@go test -bench=. -benchmem ./pkg/...
|
|
|
|
## install: Instalar binarios en $GOPATH/bin
|
|
install: build
|
|
@echo "📦 Instalando binarios..."
|
|
@cp screenshot $(GOPATH)/bin/navegator-screenshot
|
|
@cp buscar $(GOPATH)/bin/navegator-buscar
|
|
@cp navegar $(GOPATH)/bin/navegator-navegar
|
|
@echo "✅ Binarios instalados en $(GOPATH)/bin/"
|
|
|
|
## demo: Ejecutar demo de perfiles en paralelo
|
|
demo: build
|
|
@chmod +x scripts/demo_paralelo.sh
|
|
@./scripts/demo_paralelo.sh
|
|
|
|
## help: Mostrar ayuda
|
|
help:
|
|
@echo "Navegator - Makefile Commands"
|
|
@echo ""
|
|
@echo "Uso: make [target]"
|
|
@echo ""
|
|
@echo "Targets disponibles:"
|
|
@sed -n 's/^##//p' ${MAKEFILE_LIST} | column -t -s ':' | sed -e 's/^/ /'
|
|
|
|
.DEFAULT_GOAL := help
|