TestComplete provides comprehensive automated testing support for Java applications and boasts several industry firsts, especially a uniquely flexible, user-oriented approach. With TestComplete, automated tests can be recorded or constructed as script-free visual keyword tests, scripts in any of five supported languages, or a mixture of both — whatever best suites the tester’s needs. For those testing Java applications, this means you will not be forced into using or learning a proprietary scripting language — your tests can be written using a Java-like scripting language, JScript, or without scripting at all!
Smart Object Recognition and Recording
TestComplete recognizes all onscreen Java objects and provides extended automation support for major Swing controls, including complex ones such as tables, trees and menus. It captures object-aware rather than coordinate-based actions — item selection, button click, cell value change etc — and thus produces robust automated tests that are tolerant to the application’s UI changes. When needed, you can also take advantage of low-level analog recording and playback to simulate exact mouse motions, clicks and key presses at a specific speed.
The tested Java objects are addressed in automated tests by the same names used in the application code, which facilitates collaboration between QA and development teams and makes it easy for the application’s developers to get involved in test automation.
Access to Internal Methods and Properties of Application Objects
TestComplete enables testers to go beyond capture-playback. It can dig deep inside Java applications and gives automated tests access not only to all onscreen Java objects, but also to all of their internal properties, fields and methods — all of this without any changes to the Java application under test. This way, TestComplete’s automated tests can read and write data directly to Java application objects and call native-code methods, so that even protected and private elements of the tested Java application can be easily verified.
Access to Java API
TestComplete provides testers with direct access to the Java API — both intrinsic Java classes, classes defined in the tested Java application and in arbitrary Java packages. This enables testers to enhance automated tests using Java classes and functions, make use of legacy testing utilities written in Java and even test Java class interfaces.
Automated Unit Testing
In addition to automated functional (GUI) and regression testing, TestComplete can perform unit testing of Java applications, so that test automation can be introduced in the early stages of application development. Being the most user-oriented automated testing tool, TestComplete offers different unit testing implementations and allows developers and testers to use the one that best suits their needs. First, TestComplete supports the JUnit framework and allows managing and running JUnit unit tests as part of TestComplete’s automated test projects. It also provides its own unit testing framework and a visual interface to manage test classes and methods and run the selected unit tests. Finally, since TestComplete has full access to the tested application’s internal elements, unit tests can be written with TestComplete scripts.