Releases: vmso/io.bdd_testing_frameworks
Release list
v2.0.1
Release Notes — v2.0.1
We are excited to announce version 2.1.0 of the Modern BDD Testing Framework, bringing powerful new capabilities to improve test resilience and reduce flakiness in automation projects.
✨ New Features
🤖 Self-Healing Locators
- Introduced a Self-Healing Engine to recover from failing locators automatically.
- Captures screenshots and DOM snapshots upon failure for detailed diagnostics.
- Generates heuristic candidates (alternative XPaths and CSS selectors) based on step text, attributes, and DOM context.
- Integrates with OpenAI (via GPT models) to suggest corrected locators and fix typos or minor mismatches.
- Uses AI-powered fallback when heuristic recovery fails.
- Supports shadow mode: logs suggested locators without applying them, for safe evaluation.
- Maintains a ModelStore cache to reuse previously healed locators for faster test execution.
⚡ Enhancements
-
Added de-duplication for locator candidates using
LinkedHashSetto eliminate redundant retries. -
Configurable via
config.properties:selfheal.enabled=true selfheal.shadow_mode=false selfheal.ai.enabled=true
-
AI integration requires
OPENAI_API_KEYin the environment. If missing, AI-based suggestions are skipped to avoid unnecessary failures. -
Extended detailed decision logging into
reports/self-heal/including DOM snapshots, screenshots, and locator resolution traces.
🔧 Bug Fixes
- Fixed incorrect retry handling when implicit waits were temporarily overridden.
- Fixed issue where duplicate candidate locators caused unnecessary retries.
- Improved error handling when AI responses are malformed or API is unavailable.
🚀 Migration Notes
- No breaking changes.
- If
selfheal.enabled=false, the framework continues to behave as before. - Enable
selfheal.ai.enabled=trueonly whenOPENAI_API_KEYis available in the environment.
📝 Next Steps
- Planned integration with OCR/visual heuristics for advanced self-healing.
- Extend AI suggestions to multi-element lookups (
findElements).
Modern BDD Testing Framework v2.1.0 brings reliability and intelligence to test automation by combining heuristics with AI. This dramatically reduces flakiness from minor UI changes, saving engineering time and stabilizing pipelines.
v.1.0.0
🚀 Release Notes — v1.0.0
Release Date: July 17, 2025
Repository: io.bdd_testing_frameworks
✨ Overview
This is the initial public release of the BDD Testing Frameworks Comparison Project, which showcases behavior-driven development in Java using various tools:
- Cucumber
- JBehave
- Gauge
- Spock
The goal is to help QA engineers and developers evaluate, compare, and learn BDD practices through real examples.
🔧 Features
- ✅ Modular structure for each framework
- ✅ Sample test suites with business-relevant scenarios
- ✅ Shared business logic for consistency
- ✅ Maven-based project setup
- ✅ Individual README files for framework-specific instructions
📚 Use Cases
- Compare BDD frameworks in Java ecosystems
- Learn how step definitions, feature files, and test runners differ
- Make informed decisions on framework adoption
- Use as educational material or onboarding tool
🛠 Setup & Usage
git clone https://github.com/vmso/io.bdd_testing_frameworks.git
cd io.bdd_testing_frameworksNavigate to the desired framework folder (gauge-tests, cucumber-tests, etc.), then:
mvn testEach module includes its own instructions in the README.md.
📌 Known Issues
- Requires relevant IDE plugins (e.g., Gauge plugin for IntelliJ)
- Some frameworks may not support parallel execution out of the box
- CI integration still in progress
🧭 What’s Next
- 🧪 Spring Boot integration examples
- 📊 Benchmark performance metrics
- 🧰 Extend CI workflows for all test suites
- 📦 Docker setup for isolated runs
🙌 Contributing
Contributions are welcome!
Please open issues for bugs or feature requests, and feel free to submit pull requests to expand or improve framework samples.
Thank you for checking out the project!
Let’s build better tests, together. 🧪✨