用于XAML视图/控件的GUI测试框架

时间:2009-08-01 02:28:07

标签: c# wpf user-interface xaml testing

我正在寻找一个可以帮助我测试XAML视图/控件的测试框架。不仅要验证正确的数据绑定,还要测试更复杂控件的外观和行为。显然,这通常会导致手动测试。

我的想法会是这样的:

  1. 使用您使用的任何单元测试框架编写正常的单元测试。
  2. 使用测试数据模拟视图模型。
  3. 创建/指定控件并提供视图模型和所需资源。
  4. (可选)定义一组手动断言。
  5. 执行此测试时,您应该看到任何给出的断言(可能是带有接受按钮的复选框)和相关控件。可能在容器或额外窗口中(特别是如果您正在测试Window控件)。

    我认为这在开发控件(您提供一些测试数据并且可以在没有整个应用程序的情况下检查控件)或系统测试部分验证视觉样式和行为时非常方便。使用专门的运行程序,还应该可以聚合断言结果并创建更全面的测试报告。

    我已经实现了一个非常原始的跑步者,但我觉得它可能会好很多。示例测试(looks like this):

    public void BasicStyle() {
        var runner = new GuiTestRunner(TestContext);
        runner.AddResources(new Uri("pack://application:,,,/Assembly;component/Resources/RadialContextMenuResources.xaml"));
    
        var contextMenu = ...;
        runner.Container.ContextMenu = contextMenu;
    
        runner.Assert("Shows a radial context menu with 7 entries.");
        runner.Assert("Each entry has a hover animation.");
        runner.Assert("Each entry can be clicked.");
        runner.Run();
    }
    

1 个答案:

答案 0 :(得分:3)

你看过UI automation了吗? 谷歌“wpf ui自动化”的示例代码更易于消化,然后前往msdn。