是否有人使用Microsoft UI Automation成功实施UI测试自动化制度?

时间:2009-08-08 14:37:00

标签: .net ui-automation white

我正在寻找一个Automated UI测试框架/软件工具。在过去,我一直在使用TestComplete,虽然它是一个很好的软件,但是我认为GUI测试自动化的概念足够困难,我写a few postscomplain { {3}}。

第三方测试自动化工具的一个问题是,您必须学习新语言才能提高工作效率,更不用说工具支持很差。我现在打算查看.Net 3.0和about it附带的Microsoft UI Automation。但在我这样做之前,我想知道那里的结果是什么。

任何人都有经验可以分享吗?您是否在应用程序中使用UI自动化创建了可持续且成功的测试套件?

编辑:这似乎是一个非常难的问题。如果我在这几天内没有收到任何答案,我会为此设置赏金。

7 个答案:

答案 0 :(得分:4)

这是一个非常晚的回复(你可能已经发货了),但我用它测试了一个WPF应用程序。

当我使用VS110的beta1版本时,我有很多邋and,并遇到了一些错误。使用发布版本,我遇到的问题更少。

这很有挑战性,因为我同时学习WPF,VS UI自动化和WPF / Windows可访问性。很难创建防弹自动UI测试的事实增加了这个难度。

在VS2010 RTM之后,我仍然遇到了包含本机/自定义页面的间歇性问题。我认为这部分是由于育儿问题,部分原因是线程/流程问题。

我遇到的最大问题是当我尝试测试我们从WPF工具包使用的某些控件时,特别是DataGrid控件。它有一些已知的UI自动化错误,我有一段时间在他们身边工作。

我还遇到了一些UI自动化框架在后台缓存数据的挑战。我必须重新实例化控件才能获得有关它们的更新数据(特别是当控件很差时,可见性)。

如果我有一个纯WPF或纯Win32应用程序,它没有从其他应用程序继承UI,在WebBrowser控件中包装,使用自定义控件等,那么我可能会再次使用它。如果您还没有做出决定,并且您的应用程序使用了其中任何一个,那么我会看看是否可以使用其他内容。也许是一组更简单的脚本来进行更有限的集成测试,并尝试使用模拟对象来完成其余的单元测试。

我在过去的6个月里没有使用它,所以你的里程可能会有所不同。

答案 1 :(得分:3)

我们在这里使用White测试框架,效果很好。

框架使用win32消息传递来查找控件并与它们进行交互。在具有大量控件的大型表单上它相当慢,但这是我遇到的唯一缺点。我们也使用buildbot和nunit-console自动运行测试。

答案 2 :(得分:2)

我写了一个名为Bewildr的基于ironruby的gem,它包含了MS UI Automation框架。它已成功用于在包括BBC在内的多家公司实现MS WPF应用程序的自动化。以下是使用它的分步指南:http://www.natontesting.com/2011/08/27/step-by-step-example-of-bdding-a-wpf-app-with-cucumber-rspec-ironruby-and-bewildr/

答案 3 :(得分:1)

我一直在使用C#.net的MS UI自动化框架,我发现这非常简单和有用。没有观察到任何问题,但它缺乏报告生成支持,因此您需要根据您的具体情况编写自己的逻辑测试用例。

总体满意度:8/10。

答案 4 :(得分:0)

我没有使用Microsoft UI Automation的经验,但我正在使用AutoIt(http://www.autoitscript.com/autoit3/)来进行一些GUI自动化。我正在使用它来测试我的Visual Studio加载项。不是你问题的答案,但对你来说可能很有意思。

此致

Sebastiaan

答案 5 :(得分:0)

冷酷的反应...更好的我回答一个虚假的答案,以防万一没有好的答案。

答案 6 :(得分:0)

我使用类似的方法对.net框架使用轻量级的UI自动化测试:

http://msdn.microsoft.com/en-us/magazine/cc163864.aspx

我确实遇到了使用制表符和决定使用哪些面板的问题,但这最终导致了对表单的重新设计(所以它在设计中也发现了很多问题!)