远程桌面下GUI自动化测试异常的解决方法

2024年3月28日 1066点热度 0人点赞 0条评论

最近在云服务器上进行程序测试,其中涉及到一些自动化脚本的执行。如果远程桌面保持连接的话不会有任何问题,但是如果关闭远程桌面,就会引发异常:There is no active desktop required for moving mouse cursor!

问题原因是关闭远程桌面后,远程服务器的切换为登录界面,自动化脚本失去了输入焦点(可能是登出后系统切掉了键鼠相关钩子)。在网上搜了搜解决方案,Github上的一个帖子描述的就是这类问题:

https://github.com/pywinauto/pywinauto/issues/1096 ,相关参考还有:

https://support.smartbear.com/testcomplete/docs/testing-with/running/via-rdp/keeping-computer-unlocked.html

国内CSDN关于这个问题的解决方案和Github上一样,地址: https://blog.csdn.net/xiaouncle/article/details/103035537

总结一下步骤,备忘:

1、query session 命令查看当前session id,rdp-tcp#0 #后面的数字就是

2、创建一个bat脚本,写入命令 : tscon rdp-tcp#0 /dest:console 命令中#后面的数字填写query session查询到的数字。

3、以管理员权限执行bat脚本,当前远程桌面会话会自动关闭,但不会造成UI自动化脚本执行时出现异常。

4、有一点麻烦,需要先query,写入bat再执行,不过可以先这样用着。有时间的时候看看能不能按这个思路写个py脚本简化一下。

QThinker

前地产从业者,假装是个程序员,热爱编程与交易 自研QThinker量化交易框架

文章评论