一旦系统被锁定,调用调用(从System.Windows.Automation.InvokePattern)的方法就会失败。在将我们的项目迁移到.NET 4.5.2之后,就可以看到这种行为。而在.NET 4.0中,即使在系统被锁定时,调用也能正常工作。
使用的dll是UIAutomationClient.dll,v4.0.0.0。
我得到的例外是:
System.InvalidOperationException未被用户代码处理,由于对象的当前状态,Message=Operation无效。
我知道UIA的GUI测试通常需要系统是unlocked.Since --当系统锁定在UIA 4.0中时,这个调用是工作的,迁移后我希望有相同的行为。
发布于 2015-09-03 12:07:15
根据文档,当
该元素不支持InvokePattern控件模式,也不被隐藏或阻塞。
这可以追溯到.NET 3.0,而且无论如何也不是由.NET端来处理的(它在底层的COM中),所以这与.NET版本不太可能有关系。
发布于 2015-09-04 12:57:27
当系统被锁定时,我不建议使用GUI做任何事情。在这种情况下,GUI上下文将丢失。因此,您甚至无法以编程方式发送键盘或鼠标事件。但您可以保持远程桌面(或VNC服务器软件)会话在窗口模式,非最小化,失去焦点。GUI上下文是存在的,您可以在另一个窗口的本地机器上与远程PC上的GUI自动化脚本并行工作。
https://stackoverflow.com/questions/32374974
复制相似问题