题
我们正在开发一个相当大的基于WPF应用程序,并希望包括在我们的测试套件一些自动化UI测试(它已经包含了许多的单元测试)。
从该 UI自动化框架微软部分听起来像是一个非常适合编程启动并在测试设置应用程序交互。不过,我在努力寻找样品和经验与扎实的技术参考,MSDN上提供的文章和小样本不足以说服我,这是一个坚实的选择。
因此,没有任何人在他们的测试套件使用UI自动化框架现实世界的经验?什么是警告和陷阱?当任何书面最佳实践的测试脚本,你能不能“记录和重放”到脚本化的格式,有多少你应该有利于从应用程序的测试,你如何将它在自动构建?我们应该寻找比UI自动化框架另一个方向?
随意在这里发表您的经验或链接到一些很好的参考我可能会错过
解决方案
我在哪里工作,我们才刚刚开始评估一些测试工具,我们的系统。我们遇到了一个叫白色工具,它使用UI自动化框架。需要注意的是白不也有记录功能,虽然我认为它有问题的外观和仍处于开发阶段。
我们试着做了设置它们看起来像单元测试即[TestFixture] [Test]
等。
然后,我们能够通过NUnit的同时为单位测试来运行它们。
我们发现,它可能很难到你的窗口中访问某些组件,但没有太多的机会来调查原因。
如果你不介意付出的软件,那么我会建议 TestComplete 。
其他提示
我在做工作一个WPF应用程序的UI自动化的中间。我使用的是白色和IronRuby和它的伟大工程。我已经写了,我怎么在这里所做的:的 http://www.natontesting.com/2010/02/17/how-to-test-a-wpf-app-using-ironruby-and-white/ 一>
我们最初去与白色,然后搬到远离它。它试图成为通用和抽象的过度的Win32 API,的WinForms,Java应用程序和MS UI自动化API。在MS UI自动化API还试图成为通用和抽象的过度的Win32 API和WinForms和WPF,让你在一种“最小公分母 - 的 - 最低公分母”的情况结束了。
这样做的结果是,白色元素搜索API根本没有足够的灵活性,以发现,我们需要找到不同的UI元素,并没有露出下面的UI自动化框架元素足以让我们做什么有用与它
我们结束了一个自产自销排序的框架去;我们直接使用MS UIAutomation框架,但有扩展方法和助手类来处理它并没有解决的方案。 (键盘和鼠标输入,主要)。
请注意:我们的测试脚本和自主开发的框架都使用IronRuby的。 Ruby的能力,方法添加到现有的类,它是灵活的语法(与method_missing的结合)是真棒对于这种事情。