One of TestComplete’s unique features is its ability to see deep inside applications, giving your automated tests access to internal properties and methods of applications' objects. We call these applications, whose internals are accessible to TestComplete, Open Applications.
In earlier TestComplete versions, to make a Delphi orC++Builderapplication “open”, developers had to compile the app with helper .pas units shipped with TestComplete. This caused certain inconveniences to developers:
- The need to modify the application project.
- The need to re-compile the app after migrating to the next major TestComplete version (e.g. from v. 5 to v. 6).
- Increased application size.
With TestComplete 7, Delphi and C++Builder testing became a lot easier. It includes the new Delphi and C++Builder Open Application Support plug-in that makes these applications Open to TestComplete without re-compilation or other hacks. The plug-in accesses run-time type information (RTTI) of Delphi and C++Builder applications and provides info about the objects’ published properties to TestComplete and its automated tests. In previous versions, these properties were exposed via helper .pas units included in the application project. These are the same properties that you see, for instance, in Delphi’s Object Inspector:
In TestComplete’s Object Browser, these properties are listed in the RTTI category:
Of course, the exposed published properties are not only visible in the Object Browser — they can also be used in automated tests. For example, testers can verify their values and even write values directly to them. And all of this is now possible without any changes to the application’s source code!
Oh, and one more note. TestComplete’s Object Browser doesn’t mark Delphi and C++BuilderOpen Apps with the icon any more. You may have noticed this on the above image. That’s because all Delphi and C++Builder apps are now Open by default and distinguishing them among other non-Open Windows applications would slow down the object tree performance, and no one wants slow performance. So, if you don’t see the icon next to your Delphi/C++Builder app in the Object Browser — don’t panic! It doesn’t mean that the app isn’t recognized as Open. Just take a closer look at the application objects and their properties — and you‘ll see the extra elements, like in any Open app.
Next time, I’ll continue telling you more about TestComplete 7’s improved Delphi application support. And if you haven’t tried TestComplete 7 yet, download and try it today.