Maveryx

Maveryx is a cross-platform GUI Test Automation Framework developed by Maveryx Srl. This Framework provides functional UI, regression, data-driven, and keyword-driven testing capabilities to test a wide range of Desktop and Web technologies. Maveryx Test Automation Framework allows testing many different GUI technologies (e.g. Java, .NET, HTML5, JavaScript-based Frameworks, etc...). Unlike other testing tools, Maveryx does not need recordings, code instrumentation, GUI Maps or Object Repositories to create and run automated tests.

Maveryx
Maveryx Logo
Developer(s)Maveryx S.r.l.
Stable release
2.2 / November 12, 2018 (2018-11-12)
Operating systemMicrosoft Windows, Linux, Mac OS
TypeTest Automation Tools
LicenseProprietary
Websitemaveryx.com

Overview

Maveryx is an automated testing framework designed for functional testing, regression testing, GUI testing, data-driven testing and keyword-driven testing of Desktop and Web applications on Windows, Linux and MacOS. Maveryx does not require any 'GUI Map' or 'Object Repository' to build and execute the automated tests: the GUI objects to test are uniquely identified directly at runtime, during the script's execution. By running a test, Maveryx automatically performs the scan of the current application's user interface and searches for the widgets and controls to operate. UI objects are unambiguously identified by its Intelligent Object Recognition system. It is an advanced search engine, powered by a broad set of algorithms, from exact to approximate ones. 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. [1] Maveryx uses Java and C# as scripting languages and integrates with any IDE (Eclipse, NetBeans, Microsoft Visual Studio, etc.) and testing framework (JUnit, NUnit, TestNG, etc...). [2] For non-programmers and non-technical testers, Maveryx provides a keyword-driven Framework, based on Excel. It supports data-driven testing from Excel, XML and CSV data sources, to increase test coverage.

Main features

System environment

Maveryx Test Automation Framework is a Cross-platform tool and it runs on Microsoft Windows, Linux, and Mac OS.

Supported technologies

Test Scripting

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

Integration with other software

Maveryx tests can be run from the command line or with ANT or Maven. This allows integrating Maveryx tests within almost any continuous integration (CI) system such as Jenkins, Azure DevOps Server, Bamboo, TeamCity, and many 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. Moreover, for each test case Maveryx 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 many reasons, including:

  • to add new APIs and Keywords
  • to add support for custom, unsupported GUI controls

Key technologies

GUI objects

Maveryx identifies the 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. Maveryx identifies the GUI objects to test dynamically at runtime during test execution.[3] 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 for the application under test to start writing the automated tests. Testers can create the automated scripts early in the software lifecycle, in parallel to the application development. Those tests can be immediately 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 classical to fuzzy 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.  

Some of the matching algorithms include:

  • Exact: allows searching for a test object exactly as it is defined in the script
  • Case Insensitive: same as Exact, but case-insensitive
  • Partial: allows finding a match on partial data
  • Levenshtein distance: allows approximate matching with fuzzy logic, using the edit distance

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

Image-based test automation

With Maveryx, it is also possible to identify the GUI objects to test by screenshot images. By providing a snapshot of the test object, the Maveryx's Image Matching engine allows searching and finding its location in a larger image of the application under test. With this technology, it is possible to automate Adobe video/audio players, flash games, map navigations, and much more.

Supported testing types

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. Maveryx also provides a built-in Test Data Generator to automatically generate complex data sets starting from data specifications.

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 data 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.

See also

References

  1. A. Nocella (2014-03-17). "The faces of testing: men vs. robots - in Belgium Testing Days Conference Proceedings". Retrieved 2014-03-12.
  2. M. Garofalo (2011-11-23). "Mixing Open And Commercial Tools - in Eurostar Software Testing Conference Proceedings". Archived from the original on 2014-03-12. Retrieved 2014-03-12.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.