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

Maw*_*awg 8 windows delphi scripting automated-tests

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

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

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

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

有什么建议?

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

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

Har*_*riv 8

我相信您刚刚通过SmartBear Software描述了TestComplete.

  • +1.TestComplete非常昂贵,但它是Delphi和其他工具的完全可编写脚本的测试环境.SmartBear(以前称为AutomatedQA)多年来一直在制作像AQTime和TestComplete这样的Delphi友好工具,他们的产品是delphi领域的领导者.通常用于测试软件的其他公司的等效产品包括Mercury TestDirector和WinRunner,尽管我认为HP WinRunner现已不存在(EOL,不再销售). (2认同)

And*_*ker 6

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

  • 使用这样的工具的一个重要原因是,某些类型的应用程序无法向控件发送单击.所有者绘制控件都会发生这种情况(Java Swing就是一个很好的例子).另外,值得注意的是,因为编写sikuli只是python/jython,所以没有理由为什么你不能调用本机窗口代理来发送消息. (3认同)

Fid*_*del 6

Autoit会列出您列出的所有内容.我一直用它来做同样的海豚.此外,Delphi在使用标准Windows控件的意义上很好,这使得它很容易挂钩.