User:Megaride/sandbox/Maveryx

Maveryx is a GUI Test Automation Framework developed by Maveryx S.r.l. This Framework provides functional UI, regression, data-driven, and codeless testing capabilities to test Desktop and Web applications. Maveryx Test Automation Framework allows testing different GUI technologies (e.g. Java, .NET, HTML5, JavaScript-based Frameworks, etc.).

Overview
Maveryx is an automated testing framework designed for functional testing, regression testing, GUI testing, data-driven testing and codeless testing (keyword-driven testing or low code testing) of Desktop and Web applications on Windows, Linux and MacOS. It does not require any artifact (like 'GUI Map', 'Objects Repository', 'recorded actions', etc.) to build and execute automated tests: the GUI objects to test are uniquely identified and located directly at runtime, during tests' execution. While running a test, Maveryx automatically performs the scan of the application's user interface and searches for the widgets and controls to operate. UI objects are unambiguously identified by an Intelligent Object Recognition system. It is an advanced search engine, powered by a broad set of algorithms. This technology allows finding the closest match between the GUI object encoded in the test script and the real object in the application under test, even if they don't exactly match or have changed since test creation. Maveryx uses Java and C# as scripting languages and integrates with any IDE (Eclipse, IntelliJ IDEA, Microsoft Visual Studio, etc.) and test manager framework (JUnit, NUnit, TestNG, etc.). Moreover, Maveryx provides a codeless Framework for non-programmers and non-technical testers, based on Keywords or Blocks programming. It supports data-driven testing to increase test coverage.

System environment
Maveryx Test Automation Framework runs on Microsoft Windows, Linux, and Mac OS.

Supported technologies

 * Desktop applications such as Java, .NET, WPF, MFC, etc.
 * Web technologies such as HTML, HTML5, JavaScript framework, Ajax, etc.
 * Cross-browser testing for Internet Explorer, Edge, Firefox, Chrome, and Safari.

Test Scripting
Maveryx provides Java and C# APIs to create test scripts. Testers and developers using Java can work, among the others, in the Eclipse editor, and those using C# in Visual Studio.

Integration with other software
Maveryx tests can be run from the command line, or with ANT, or Maven, etc. This allows integrating Maveryx tests within almost every continuous integration (CI) system such as Jenkins, Azure DevOps Server, Bamboo, TeamCity, and others. Any CI automation server that uses tools like Gradle, Maven, or ANT can run Maveryx tests as part of the build process. As Maveryx tests are executable jar files or exe files, they can be incorporated within any ALM, Continuous Integration, Build Integration, Test Management and Software Project Management tools supporting the execution of these types of files.

Eclipse plug-in
Maveryx-for-Eclipse is a set of software tools for the Java Eclipse IDE that enables testers and developers to design, build, and run Maveryx tests directly in Eclipse.

The plug-in helps users to:


 * Create new Maveryx test projects and classes
 * Generate test stubs
 * Run tests
 * View test results and metrics

Test reporting
Maveryx automatically generates a report at the end of every test execution. The Framework creates an XML-based test report that provides a view of the entire test run, including test cases passed and failed in a tabular format. The report also contains chart metrics. For each test case it produces a log with detailed information about the test objects, executed actions, and screenshots. The Maveryx Eclipse plug-in creates live charts and reports during test execution.

Extensibility
Maveryx provides an extensible plug-in system. Users can add specific capabilities or customize the existing functionalities with separate plug-ins.

Maveryx supports plug-ins for different reasons, including:


 * to add new APIs and Keywords
 * to add support for customized, unsupported GUI controls

GUI objects
Maveryx identifies GUI objects to test dynamically at runtime during the test execution, without requiring pre-recordings or using any Spy tool, GUI Map or Object Repository. Running a test, Maveryx automatically performs the scan of the current application's user interface. The result of this scanning is processed by an Intelligent Object Recognition engine that uniquely identifies and locates the test objects. Avoiding recordings, GUI Maps and Object Repositories, there is no need to wait for the application under test to be released to start writing the automated tests. Testers can create the automated scripts earlier in the software lifecycle, in parallel to the application development. Those tests can be executed as soon as the desktop or web application is available for testing.

Maveryx's Intelligent Object Recognition engine has several patterns–matching capabilities. It uses different searching algorithms to identify the test objects, even if they have changed since test creation or if a partial description is given in the test scripts.

This technology allows writing automated tests from unstable, lacking or partial specifications. It allows to write automated tests resilient to frequent application user interface's changes, avoiding continuous reworking of the test scripts.

Image-based test automation
It also allows to identify the GUI objects to test through screenshot images. By providing a snapshot of the test object, the Maveryx's Image Matching engine allows searching and finding its location in the larger image of the application under test.

Data-driven testing
Maveryx supports data-driven testing. This allows users to separate test data from test commands and run automated tests with different sets of data. With Maveryx, test data can be retrieved from external sources such as Excel worksheets, CSV or XML files, and from a DB.

Keyword-driven testing
Maveryx supports code-free, Keyword-driven testing. Non-programmers and non-technical testers can develop automated test cases as data tables in Microsoft Excel spreadsheets, CSV or XML files. Each row in the table contains the test action (keyword) to be performed as well as input, expected output and information on the object to test. The Keyword-driven Framework supports data-driven testing and has a plugin architecture which allows users to add new keywords.

Low-code testing
Maveryx offers a low-code development platform. Non-programmers and non-technical testers can develop automated test cases by using a very easy graphical development interface based on blocks programming and saving the tests scripts as Java classes. This approach let also testers learn the OOP (Object Oriented Programming) paradigm with no efforts.