远程桌面连接方式造成键盘鼠标失效(UI自动化)
winserver 2012 2016系统
一、初识鼠标键盘失效问题
当用户在一段时间内没有对Windows进行任何操作,Windwos会自动切换到锁屏模式(或屏保模式),甚至待机。
对于普通用户来说,这样设置没问题,而且这也是官方推荐的设置。但如果这台电脑是IT开发人员用来进行自动化测试的机器,尤其是包含UI交互的测试(比如,用脚本操控鼠标来模拟点击一个按钮),这样设置就是错误的,因为退出桌面后,鼠标键盘会失效,UI自动化无法正常进行。
解决这一问题思路很简单:保持计算机一直在桌面上。
具体实施的方法如下:设置Windows的电源模式,让Windows不要自动锁屏和待机,同时去掉屏保。
二、问题进阶
UI自动化测试期间,执行测试的电脑几乎不能被其他人使用(因为鼠标、键盘等输入设备此时需要响应自动化测试脚本)。
为了不影响工作我们通常会搭一台虚拟机,然后远程连接到虚拟机,在虚拟机里进行UI自动化测试。
这种方式很常用,但存在一个问题:如果我们在测试过程中将远程桌面最小化或关闭远程桌面,那测试也会因为鼠标键盘失效而中断。
三、问题成因
最小化会让远程桌面的会话切换到无图形界面的模式,这自然就无法继续接收鼠标、键盘的指令。
关闭远程桌面会让系统切换到登录Desktop的界面,而在登录Desktop的界面上没有我们打开的其他窗口,因此会导致UI自动化测试失败。
四、初级解决方案
1、远程连接上虚拟机,永不关闭,永不最小化
2、如果远程连接的机器是物理机的话,直接打开物理机,启动测试,关闭屏幕。注意:不要远程登录本机器,否则参考方法1
五、远程桌面最小化中断测试的解决办法(注:从机器A通过远程桌面连接机器B,则需要在机器A上修改注册表)
1、运行regedit
2、找到注册表项HKEY_CURRENT_USER\Software\Microsoft\TerminalServer Client
3、新建一个类型为DWORD的注册表项RemoteDesktop_SuppressWhenMinimized并设置值为2
4、然后找到注册表项HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\TerminalServer Client
5、新建一个类型为DWORD的注册表项RemoteDesktop_SuppressWhenMinimized并设置值为2
6、关闭注册表编辑窗口并重启计算机
注意:上述配置仅对当前用户生效,如果你想让新增的注册表项应用于所有用户的话,则需要在HKEY_LOCAL_MACHINE下新建对应的注册表项。
六、关闭远程桌面中断测试的解决办法1
1、我们之前通过点击x图标来关闭远程桌面会导致鼠标键盘失效,本方法的解题思路是用命令关闭远程桌面,同时保留连接。
2、在远程桌面(被连接的电脑)中先执行 query session 来查看当前登录到的 session,(远程桌面的 sessionName 都以 rdp-tcp 开头)。
3、以管理员身份打开命令行工具,并执行 "tscon rdp-tcp#71 /dest:console",其中 rdp-tcp#71 为SessionName,我们可以把rdp-tcp#71替换为对应的ID。
4、该命令会关闭远程桌面的连接,然后把连接返回给远程的那台电脑(绕开登录过程)。
5、这里的 console 也是一个 SessionName,而这个名字的意思并非是 C# 中 “控制台” 的意思,而是指带有输入输出设备的机器,一般直接登录电脑的会话就是 console。
七、关闭远程桌面中断测试的解决办法2
1、每次都打开cmd执行命令太麻烦了,我们可以把命令封装成bat文件,当需要关闭远程桌面并保留连接时以管理员身份执行即可。
2、新建文本文件,将其重命名为Close_RDP.bat
3、将下边六行代码拷贝进去
@%windir%\System32\tscon.exe 0 /dest:console
@%windir%\System32\tscon.exe 1 /dest:console
@%windir%\System32\tscon.exe 2 /dest:console
@%windir%\System32\tscon.exe 3 /dest:console
@%windir%\System32\tscon.exe 4 /dest:console
@%windir%\System32\tscon.exe 5 /dest:console
当多个用户登录同一台计算机时,就会出现 Session ID 大于1的情况,比如远程桌面。
.bat文件中有六行命令,在本例中实际起作用的是ID=4的那一条,由于你不能确定自己是第几个登录到远程桌面的,也就无法确定自己的SessionID,
本例仅处理了0~5的SessionID,如果你进行远程连接时被分配的SessionID是6,那脚本就对你无效了,自己稍加修改即可。
八、关闭远程桌面中断测试的解决办法3
假设用于进行UI自动化测试的机器是虚拟机B,现在使用另一台虚拟机A作为中转。
1、本机先连接虚拟机A
2、然后再从虚拟机A连接到虚拟机B
3、最后断开本机与虚拟机A的连接
远程桌面连接方式造成键盘鼠标失效(UI自动化)相关推荐
- 无法连接到远程网络连接到服务器失败怎么办,无法远程桌面连接到服务器怎么办(连接失败原因和解决法)...
释放双眼,带上耳机,听听看~! 方法一:使用windows自带的shutdown命令,远程重启服务器 当远程桌面连接服务无法顺利使用后,我们首先要确定的是服务器是否真的死机.我们可以通过ping目标服 ...
- 远程--不用关闭防火墙,也可以远程连接(远程桌面连接不上怎么办)
大家在使用远程桌面功能时可能会遇到远程桌面连接不了的情况,在这里给大家介绍解决方法. 远程桌面连接可以远程控制另一台电脑做各种操作,凡事都可能会出现一些意外的问题,同样win7远程桌面也可能会出现远程 ...
- 远程桌面连接不上,三种方法教你重启服务器
方法一:使用windows自带的shutdown命令,远程重启服务器 当远程桌面连接服务无法顺利使用后,我们首先要确定的是服务器是否真的死机.我们可以通过ping目标服务器IP看是否畅通或者访问该服务 ...
- linux远程windows无法输入,XRDP在Windows下用远程桌面连接,键盘失效有关问题
XRDP在Windows下用远程桌面连接,键盘失效问题 很久没上这个博客了,最近在做虚拟化方面的东西,有个需求是通过windows远程连接Linux桌面,采用的是xrdp.安装和使用xrdp都比较容易 ...
- 计算机远程桌面连接有几种方式,计算机都有哪些方式能够实现远程桌面连接功能?...
原标题:计算机都有哪些方式能够实现远程桌面连接功能? "极客谈科技",全新视角.全新思路,伴你遨游神奇的科技世界. 前言:计算机远程桌面连接功能是一种较为使用的工具,微软的Wind ...
- debian-7.11.0-amd64用xrdp远程桌面连接时键盘错乱的修复
习惯安装好wheezy后第一件事就是安装远程桌面的支持和自己用惯用的文本编辑器joe $ sudo apt-get -y --force-yes install xrdp joe 然后从win台机用远 ...
- 远程桌面连接服务器时,键盘不能正常打字
远程桌面连接服务器时,键盘不能正常打字.此时把windows自带的小键盘打开后,此时再用键盘就能正常输入. 打开小键盘的方法: 1.运行行输入:osk 2. 开始-附件-轻松访问-屏幕键盘.OK 另一 ...
- 通过Windows的远程桌面连接树莓派
文章目录 ▌01 远程连接树莓派 1.用于课程设计的Raspberry Pi4 ModelB 2.配置信息 (1)方法来源 (2)网络连接条件 ▌02 远程连接配置 1.配置Raspberrry Pi ...
- WIN7远程桌面连接方法!远程控制教程!XP远程桌面连接教程!如何设置远程桌面连接?远程桌面连接设置!
WIN7远程桌面连接方法! 首先,我们要在被连接的计算机上进行设置.使用鼠标右键单击"计算机"图标,选择"属性" 在打开的"系统&quo ...
- WIN7远程桌面连接方法!远程控制教程!XP远程桌面连接教程!如何设置远程桌面连接?远程桌面连接设置...
WIN7远程桌面连接方法! 首先,我们要在被连接的计算机上进行设置.使用鼠标右键单击"计算机"图标,选择"属性" 在打开的"系统"窗口点击& ...
最新文章
- 2020 IEEE冯诺依曼奖得主:Michael Jordan --机器学习领域泰斗级人物
- Windows Small Business Server 2003 意外关闭 ; 1001, 1013 和 1014 事件记录
- linux ubuntu无法登陆,新手入门求解答!ubuntu命令创建用户无法登入问题!
- 【剑指offer-Java版】45圆圈中最后剩下的数字
- Xcode搭建真机调试环境 图文实例
- smtplib python教程_Python使用poplib模块和smtplib模块收发电子邮件的教程
- 解决opencv输出视频无法正常播放问题
- 多输出模型实例的数据加载
- DB2数据库迁移,数据库导入导出
- js上传图片转base64格式
- 随机信号分析学习笔记(3)
- 计算机机房的消防验收,机房建设(消防)解决方案
- [总结] 上海看房体验有感
- 如何在word中的框中打钩、打叉
- 团队作业8----第二次项目冲刺(Beta阶段) 第三天
- 电子元件-温湿度元件与传感器
- 恒生期货交易时间(恒生指数期货交割日期)
- NI LabVIEW 2018 DAQmx定时属性节点 缺失部分属性的问题 解决方案
- 如需定义元素内容与边框间的空间,可使用 padding 属性,并可使用负值?
- 解决思科 Cisco Packet Tracer 7.3登录问题
热门文章
- matlab里的pid参数调节,pid调节的方法
- 你到底是前端人还是搬砖人?推荐一款国产摸鱼神器!
- 贝叶斯网络与EM算法
- 【208.11.21 直播QA】TI C2000 Piccolo单芯片——实现双轴伺服电机和马达控制
- csgo服务器显示连接中,CSGO提示连接到官方任意服务器失败怎么办?
- mouse without borders 一套键鼠控制多台设备
- 奥克兰大学计算机工程硕士学制,2020年奥克兰大学数据科学硕士专业硕士申请条件-学费-世界排名...
- Udacity数据分析(入门)-探索美国共享单车数据
- 11 - JavaScript原型对象
- EM算法及对GMM的参数估计(EM算法的R实现 vs R mclust包)