如何通过C#代码使编码的UI等待WPF应用程序完全加载

本文关键字:WPF 等待 应用程序 加载 UI 何通过 代码 编码 | 更新日期: 2024-09-12 16:18:38

我有一个启动的应用程序,然后显示一个带有加载进度的启动屏幕,然后显示主WPF应用程序窗口。我希望编码的UI等待主窗口出现后再继续测试。我如何等待C#代码?请注意,主应用程序负载没有特定的时间限制(没有定义的时间),有时可能需要40、2分钟、5分钟甚至更长时间。我如何才能等待启动屏幕加载完成,直到通过C#成功显示主应用程序?。

    [TestMethod]
    public void verifyApplicationMaximized()
    {
        ApplicationUnderTest _app = ApplicationUnderTest.Launch(_appPath);
        _app.WaitForControlReady();
        if (_app.Title.Equals("TTY® 2000") && !_app.Maximized)
            _app.Maximized = true;
        // Assert check
    }

如何通过C#代码使编码的UI等待WPF应用程序完全加载

您也可以通过WaitForControlExist方法等待应用程序主窗口上的控件存在。依赖属性值可能会使测试变得脆弱。

您可以使用WaitForControlPropertyEqual方法。

_app.WaitForControlPropertyEqual(ApplicationUnderTest.PropertyNames.Title, 
    "TTY® 2000", 1000 * 60 * 15);
//im using 15mins

虽然这是一个任意高的价值,但它应该符合你的目的。