第三方测试自动化工具的问题之一是你必须学习新语言才能在上面提高生产力,更不用说工具支持很差。我现在计划研究Microsoft UI Automation和附带的 .Net 3.0 和 White Framework。但在此之前,我想知道结果如何。
有没有人有相关经验可以分享?您是否已经使用UI自动化创建了可持续和成功的测试套件来测试您的应用程序?
编辑:这似乎是一个非常困难的问题。如果我在这几天内没有收到任何答案,我会设置赏金。
我回复晚了(你可能已经发货了),但我用它测试了一个WPF应用程序。
当我使用VS2010 beta1版本时,遇到了很多不稳定性和一些错误。使用发布版本后,问题就少了。
由于我同时学习WPF、VS UI自动化和WPF/Windows辅助功能,所以这是具有挑战性的。难以创建牢固的自动化UI测试也增加了难度。
在VS2010 RTM之后,我仍然遇到了与我们包装的原生/自定义页面有关的间歇性问题。我认为这部分是由于父母问题和线程/进程问题造成的。
我遇到的最大问题是当我试图针对WPF工具包中使用的某些控件进行测试时,特别是DataGrid控件。它有一些已知的UI自动化错误,我费尽了心思来解决它们。
我还遇到了一些挑战,其中UI自动化框架在幕后缓存数据。为了获取这些更新的数据(特别是可见性,当控件父级设置不当时),我必须重新实例化控件。
如果我的应用程序是纯WPF或纯Win32应用程序,并且没有从其他应用程序继承UI、在WebBrowser控件中包装东西、使用自定义控件等,那么我可能会再次使用它。如果你还没有做出决定,并且你的应用程序使用了其中任何一种,请尝试看看是否可以使用其他东西。也许使用更简单的脚本来进行有限的集成测试,并尝试使用模拟对象来覆盖其余部分的单元测试。
不过,我已经6个月没有使用过它了,所以你的情况可能会有所不同。
我一直在使用C#.net的MS UI Automation框架,发现它非常简单和有用。并没有观察到任何问题,但是它缺乏报告生成支持,因此您需要根据特定的测试用例编写自己的逻辑。
总体满意度:8/10。
冷静回应...最好我回答一个虚假的答案,以防没有好的答案。
我使用了一个轻量级的UI自动化测试版本,使用了与此类似的方法来针对.NET框架进行测试:
http://msdn.microsoft.com/en-us/magazine/cc163864.aspx
我在使用选项卡和决定要使用哪些面板时遇到了问题,但最终这导致了表单的重新设计(因此它实际上也发现了设计中的问题!)
我没有使用过Microsoft UI Automation,但是我正在使用AutoIt(http://www.autoitscript.com/autoit3/)进行一些GUI自动化。我正在使用它来测试我的Visual Studio插件。这并不是你问题的答案,但对你可能会有趣。
祝好,
Sebastiaan