diff --git a/website_and_docs/content/blog/2022/bellatrix-test-automation-framework/bellatrix-projects-structure.png b/website_and_docs/content/blog/2022/bellatrix-test-automation-framework/bellatrix-projects-structure.png new file mode 100644 index 000000000000..beecbe014f05 Binary files /dev/null and b/website_and_docs/content/blog/2022/bellatrix-test-automation-framework/bellatrix-projects-structure.png differ diff --git a/website_and_docs/content/blog/2022/bellatrix-test-automation-framework/grid-html-example.png b/website_and_docs/content/blog/2022/bellatrix-test-automation-framework/grid-html-example.png new file mode 100644 index 000000000000..66ea78744bae Binary files /dev/null and b/website_and_docs/content/blog/2022/bellatrix-test-automation-framework/grid-html-example.png differ diff --git a/website_and_docs/content/blog/2022/bellatrix-test-automation-framework/index.md b/website_and_docs/content/blog/2022/bellatrix-test-automation-framework/index.md new file mode 100644 index 000000000000..95ac83c4797b --- /dev/null +++ b/website_and_docs/content/blog/2022/bellatrix-test-automation-framework/index.md @@ -0,0 +1,135 @@ +--- +title: "BELLATRIX Test Automation Framework for C# and JAVA" +linkTitle: "BELLATRIX Test Automation Framework for C# and JAVA" +date: 2022-11-16 +tags: ["webdriver", "framework", "ecosystem", "java", "dotnet"] +categories: ["technical", "general"] +author: Anton Angelov ([@angelovstanton](https://www.linkedin.com/in/angelovstanton/)) +description: > + Customize and extend BELLATRIX, a cross-platform .NET 6 and JAVA test automation framework to perfectly fit your needs. + Start on top of hundreds of best practices features and integrations. +--- +Over the last decade, a large ecosystem of Open Source projects has sprouted up around Selenium. Selenium is often used for automating web applications for testing purposes, but it does not include a testing framework. +Nowadays, Selenium Ecosystem initiatives try to give popularity to popular open-source test automation frameworks maintained by people outside of core Selenium maintainers. +One of these frameworks is BELLATRIX, invented by [Anton Angelov](https://www.linkedin.com/in/angelovstanton/). It has two versions - C# and Java. +A testing framework is an abstraction in which common code providing generic functionality (which can be selectively overridden) for testing different aspects of our applications- UI, API, security, performance and many other. + +## BELLATRIX Test Automation Framework ## +The first version of **[BELLATRIX](https://bellatrix.solutions/)** appeared on 26 December 2017. It was available only for C# initially but written on new back then .NET Core, allowing the framework to be used on all major operating systems (cross-platform). +One huge advantage of BELLATRIX is cross-technology readiness. It allows you to write tests for different technologies such as Web, Mobile, Desktop, and API. For me, this also includes a similar API. In BELLATRIX, we strive the API for different modules to be as identical as possible. + +The usage is simple. We suggest cloning BELLATRIX as a GIT sub-module. Then, any customizations, tests, and project-specific plug-ins should be placed in a project outside the BELLATRIX cloned repository. This way, you can quickly update to the latest version. + +[**BELLATRIX official website, download and releases info**](https://bellatrix.solutions/) + +[**BELLATRIX official C# GitHub Page**](https://github.com/AutomateThePlanet/BELLATRIX) + +[**BELLATRIX official Java GitHub Page**](https://github.com/AutomateThePlanet/BELLATRIX-Java) + +[**BELLATRIX C# Documentation**](https://docs.bellatrix.solutions/overview/) + +[**BELLATRIX Java Documentation**](https://docs.java.bellatrix.solutions/overview/) + +Let's investigate how easy it is to create your first test with BELLATRIX in 15 minutes. The sample will showcase how to create a very basic test login into a website: +{{< figure src="login-form.png" class="img-responsive w-50" >}} + +1. Open the BellatrixTestFramework.sln + +{{< figure src="open_the_sln.png" class="img-responsive w-50" >}} + +2. Under the starthere folder find the project your prefer: web, mobile, desktop, API + +{{< figure src="bellatrix-projects-structure.png" class="img-responsive w-50" >}} + +3. Open the BellatrixLoginTest.cs file. There you will find a sample test automating the login. + +```csharp +[TestClass] +public class LoginTestsMSTest : MSTest.WebTest +{ + public override void TestInit() + { + App.Navigation.Navigate("http://demos.bellatrix.solutions/my-account/"); + } + + [TestMethod] + public void SuccessfullyLoginToMyAccount() + { + var userNameField = App.Components.CreateById("username"); + var passwordField = App.Components.CreateById("password"); + var loginButton = App.Components.CreateByXpath