VS2019测试资源管理器由于焦点错误而误点击

时间:2019-04-29 08:31:13

标签: c# unit-testing visual-studio-2019 test-explorer winappdriver

我正在使用Visual Studio 2019WinAppDriver在简单的WPF Application上运行单元测试。
 为此,我使用了VS中集成的Test Explorer。
问题:当我通过Test Explorer运行测试时,它会在后台(在Visual Studio后面)打开所需的窗口;然后它会在正确的位置执行点击操作,但是鼠标不在我的Visual Studio中单击,而是在我所需的应用程序窗口中单击,因为它没有显示在最前面。

当我以Debug模式启动测试时,一切正常。窗口打开并聚焦在前面。点击右键等,这样我的代码就不会成为问题了!!

我尝试等待它准备就绪(可点击),然后再单击以使其点击:

private void WaitFindClick(string id, string wpf_type)
{
    var wait = new DefaultWait<WindowsDriver<WindowsElement>>(session);
    wait.Timeout = TimeSpan.FromSeconds(5);
    wait.PollingInterval = TimeSpan.FromMilliseconds(100);
    wait.IgnoreExceptionTypes(typeof(InvalidOperationException));
    wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath($"//{wpf_type}[@AutomationId=\"{id}\"]")));
    session.FindElementByAccessibilityId(id).Click();
}

总结一下,Test ExplorerDebug模式下可以正常工作,但是在normal模式下却不能正常运行,它可以正确打开应用程序,但不会将其置于最前面,因此Click可以打到Visual Studio而不是所需的应用程序。

出了什么问题?如何修复Test Explorer以自动将Test App置于最前面?

我希望我在这里。这是我的第一个问题,因此,如果我错过了某事,请告诉我。 祝你有美好的一天,并提前致谢!

编辑: 我通过在Window.Topmost = true;构造函数中设置MainWindow()属性来找到一种解决方法,但这并不是我真正想要的。

0 个答案:

没有答案