c# - VS2019 测试资源管理器由于焦点错误导致点击失误
问题描述
我正在使用Visual Studio 2019
, 并WinAppDriver
在一个简单的WPF Application
.
为此,我使用集成在 VS 中的测试资源管理器。
问题:当我通过它运行我的测试时,Test Explorer
它会在后台(在 Visual Studio 后面)打开我想要的窗口;然后它在正确的位置执行 clicks`,但是鼠标在我的 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 Explorer
工作正常Debug
,但在normal
模式下它不能正确打开应用程序但不会将其置于前面,因此单击将命中 Visual Studio 而不是所需的应用程序。
出了什么问题?如何修复Test Explorer
自动将测试应用程序置于最前面?
我希望我就在这里。这是我的第一个问题,所以如果我错过了某事,请告诉我。祝你有美好的一天,提前感谢!
编辑:我通过Window.Topmost = true;
在我的 -Constructor 中设置属性找到了一种解决方法,MainWindow()
但这并不是我真正想要的。
解决方案
推荐阅读
- google-apps-script - 无法使用谷歌应用脚本解析 SOAP XML 响应
- javascript - TypeError:无法读取 discord.js 中未定义的属性“执行”
- julia - N 长元组作为可选参数
- github - 将文件复制到 GitHub 工作区
- ios - 从情节提要初始化 UIViewController 返回基本 UIViewController 而不是继承的版本
- sql - 如何为 400 万条记录生成 6 位唯一字母数字字符串,长度为 6 个字符,不区分大小写。通过更换
- typescript - 从 Firebase 函数返回更新方法是否会满足承诺要求并自动记录事件?
- firebase - 为什么我的 Flutter 应用程序显示“名称为 __FIRAPP_DEFAULT 的应用程序不存在”。
- django-rest-framework - 使用 Django Rest 框架过滤每个继承视图集的视图集
- javascript - 如何单击 div 并获取其背景颜色(纯 JS)