如何伪造表单测试输入?

时间:2009-01-31 15:26:40

标签: delphi events testing input

我正在为我的Delphi 2009应用程序构建测试工具。测试逻辑非常简单。确保表单正常工作证明有点复杂。我想要一种方法来模拟真实的用户输入,打开一个表单,让它认为用户键入某些东西并点击某些地方,并确保它正确反应。我确定有办法做到这一点,我只是不知道它是什么。有谁知道怎么做?

8 个答案:

答案 0 :(得分:6)

DUnit已经 GUITesting.pas 扩展测试,因此您可以将点击次数,键和文字发送到表单上的控件,但这就是它。

去年提到过CodeGear开发人员内部使用的 Zombie GUI测试框架,但自从史蒂夫离开Falafel后就没有了。

答案 1 :(得分:5)

TestComplete是一个不错的选择。 GUI测试的另一个商业选择是SmarteScript

答案 2 :(得分:1)

很好.net有NUnitForms用于GUI测试win应用程序。 但是不知道delphi的任何开源。

Test Complete可以测试delphi表单,但它不是免费的。

答案 3 :(得分:1)

这有两个部分,首先是如何自动化GUI,其次是如何“测试”它是否正常工作。

Firtsly:要在Windows上自动化GUI,请尝试使用AutoIT。它是一个免费工具,用于控制Windows界面,发送键盘输入事件等。http://www.autoitscript.com/autoit3/

其次:测试是一个很大的领域,我不会尝试给你一个旋风之旅。但是,驱动GUI和测试结果的机制可以使用AutoIT内置的Basic语言处理,也可以与Ruby和TestUnit(rubys内置单元测试框架)等语言结合使用。

答案 4 :(得分:1)

如果那里没有Deliphi-specic,你需要快速解决方案,请尝试一些易于学习的脚本解决方案,如AutoIt。 对于更复杂的脚本,您可以查看Scripted GUI Testing with Ruby

但请注意,您不应通过GUI测试太多功能,因为此类测试很可能会破坏。如果你最终进行了太多的GUI测试,你可能需要重新考虑设计:从GUI去耦逻辑并直接用一些xUnit框架测试逻辑。

另请查看有关windows forms test automation的类似问题。

答案 5 :(得分:1)

似乎DUnit有一些gui测试功能:delphiextreme.com

答案 6 :(得分:0)

不完全是你的问题的答案,但马丁福勒有一个关于GUI Architectures的非常好的页面(恕我直言),其中“Humble View”架构作为最后一个条目,专门针对测试驱动的软件开发。值得研究。

这当然不会帮助您测试是否所有控件都正确连接并处理所有必要事件,但它应该有助于最小化 需要测试的GUI代码量。

答案 7 :(得分:0)

OpenCTF对你有好处。

<强>引用:

  

OpenCTF是EmbarcaderoDelphi®的测试框架附件   对Forms(或DataModules)中的所有组件执行自动检查。

     

它提供了一种为大型企业构建自动质量检查的简便方法   许多组件必须通过重复测试的项目。

     

将OpenCTF测试添加到DUnit测试套件只需要几行代码。   编写自己的自定义组件测试只需几秒钟。

     

OpenCTF基于DUnit开源测试框架并进行了扩展   它由专门的测试类和辅助函数组成。

请前往here下载。