Releases: devload/smartmonkey
Releases · devload/smartmonkey
SmartMonkey v0.1.0 - First Official Release 🎉
SmartMonkey v0.1.0 - Intelligent Android App Testing Tool 🐵🧠
First stable release with complete Grafana dashboard integration!
✨ Key Features
🎯 Intelligent Testing
- Weighted Exploration Strategy: Prioritizes unvisited UI elements (10x weight)
- Smart Targeting: Bonus scoring for buttons (1.5x) and submit actions (2x)
- State Detection: MD5 hashing to avoid duplicate states
- Real-time Crash Detection: Monitors app status on every step
📊 Grafana Integration
- Two-Tier Dashboards: Overview list + detailed test view
- Screenshot Gallery: Scrollable horizontal gallery with auto-retry loading
- Drill-Down Navigation: Click Test ID to view full details
- Auto-Refresh: Real-time monitoring with 30-second intervals
- Color-Coded Status: Visual indicators for passed/failed/crashed tests
🔧 Developer Features
- Full CLI: Device listing, auto-detection, and flexible parameters
- Multi-Device Support: Works with physical devices and emulators
- Comprehensive Reports: JSON (machine-readable) + Text (human-friendly)
- Screenshot Capture: Visual documentation at every step
🚀 Quick Start
Installation
git clone https://github.com/devload/smartmonkey.git
cd smartmonkey
pip install -r requirements.txt
export PYTHONPATH=$(pwd):$PYTHONPATHRun Your First Test
# List connected devices
python3 -m smartmonkey.cli.main list-devices
# Run a test
python3 -m smartmonkey.cli.main run \
--package com.android.settings \
--steps 20 \
--strategy weightedSet Up Grafana Dashboards
See detailed guide: docs/GRAFANA_SETUP_GUIDE.md
- Install Grafana
- Install plugins (Infinity Data Source, HTML Graphics Panel)
- Import dashboards from
grafana/directory - Start HTTP server and view results!
📖 Documentation
- README.md: Complete usage guide with CLI parameters
- GRAFANA_SETUP_GUIDE.md: Detailed Grafana installation and configuration
- ARCHITECTURE.md: System architecture documentation
🐛 Bug Fixes in This Release
- Fixed UI element visibility detection (was defaulting to invisible)
- Fixed app running detection with correct
dumpsys windowcommand - Enhanced crash detection to run on every step (not just when UI is empty)
📊 Test Results
Successfully tested on Android 14-15:
- 5 test runs completed on emulator
- 96 screenshots generated
- 80% success rate (4/5 passed)
- Average duration: 80 seconds per 20-step test
🎯 What's Next (Roadmap)
v0.2.0 (Planned)
- Enhanced crash/ANR detection
- HTML report generation
- DFS and BFS exploration strategies
v0.3.0 (Planned)
- Performance monitoring (FPS, memory, CPU)
- Configuration file support (YAML)
- Code coverage tracking
v0.4.0+ (Future)
- ML-based exploration strategy
- CI/CD integration (GitHub Actions, Jenkins)
- Cloud testing support
🙏 Acknowledgments
Built with:
- Android Debug Bridge (ADB) - Device communication
- UIAutomator - UI hierarchy parsing
- Grafana - Data visualization
- Infinity Data Source - JSON data loading
- HTML Graphics Panel - Screenshot gallery rendering
📝 Full Changelog
Added
- Grafana dashboard integration with two-tier view system
- Screenshot gallery with horizontal scrolling
- Master index.json for tracking multiple test runs
- Screenshot URLs in JSON reports for Grafana compatibility
- Comprehensive CLI parameter documentation
- Detailed Grafana setup guide
Fixed
- UI parser visible attribute now defaults to true
- App running detection using correct dumpsys command
- Crash detection now checks on every step
Changed
- Enhanced report_generator with screenshot URL generation
- Updated README with complete CLI parameters table
- Improved crash detection logic in exploration engine
Platform: macOS, Linux
Python: 3.9+
Android: 5.0+ (API 21+)
🤖 Generated with Claude Code