有没有人成功地使用微软UI自动化实现UI测试自动化体系?

12
我正在寻找一个自动化UI测试框架/软件工具。过去我一直在使用TestComplete,虽然它是一款很好的软件,但GUI测试自动化的概念被认为是足够困难的,以至于我写了几篇帖子抱怨
第三方测试自动化工具的问题之一是你必须学习新语言才能在上面提高生产力,更不用说工具支持很差。我现在计划研究Microsoft UI Automation和附带的 .Net 3.0 和 White Framework。但在此之前,我想知道结果如何。
有没有人有相关经验可以分享?您是否已经使用UI自动化创建了可持续和成功的测试套件来测试您的应用程序?
编辑:这似乎是一个非常困难的问题。如果我在这几天内没有收到任何答案,我会设置赏金。

这是我肯定想研究的东西,但目前我会专注于测试和代码审查我们应用程序的底层。无论如何,我看了你提供的链接,然后做了一些研究,最终找到了微软UI Automation团队的博客。我在此分享,以防你还没有遇到它:http://blogs.msdn.com/winuiautomation/ - Alfred Myers
7个回答

4

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

当我使用VS2010 beta1版本时,遇到了很多不稳定性和一些错误。使用发布版本后,问题就少了。

由于我同时学习WPF、VS UI自动化和WPF/Windows辅助功能,所以这是具有挑战性的。难以创建牢固的自动化UI测试也增加了难度。

在VS2010 RTM之后,我仍然遇到了与我们包装的原生/自定义页面有关的间歇性问题。我认为这部分是由于父母问题和线程/进程问题造成的。

我遇到的最大问题是当我试图针对WPF工具包中使用的某些控件进行测试时,特别是DataGrid控件。它有一些已知的UI自动化错误,我费尽了心思来解决它们。

我还遇到了一些挑战,其中UI自动化框架在幕后缓存数据。为了获取这些更新的数据(特别是可见性,当控件父级设置不当时),我必须重新实例化控件。

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

不过,我已经6个月没有使用过它了,所以你的情况可能会有所不同。


3
我们在这里使用White测试框架,并取得了非常好的结果。
该框架使用win32消息来查找控件并与之交互。然而,在有很多控件的大型表单上,它的速度相当慢,这是我遇到的唯一缺点。我们还使用buildbot和nunit-console来自动化运行测试。

2

1

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

总体满意度:8/10。


0

冷静回应...最好我回答一个虚假的答案,以防没有好的答案。


2
@Greg,这是因为我为这个问题提供了赏金,但当期限结束时,没有一个答案令人满意,但我仍然被迫选择一个接受的答案。这就是编写和接受虚假答案的目的所在。 - Graviton
如果没有值得接受的答案,那就没有理由接受任何答案。让问题保持开放状态! - Elmue

0

我使用了一个轻量级的UI自动化测试版本,使用了与此类似的方法来针对.NET框架进行测试:

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

我在使用选项卡和决定要使用哪些面板时遇到了问题,但最终这导致了表单的重新设计(因此它实际上也发现了设计中的问题!)


0

我没有使用过Microsoft UI Automation,但是我正在使用AutoIt(http://www.autoitscript.com/autoit3/)进行一些GUI自动化。我正在使用它来测试我的Visual Studio插件。这并不是你问题的答案,但对你可能会有趣。

祝好,

Sebastiaan


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接