代码之家  ›  专栏  ›  技术社区  ›  Michael Galos

传统非MFC应用程序的自动化GUI测试?

  •  0
  • Michael Galos  · 技术社区  · 15 年前

    我们有一个系统,最初是几十年前开发的,多年来代码库不断增加。 这是一个相当重要的系统,配置由我们的部门维护(供应商不允许我们访问源数据库或基础数据库)。 客户端软件是一个自主开发的应用程序,基本上是一个连接到主数据库的奇特的终端应用程序。

    我希望能够编写单元测试来自动测试系统的各种功能组件。 我曾尝试使用autoit和autohotkey,但没有成功,我的问题是无法从窗口读取数据,因为它是一个自定义类(窗口查找器显示为空白)。 我甚至尝试将OCR API与autoit一起使用,但没有成功(这是不可靠的)。 我也尝试过使用像CRT和Putty这样的终端仿真器,但成功率有限,因为普通的客户端软件在按下键等时会发送特定的非终端标准数据。

    似乎所有测试套件都只适用于基于Web的应用程序或更标准化的应用程序。

    其他人也有类似的问题吗?

    3 回复  |  直到 15 年前
        1
  •  0
  •   Hadi Eskandari    15 年前

    尝试“自动质量保证:测试完成”。我们一直在使用它作为一个主要的应用程序,而现在,它是唯一的产品,可以测试WPF,Win32,.NET,Java等应用几乎没有麻烦。一旦您创建了测试场景,您可以稍后作为回归测试重新运行它。

        2
  •  0
  •   Tom E    15 年前

    对于Windows上厚客户端和/或终端客户端的自动化GUI测试,您还可以考虑使用IBM Rational Functional Tester、IBM Rational Robot、HP QTP、Compuware TestPartner、Borland Silktest。

    更具体地说,听起来您可能需要使用旧的复制粘贴工作。终端窗口是否具有等同于“编辑”->全选”、“编辑”->复制菜单的功能?如果是这样,您可以对其进行编码以单击GUI菜单来选择所有文本并复制到剪贴板。一旦文本在剪贴板上,就可以使用剪贴板API来访问和分析文本。

        3
  •  0
  •   Michael Galos    15 年前

    我最终使用了autoit和textcapturex的组合。 上面建议的解决方案是很好的产品,但在这种情况下并不能真正起作用。 textcapturex实际上钩住了windows gdi来获取文本。

    从那时起,我已经开发了测试脚本,可以很好地在我们的应用程序上执行GUI测试。