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