# BELLATRIX URL: https://bellatrix.solutions/ Updated: 2026-10-13 BELLATRIX is an open-source (Apache-2.0) cross-platform test automation framework for Web, Mobile (Android and iOS), Desktop and API testing. It is available for C# (.NET 8), Java and JavaScript/TypeScript, and is built and maintained by Automate The Planet Ltd (Sofia, Bulgaria). --- # Web Test Automation Features URL: https://bellatrix.solutions/features/web/ Updated: 2020-08-04 BELLATRIX open-source test framework will give you control on the whole execution workflow - change browsers or reuse them and retry failing tests. - [AI Integration](https://bellatrix.solutions/features/web/ai-integration/): AI for web test automation in BELLATRIX: find elements by prompt, assert in natural language, self-heal broken locators and get smart failure analysis. - [Image Recognition](https://bellatrix.solutions/features/web/image-recognition/): BELLATRIX Image Recognition library can be used to verify hard-to-assert functionalities such as PDFs, charts, and similar. For Web test automation. - [Web Controls](https://bellatrix.solutions/features/web/web-controls/): Test web controls with BELLATRIX: 30+ ready-to-use controls with actions and properties, plus an API that makes HTML grid and table testing easy. - [Accelerate Test Creation](https://bellatrix.solutions/features/web/accelerate-test-creation/): BELLATRIX open-source test framework includes element snippets, handy elements locators, smart wait for the elements, more than 200 elements actions. - [Accelerate Test Execution](https://bellatrix.solutions/features/web/accelerate-test-execution-web/): Open-source test framework that can speed up your web test execution by retrying failed requests enhanced finding and waiting of elements and much more. - [Extend The Framework to Fit Your Needs](https://bellatrix.solutions/features/web/extend-the-framework-to-fit-your-needs/): BELLATRIX open-source test framework will provide you with a wider test execution life cycle with the ability to plug-in everywhere. For Web test automation. - [Troubleshooting Easiness](https://bellatrix.solutions/features/web/troubleshooting-easiness/): BELLATRIX open-source test framework helps you with full-page screenshots, video recording, log reports, and failure analysis. For Web test automation. - [Test Responsive Layouts](https://bellatrix.solutions/features/web/test-responsive-layouts/): Test responsive layouts with BELLATRIX open-source test framework, based on the test location of objects relative to each other on the page. - [Boost Test Reliability](https://bellatrix.solutions/features/web/boost-test-reliability/): Make web tests reliable with BELLATRIX: smart waits handle timeouts and guarantee elements are found before every action, removing flaky failures. - [Human Readable Tests](https://bellatrix.solutions/features/web/human-readable-tests/): Write human-readable web tests with BELLATRIX: built-in page objects and 30+ web controls with ready-to-use actions, properties and assertions. - [Easy Knowledge Transfer](https://bellatrix.solutions/features/web/easy-knowledge-transfer/): Everything that your team needs to know about BELLATRIX open-source test automation framework, from installation to the most complex features. - [Unified Team Conventions](https://bellatrix.solutions/features/web/unified-team-conventions/): Unify web test code with BELLATRIX: two static analysis modules enforce coding standards and naming, plus 3 item templates for standard page objects. --- # AI Integration (Web) URL: https://bellatrix.solutions/features/web/ai-integration/ Updated: 2025-08-07 ## Overview ## Overview BELLATRIX introduces four advanced AI-powered features for web automation using LLMs: - **Element Finding by Prompt**: Locate elements using natural language instructions. - **AssertByPrompt / ValidateByPrompt**: Perform assertions and validations using descriptive instructions. - **Native Self-Healing via LLM**: Automatic healing of broken tests when the UI changes. - **Smart AI Analysis**: Automated root cause analysis, evidence comparison, and failure diagnostics with BDD logging and page snapshots. These capabilities drastically reduce test maintenance, increase test reliability, and enable true prompt-driven automation for any web application. [Learn more about Overview](https://docs.bellatrix.solutions/web-automation/ai-features/) --- # Image Recognition (Web) URL: https://bellatrix.solutions/features/web/image-recognition/ Updated: 2021-11-29 ## Overview ## Overview BELLATRIX Image Recognition library can be used to verify hard-to-assert functionalities such as PDFs, charts, and similar. But our computer vision library is much more than that. You can even interact with everything on your screen. Perform clicks, set text, drag and drop, double click, and more. Our library uses a machine learning engine for comparing images of your screen. Basically, you add screenshots to your project and embed them to it. Afterward, you need to mention the name of the picture. To use the library you need to install the Bellatrix.ImageRecognition.SikuliX NuGet package [Learn more about Overview](https://docs.bellatrix.solutions/web-automation/image-recognition/) --- # Web Controls (Web) URL: https://bellatrix.solutions/features/web/web-controls/ Updated: 2021-11-29 ## Simple Controls ## Simple Controls #### Over 30 well-known web controls with actions and properties that are most relevant to them. Since WebDriver is not a test framework, it is written in most generic manner. All web elements share a common IWebElement interface- containing the same methods and properties. For example- you use SendKeys method to type text in the text field, to click a button using Enter key or upload a file. Or why do you need Click method for DIV or text field? **WebDriver example** ``` IWebElement agreeCheckBox = driver.FindElement(By.Id("agreeChB")); agreeCheckBox.Click(); IWebElement firstNameTextField = driver.FindElement(By.Id("firstName")); firstNameTextField.SendKeys("John"); IWebElement avatarUpload = driver.FindElement(By.Id("uploadAvatar")); avatarUpload.SendKeys("pathTo\myAvatar.jpg"); IWebElement saveBtn = driver.FindElement(By.Id("saveBtn")); agreeCheckBox.SendKeys(Keys.Enter); ``` One more thing, if you don’t use suffixes in the names of your variables or properties, you won’t know what type of elements they are. In the case that you want to perform specific verifications, this might be important. For example, anchor web elements cannot be disabled, although buttons can. BELLATRIX offers over 30 strongly-typed web controls such as: anchor, button, text field, checkbox, etc. Each specific control contains well-named actions and properties that are most relevant to it. **BELLATRIX Example** ``` CheckBox agreeCheckBox = App.ElementCreateService.CreateById("agreeChB"); agreeCheckBox.Check(); TextField firstNameTextField = App.ElementCreateService.CreateById("firstName"); firstNameTextField.SetText("John"); InputFile avatarUpload = App.ElementCreateService.CreateById("uploadAvatar"); avatarUpload.Upload("pathTo\myAvatar.jpg"); Button saveBtn = App.ElementCreateService.CreateById