This topic lists typical issues you may experience when testing Delphi applications with TestComplete and possible solutions to these issues.
TestComplete cannot get access to applications’ internal members
A Delphi application compiled for an earlier version of TestComplete works incorrectly
TestComplete cannot get access to applications’ internal members
If TestComplete cannot access internals of the Delphi application under test, go through the following steps:
- Check whether the Debug Info Agent™ is enabled.
TestComplete uses the Debug Info Agent™ technology to access internals of Delphi applications. You can check whether the Debug Info Agent™ is enabled on the Project Properties - Debug Agent Options or Default Project Properties - Debug Agent Options page.
- Check whether the tested application is compiled with debug information.
If your Delphi application is compiled without debug information, TestComplete can access only published properties of the application. In order to access public, protected and private properties and methods of your Delphi application from your tests, you must compile your application with debug information.
- Check whether the "Read debug information for statically linked libraries" project option is enabled.
If your application is compiled with runtime packages, you must enable the Read debug information for statically linked libraries project option, otherwise TestComplete will be unable to get access to some of the application’s internals.
-
Make sure that the application is not compiled with a tool that may change the debug information format.
The TestComplete Debug Info Agent is incompatible with tools that change the debug information format. An example of such a tool is EurekaLog 7. We recommend that you disable EurekaLog when compiling an application that is aimed for automated testing with TestComplete.
- Check whether the internal object of the application is visible.
The methods and properties provided by TestComplete can be applied only to objects (specifically VCL objects) which are currently visible. You can either replace these methods and properties with identical native methods and properties of VCL or Delphi, or perform a call when the needed object becomes visible (for example, after the required actions are performed).
A Delphi application compiled for an earlier version of TestComplete works incorrectly
Delphi applications that were compiled for earlier versions of TestComplete may function incorrectly in TestComplete 12. In earlier versions of TestComplete, to be able to get access to Delphi application’s internals, you had to recompile the application with helper tcOpenApp.pas, tcOpenAppClasses.pas and tcPublicInfo.pas files supplied with TestComplete. In TestComplete 12, these files are no longer used.
To resolve the issue, remove the above mentioned files from your Delphi project and rebuild it. See also Migrating Projects Created in Earlier Versions to TestComplete 12.