代码之家  ›  专栏  ›  技术社区  ›  Jamie

使自定义控件在TestComplete中更易于测试

  •  2
  • Jamie  · 技术社区  · 14 年前

    我们正在寻找我们的产品的自动化测试 四黄水蜜外敷 测试完成 t自定义控件 .

    我们希望使这个TestComplete更加友好,这样我们就可以从中读取数据(例如,哪些数据加载到控件中,哪些数据被选中)

    我正在考虑这两种方法:

    1. 向控件添加新属性,该控件将返回有关当前选定框的信息。e、 g.文本框中的文本、屏幕上的位置、层次结构路径,并通过TestDebug代理访问它们。

    2. 看一下为TestComplete创建一个自定义控件附加组件(我甚至不确定您是否可以用Delphi控件实现这一点)

    第一种方法的问题是,如果不使用属性和函数,链接器通常会删除它们。我们希望使用发布版本进行测试,而不是调试版本。

    有没有人对此有什么建议或经验?

    谢谢

    编辑:我刚刚阅读了SDK帮助,自定义控件插件只能为.net和WPF控件创建。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Alex    14 年前


    关于这种情况的注意事项:“如果不使用属性和函数,链接器通常会删除它们。”您可以在此处作弊,使链接器为这些函数生成调试信息:

    1. 发布函数。链接器不接触已发布的元素。
    2. 使功能虚拟化。链接器不排除虚拟方法。
    3. 调用代码中的函数。要在代码中包含调用而不实际调用任何内容,可以执行以下操作:
    var t: Boolean;
    begin
      t := False;
      if  t = True then
        TheFunctionThatNeverExecutes();
    ...
    end;
    
        2
  •  2
  •   Uwe Raabe    14 年前

    您应该重新考虑使用发布版本进行测试的决定。原因是TestComplete需要一些魔术来让您的测试生活更轻松,而您不希望这个魔术出现在发布版本中。因此,如果您可以详细说明不使用调试构建进行测试的原因,我们可以尝试找到一个解决方案来撤销此决定。结果可能是,如果您只显示TestComplete的所有可用功能,您就可以访问控件的所有相关数据。

    现在回到原来的问题:您可以通过创建一些特殊的类来解决接口问题,这些类包装这些接口,从而使属性在TestComplete中可用。

    创建一个小的(也许是不可见的)测试表单,在这里集中访问这些类的实例(现在发布模式链接)只在调试模式下创建此窗体,因此,在仔细设计时,只在需要测试时链接相关代码。