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


我正在寻找一个自动UI测试框架/软件工具。过去我一直在用 TestComplete虽然它是一个很好的软件,但是我认为GUI测试自动化的概念被认为是非常困难的 几个帖子 至 抱怨  关于它

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

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

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


9465
2017-08-08 14:36


起源

这是我肯定想要研究的内容,但我将专注于测试和代码审查我们的应用程序的较低层暂时。无论如何,我看了你提供的链接,然后我做了一些研究,最后找到了微软UI自动化团队的博客。我在这里分享它,以防你还没遇到过它: blogs.msdn.com/winuiautomation - Alfred Myers


答案:


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

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

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

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

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

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

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

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


4
2018-01-16 05:58





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

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


3
2017-08-09 17:12





我写了一个名为ironruby的宝石 Bewildr 包装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/


2
2017-09-30 22:34





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

总体满意度:8/10。


1
2017-07-16 08:09





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

问候,

Sebastiaan


0
2017-08-09 16:58





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


0
2017-08-17 04:24



什么是写一个几乎空虚的答案? - Greg Domjan
@格雷格,那是因为我为这个问题提供了赏金,但是当这段时间结束时,没有一个答案是令人满意的,但我仍然选择接受作为一个公认的答案。这是写作和接受虚假答案的重点。 - Graviton
如果没有值得接受的答案,没有理由接受任何答案。保持问题开放! - Elmue


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

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

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


0
2017-08-18 05:56