我的自动化框架由以下部分组成:UFT 开发人员 V15.0(以前的 LeanFT)+ Java + Maven + Junit。
UI 测试由 Jenkins 在专用 VM (OS = Windows 10) 上执行。我的许多测试用例都包括实际的键盘按下,因为这是 AUT 的要求,它是一个 Web 应用程序。
我的问题是,如果在用户未实际登录的情况下执行测试 - 需要专注于浏览器并按下键盘的情况 - 将失败。当我使用 RDP 登录虚拟机并最小化时 - 测试仍然会失败。当我使用 RDP 时,登录到 VM 并保持屏幕打开 - 测试将成功关注相关领域并通过。
我尝试使用以下脚本使用 tscon 断开连接,但仍然没有用:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (%windir%\System32\tscon.exe %%s /dest:console)
据我了解 - 问题似乎是焦点。为了尝试了解问题的根源,我想尝试获取当前处于 OS 级别焦点的实际活动元素,就像在浏览器上获取活动元素(“document.activeElement.id”)一样。由于 UFT 开发人员能够与 Windows 元素交互 - 有没有办法从操作系统中检索此类信息?或者,原始问题的解决方案(将注意力集中在正在运行的浏览器上)会很棒。