我可以使用什么脚本工具对Delphi程序进行自动化测试



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

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

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

几年前我曾经使用AutoIt,现在我又开始使用脚本了。我想知道在我离开的这段时间有没有什么新的进展。

有什么建议吗?

* 我不想将光标移动到绝对坐标,以防应用程序的布局改变。这句话来自维基百科,解释了为什么:

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

我相信您刚才描述的是SmartBear Software的TestComplete。

Autoit执行您列出的所有操作。我一直用它来对付同一只海豚。此外,Delphi的优点还在于它使用了标准的窗口控件,这使得它可以很容易地连接到。

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

与我的其他答案有所不同:PyWinAuto

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

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

自动化delphi应用程序的主要问题是,我发现任何测试工具(QTP with delphi adddon, Test Complete, Testanywhere, autoit, sikuli)他们都不检测任何tlabel和Tlist以及其他组件,这些组件对于在delphi中构建的应用程序构成了UI的突出部分。即使是基于函数的测试,我们也需要在前端检查组件,看看函数是否正确给出。甚至为了使脚本自动化,我们首先需要能够检测对象并将其添加到存储库中。

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

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

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

然后经过几次谷歌我找到了

  1. TestAnywhere,它在检测第三方构建组件方面当然更好。我发现的唯一问题是,它不检测Tlabel类和一些组件不记得是哪个。

当我说到检测组件时,它可能是部分的或完全的,即一些工具能够检测到在XY坐标上有一个组件,但未能获得组件类或细节(如组件属性名称等),没有这些就很难自动化和编写脚本。

其余的都或多或少是以上这些的组合或子集。

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

使用TestComplete,如果你把你的应用编译成一个开放的应用——也就是说,包含它们的库,它会让你的应用变得超级可检查。对于测试来说很好,但对于安全性来说可能不是最好的。测试完成是最好的,只是对我的预算来说太贵了。

里面的脚本很棒,对Delphi的理解也很棒。价格并不高,特别是如果你想在一个组织中获得GUI测试的牵引力,就像你听起来的那样。

最新更新