使用 Test Complete 7.0 测试 D2009 应用程序
我们正在尝试使用 Test Complete 7 来测试在 Delphi 2009(最近从 D2006 移植)中编译的应用程序。 理论上,这应该非常简单 - 您使用调试信息编译应用程序,然后使用剥离器实用程序将调试信息剥离到单独的 *.tds 文件中。 然后 TC 应该可以访问它需要的所有属性和方法。 在实践中我们发现: a) 让许多属性和方法完全出现可能非常困难 b) 如果它们确实出现并且具有参数/索引,则指示的参数/索引列表可能与我们代码中的实际列表没有关系 c) 看起来正常的方法和属性除了完全垃圾之外不起作用/返回任何东西。
还有其他人有过这种情况的经历吗?您遇到过任何问题吗?如果您能够解决这些问题,您会做什么?
自动化 QA 正在为我们研究这个问题,但我们似乎没有取得太大进展,而且看起来他们解决这个问题的唯一方法就是我们向他们发送我们应用程序的源代码,这是我们不愿意的出于从实际到法律等各种原因而这样做。
顺便说一句,在一个小型测试应用程序上,我们没有遇到同样的问题。
We are trying to use Test Complete 7 to test an application compiled in Delphi 2009 (recently ported from D2006). In theory this should be really easy - you compile your app with debug information, then user a stripper utility to strip the debug info out into a separate *.tds file. TC should then have access to all the properties and methods it needs. In practice we are finding that:
a) it can be quite hard to get many properties and methods to appear at all
b) if they do appear and they have parameters/indices then the indicated parameter/index list may bear no relation to the actual list in our code
c) methods and properties that appear to be shipshape do not work/return anything other than complete rubbish.
Does anyone else have any experience of this scenario, did you experience any problems, and if you were able to solve them, what did you do?
Automated QA are looking into this problem for us, but we don't seem to be making much headway, and it is looking like the only way they will solve this is if we send them the source for our application which is something we are reluctant to do for various reasons ranging from practical to legal.
btw, on a small test app, we do not experience the same problems.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我正在回答我自己的问题,因为我们已经发现了问题。 将泛型添加到可执行文件似乎会创建调试信息,测试完成无法处理。 还不确定是否是 Delphi 弄乱了调试信息,或者 Test Complete 没有正确读取它。
I'm answering my own question, as we have found the problem. Adding Generics to the executable seems to create debug information, Test Complete can't handle. Not sure yet if it is Delphi messing up the debug information, or Test Complete not reading it properly.
如果问题没有出现在小型测试应用程序中,您可以进行“二分搜索”:
将大应用程序的更多单元(以及对这些单元中的方法的调用)添加到测试应用程序,然后检查问题是否出现。
如果是,请删除一些单元,直到问题消失。
如果不是,请添加更多单元并再次测试,直到问题出现。
经过一些迭代后,您应该找到导致问题的单元/操作。
If the problem does not appear in a small test application, you could do a 'binary search':
Add more units (and calls to methods in these units) of the big app to the test application, and check if the problem appears.
If yes, remove some units until the problem goes away.
If no, add more units and test again until the problem appears.
After some iterations, you should find units/operations which cause the problem.
只是建议:
在您的大项目中,您是否使用任何可能改变或以其他方式“无效”调试信息的东西? 也许是 Mad except (Mad except 不会将调试信息捆绑到 exe 本身中,这可能会导致任何其他生成的调试信息不正确?)
您是否为测试应用程序使用与主应用程序相同的编译器设置? 也许您在主应用程序中使用的第三方组件自然不会出现在您的测试应用程序中?
Just suggestions:
In your big project, are you using anything that might alter or otherwise 'invalidate' the debug info? Madexcept perhaps (doesn't Madexcept bundle the debug info into the exe itself, which might render any other generated debug info incorrect?)
Are you using the same compiler settings for your test app as you are for the main app? Perhaps you are using a third party component in the main app that naturally doesn't feature in your test app?