11

我正在寻找一个自动化 UI 测试框架/软件工具。过去我一直在使用TestComplete,虽然它是一个很好的软件,但是 GUI 测试自动化的概念被认为是足够困难的,所以我写了几篇文章抱怨

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

有人有这方面的经验可以分享吗?您是否在应用程序上使用 UI 自动化创建了一个可持续且成功的测试套件?

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

4

7 回答 7

4

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

我在使用 VS2010 的 beta1 版本时,出现了很多问题,并且遇到了一些错误。使用发布版本,我遇到的问题更少。

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

在 VS2010 RTM 之后,我们包装的本机/自定义页面仍然存在间歇性问题。我认为这部分是由于育儿问题,部分是由于线程/进程问题。

我遇到的最头疼的事情是当我尝试针对我们使用的 WPF 工具包中的某些控件进行测试时,尤其是 DataGrid 控件。它有一些已知的 UI 自动化错误,我花了很长时间来解决它们。

我还遇到了 UI 自动化框架在后台缓存数据的一些挑战。我将不得不重新实例化控件以获取有关它们的更新数据(尤其是可见性,当控件的父级不佳时)。

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

不过,我在过去 6 个月内没有使用过它,因此您的里程可能会有所不同。

于 2011-01-16T05:58:34.067 回答
3

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

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

于 2009-08-09T17:12:10.050 回答
2

我编写了一个名为 Bewildr 的基于 Ironruby 的 gem 它封装了 MS UI 自动化框架。它已成功用于在包括 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/

于 2012-09-30T22:34:16.050 回答
1

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

总体满意度:8 / 10。

于 2010-07-16T08:09:08.773 回答
0

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

问候,

塞巴斯蒂安

于 2009-08-09T16:58:44.897 回答
0

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

于 2009-08-17T04:24:09.407 回答
0

我已经为 .net 框架使用了一个轻量级的 UI 自动化测试,使用了与此类似的方法:

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

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

于 2009-08-18T05:56:56.203 回答