From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developer(s) Maveryx
Stable release
1.5 (Java) - 1.0 (Android) / May 6, 2016 (2016-05-06)
Development status Active
Operating system Microsoft Windows, Linux, Mac OS, Android
Type test automation tools
License GNU General Public License v2.0, Proprietary

Maveryx is an automated functional, graphical user interface (GUI), and regression test tool for Java and Android applications.[1] Unlike other test tools, Maveryx does not use a GUI Map to create and run its automated tests. GUI test objects are recognized at execution time, by a GUI Objects Finder. This search engine supports exact and fuzzy matching algorithms to identify the test objects in the application's user interface. Avoiding GUI Maps allows starting automation early—long before the application is available for testing, while approximate matching gives the possibility to derive tests even from partial or lacking requirements, and to automate scripts resilient to frequent application changes. Maveryx is primarily used by Software Quality Assurance teams to perform automated testing in traditional and agile environments.[2]


Maveryx is automated testing software designed for functional testing, regression testing, GUI testing and data-driven testing of Java and Android applications on Windows, Linux and Mac. Maveryx does not require any ‘GUI Map’ to build and execute the automated tests: GUI objects to test are recognized and located directly at runtime, during the scripts execution. By running a test, Maveryx performs the scan of the current application user interface and searches for the objects and controls to manipulate. Test objects are uniquely identified by the GUI Objects Finder, an advanced search engine powered by a wide set of algorithms, including exact and approximate matching. This technology allows finding the closest match between a GUI object encoded in the script and the objects in the application under test, even in case of partial information on the GUI object to operate.[3] Maveryx uses Java as scripting language, and can be integrated into any Java IDE (Eclipse, NetBeans, etc.) and testing framework (JUnit, IBM Rational Functional Tester, etc.).[4] It supports data-driven testing, verification points and keywords to increases test coverage, promotes script reuse, and leverage the number of automated tests.

Key technologies[edit]

No GUI Maps[edit]

Maveryx analyzes and identifies the GUI objects to test and their properties dynamically at runtime during the scripts execution, without using any GUI Map.[5] Running a test, Maveryx performs the scan and gets ‘snapshots’ of the current application’s user interface. Each snapshot is processed by an advanced GUI Objects Finder that recognizes and locates the test objects. By this approach, in order to write the tests, there is no need to wait for the application to be released. Testers can develop the automated scripts early in the software lifecycle, in parallel to the application development. Test scripts can be executed as soon as the application is released for testing.

GUI Objects Finder[edit]

Test objects encoded in the scripts are identified and located directly at runtime by an advanced GUI Objects Finder with several pattern–matching capabilities. Maveryx uses several searching algorithms to recognize and locate objects during the test execution, even if the objects have changed since test creation or ‘partial’ descriptions are encoded in the scripts. Maveryx searches for run–time objects that exactly or partially (approximate similarity) match the test objects in the scripts. The following matching algorithms are supported:

  • 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
  • Wildcard: allows finding a match by using regular expressions
  • Levenshtein distance: allows approximate matching with fuzzy logic, using the ‘edit distance’
  • Thesaurus Searching: search for broader or narrower or related terms or concepts in a WordNet vocabulary
  • Google Translation: allows finding translations (also suitable for multilingual/internationalization testing)

This technology reduces time and effort that testers spend on script maintenance and allows writing automated tests from unstable, lacking or partial specifications. It also enables testers to automate tests resilient to frequent application user interface changes, avoiding continuous reworking of the scripts.

Data-driven testing[edit]

Maveryx supports data-driven testing. Data-driven testing is primarily implemented as Microsoft Excel spreadsheets and XML files that can be accessed from dedicated scripting API.[6] Maveryx also supports any database (JDBC sources). The test steps can read data from these data sources in order to drive variable data into the application under test, and verify the expected result.

Keyword-driven testing[edit]

Maveryx supports Keyword-driven testing. Automated test cases are developed as data tables in Microsoft Excel spreadsheets, plain text 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 has a plugin architecture which allows users to add new keywords.


Maveryx has 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. Some of the main reasons include:

  • to add dedicated support for custom or complex GUI controls
  • to add proprietary test actions (API)
  • to add new matching algorithms
  • to integrate Maveryx with other tools for SCM, bug tracking, etc.

Eclipse plug-in[edit]

Maveryx-for-Eclipse is a set of software tools for the Java Eclipse IDE that enables testers and developers to design, build, and run automated test scripts based on Maveryx. The plug-in assists testers in creating new test projects and test classes, generating Java stub code using the Maveryx Framework API.

Test reporting[edit]

Maveryx automatically generates metrics and produces detailed reports with the execution results of all tests. Maveryx Eclipse plug-in uses several reporting features to create live charts and reports during test execution, and to produce the final test reports explaining test results with tables charts, and statistics.


Maveryx for Android gives automated testing capabilities for functional, regression, GUI, and data-driven testing of Android mobile applications. It provides a solution for non-rooting devices (mobile phones, tablets, smartwatches ...), and supports any handset emulator, including Native Android Emulators, Genymotion, etc.
Maveryx integrates with the Android Development Tools (ADT) Plugin.

Other features[edit]

Maveryx also supports:

  • Automated Verification points
  • Test logging capabilities
  • Distributed and multi-application testing
  • Multilingual testing
  • Customizable error handling
  • Keywords

See also[edit]


  1. ^
  2. ^ L.Sansone (2010-12-12). "Open Source for distributed GUI test automation" (PDF). Retrieved 2014-03-12. 
  3. ^ A. Nocella (2014-03-17). "The faces of testing: men vs. robots - in Belgium Testing Days Conference Proceedings". Retrieved 2014-03-12. 
  4. ^ M. Garofalo (2011-11-23). "Mixing Open And Commercial Tools - in Eurostar Software Testing Conference Proceedings". Retrieved 2014-03-12. 
  5. ^
  6. ^ JP Corriveau (2013). "Maveryx Instructions". Retrieved 2014-03-12. 

External links[edit]