使用TestStack.White测试触发后台工作的控件

时间:2019-03-20 08:36:30

标签: c# wpf ui-automation teststack

我正在尝试为WPF应用程序编写UI测试用例。这由一个搜索文本框组成。在向文本框提供输入后,将在后台线程中搜索输入字符串。

这是我的基本代码:

public void TestMethod1()
{
    var applicationDirectory = @"C:\projects\dev\source\bin\Debug";
    var applicationPath = Path.Combine(applicationDirectory, "Some.exe");

    Application application = Application.Launch(applicationPath);
    Window mainWindow  = application.GetWindow("Window Title");

    mainWindow.Get<TextBox>().Text = "testing things out";

    Assert.IsTrue(true);

    mainWindow.Dispose();
    application.Dispose();
}

现在在我设置Text属性的行上,后台工作将开始,并且框架将引发异常:

  

TestStack.White.UIItems.UIActionException:窗口没有响应,   等待50000毫秒后

基本上,框架等待配置的时间,然后由于后台工作未及时完成而引发异常。

我已经检查了documentation,其中提到了一种解决方法,但这将涉及我更改应用程序代码。由于这是一个遗留应用程序,因此我不想更改代码(我们正在迁移中,因此想限制代码更改)。

这似乎是一个常见问题,但是还没有看到任何解决方案?有什么想法吗?

更新 以下代码确实有效,尽管仍无法找到原始问题的解决方案。

mainWindow.Get<TextBox>().BulkText = "testing things out";

0 个答案:

没有答案