我可以使用哪种脚本工具来自动测试Delphi程序?

时间:2011-10-23 01:56:01

标签: windows delphi scripting automated-tests

我正在寻找一种自动化测试工具。我将使用脚本进行测试,而不仅仅是自动化,这意味着它不能只发送一些按键。它需要检查应用程序的窗口以查看它是否已正确更新。越便宜越好,成本没有下行限制。 ; - )

我需要一种真正的语言,包括函数,变量,循环,分支等,应用程序是用Delphi开发的。

我需要能够集中控制 * ,等待窗口出现,搜索控件/窗口,发送键盘输入并检查各种窗口/控件是否已更改状态(例如按钮是现在禁用,文本框包含正确的文本,打开一个对话框等。)。

几年前我曾经使用过AutoIt,现在又回到脚本了。我想知道在我离开的时候是否有任何新的发展。

有什么建议吗?

* 我不希望在应用程序的布局发生变化时将光标移动到绝对坐标。此引用from Wikipedia解释了原因:

  

回归测试也成为GUI的问题。这是因为GUI可能会在应用程序的各个版本之间发生显着变化,即使底层应用程序可能不会。设计为遵循通过GUI的特定路径的测试可能无法遵循该路径,因为按钮,菜单项或对话可能已经改变了位置或外观。   

6 个答案:

答案 0 :(得分:8)

我相信你刚才描述了TestComplete by SmartBear Software

答案 1 :(得分:6)

我在sikuli取得了一些成功,它具有python(jython)代码的优势。它建立在OpenCV之上,并使用完整的图像处理引擎来模拟匹配屏幕的各个部分。它还包含截图,等待更改以及击键和鼠标注入的编辑器和函数。

答案 2 :(得分:6)

自动执行您列出的所有内容。我一直用它来做同样的海豚。此外,Delphi在使用标准的Windows控件方面很好,这使得它很容易挂钩。

答案 3 :(得分:3)

与我的其他答案不同:PyWinAuto

它有完整的脚本(因为它是Python),它使用控件名称而不是X,Y坐标,它等待窗口,你可以发送按键。它是免费的。

缺点应该是显而易见的:)

答案 4 :(得分:1)

为了自动化delphi应用程序主要问题,我发现任何测试工具(带有delphi插件的QTP,测试完成,Testanywhere,autoit,sikuli)他们都没有检测到任何Tlabels和Tlist以及其他组件,这对于应用程序来说在delphi中构建是UI的重要组成部分。即使要进行基于func的测试,我们也需要最终检查前端的一个组件,看看func是否正在提供。即使要使脚本自动化,我们也需要首先能够检测并将对象添加到存储库中。

我们有一个应用程序,其中我们严重依赖于许多第三方组件。我试图用市场上几乎所有可用的工具检查可行性。 市场上最畅销的两种工具毫无用处。

  1. 使用Delphi插件的QTP是没有用的,即使在他们公开提到它不支持在delphi中构建的许多类的网站上也没有用。

  2. TestComplete它比QTP更好,它在里面检测到很多组件菜单组件,如果我没记错网格等。

  3. 然后经过几次谷歌搜索我找到了

    1. TestAnywhere在检测第三方构建组件方面当然更好。我发现的唯一问题是它没有检测到Tlabel类,而且有些组件不记得哪个。
    2. 当我谈到检测组件时,它可能是部分或完全的,即一些工具能够检测到XY坐标上有一个组件但是未能获得组件类或细节(如组件属性名称等),没有它们自动化和编写脚本很困难。

      休息全部或多或少是上面这些的组合或子集。

      仍在搜索!!!!!!!!!!!

答案 5 :(得分:1)

使用TestComplete,如果您将应用程序编译为打开的应用程序 - 即包含他们的库,它会使您的应用程序超级可检查。非常适合测试,可能不是最好的安全性。测试完成是最好的,我的预算只是贵了。

其中的脚本很棒,对Delphi的理解很棒。 pricetag并不是很好,特别是如果你想在一个组织内获得GUI测试的牵引力,就像听起来像你一样。