Testing QT app with non-standard QT dll names
We have been using TestComplete for many years on .NET apps and now need to use it on a QT app. The QT dlls used by the app are named with a prefix. We cannot easily change this to fulfill the following requirement:
"Qt application modules
Do not rename or modify the following modules of the tested Qt application:
Where N is the used Qt version.
TestComplete uses these modules to access objects in the Qt applications. If these modules are renamed or some functions are deleted from these modules, TestComplete will not be able to access objects in tested Qt applications."
This seems like an unreasonable requirement. We are only talking about a file name. Is there a workaround(registry setting, some hidden developer setting, etc) for this besides us changing the qt dll names?
Qt is not a popular topic in the Community, so I think it is a good idea to create Support ticket via https://support.smartbear.com/testcomplete/message/ form in addition to your question here.
I do not have significant knowledge about Qt and thus not sure what was the reason for your developers to use custom dll names, but the idea I have is to ask developers to create (or autogenerate) proxy dlls with required names (so that TestComplete can access them as it expects) and make those proxy dlls to transfer function calls to relevant functions in your custom dlls.
Will this work?
/Alex [Community Hero]
[Community Heroes] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Heroes]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Hero] signature is used with permission by SmartBear Software.
I have created the formal support request with SmartBear. Thanks for the suggestion.
The idea of creating proxy dlls that call into our dlls is interesting but beyond the scope of the problem at hand. I may be wrong but it seems a trivial thing for TestComplete to access these dlls by a different name. The names should not be so deeply ingrained in the code as to make them unreachable from the TestComplete UI. Hopefully they can provide some kind of workaround or patch for us.