Delphi 使自定义控件在TestComplete中更易于测试
(这在TestComplete论坛中可能更好,但我想我还是在这里试一试) 我们希望通过TestComplete对我们的Delphi 2010应用程序进行自动化测试。我们的应用程序使用的主控件是我们自己的自定义控件,它直接派生自TCustomControl (作为参考,该控件类似于一个数字化工具,显示包含文本的框。可以选择这些框。该控件完全是自定义绘制的,包括所选内容) 我们希望使这个TestComplete更加友好,这样我们就可以从中读取数据(例如,哪些数据加载到控件中,哪些数据被选中) 我还应该提到,我们的应用程序使用MVC架构,并且大量使用接口。TestCompletes调试代理似乎无法返回有关接口的任何类型信息,因此我们无法从接口获取任何数据。我怀疑这是我们问题的根源 我正在考虑这两种方法:Delphi 使自定义控件在TestComplete中更易于测试,delphi,delphi-2010,testcomplete,Delphi,Delphi 2010,Testcomplete,(这在TestComplete论坛中可能更好,但我想我还是在这里试一试) 我们希望通过TestComplete对我们的Delphi 2010应用程序进行自动化测试。我们的应用程序使用的主控件是我们自己的自定义控件,它直接派生自TCustomControl (作为参考,该控件类似于一个数字化工具,显示包含文本的框。可以选择这些框。该控件完全是自定义绘制的,包括所选内容) 我们希望使这个TestComplete更加友好,这样我们就可以从中读取数据(例如,哪些数据加载到控件中,哪些数据被选中) 我还应
编辑:我刚刚阅读了SDK帮助,只能为.net和WPF控件创建自定义控件插件 您应该重新考虑使用发布版本进行测试的决定。原因是TestComplete需要一些魔力来让您的测试生活更轻松,而您不希望这种魔力出现在发布版本中。因此,如果您可以详细说明不使用调试构建进行测试的原因,我们可以尝试找到一个解决方案来撤销此决定。结果可能是,如果您只显示TestComplete的所有可用功能,您就可以访问控件的所有相关数据 现在回到原来的问题:您可以通过创建一些特殊的类来包装这些接口,从而使属性在TestComplete中可用,从而克服接口问题
创建一个小的(可能是不可见的)测试表单,在这里集中访问这些类的实例。(现在是发布模式链接)仅在调试模式下创建此表单,因此,经过仔细设计后,您仅在测试需要时链接相关代码。关于调试信息,您是对的-您可以将其从发布版本中删除。因此,您将测试一个发布版本,同时可以访问内部构件。
关于这种情况的注意事项:“链接器通常会删除未使用的属性和函数。”您可以在此处作弊,使链接器为这些函数生成调试信息:
使用发布版本的两个原因:1。这是为了我们的功能测试,我们希望在客户将获得的相同构建上进行测试。发布版本和调试版本之间可能存在细微的行为差异,例如调试版本可能会跳过许可证检查。2.根据TestComplete 7帮助,您可以使用发布配置构建应用程序,但也可以包含td32信息。然后,您可以使用striptds.exe util将调试信息删除到自己的文件中。你关于包装接口的建议很有趣,我来看看。 var t: Boolean; begin t := False; if t = True then TheFunctionThatNeverExecutes(); ... end;