Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望增强断开远程桌面的时候,不关闭远程UI的功能。 #662

Open
skyformat99 opened this issue May 13, 2024 · 8 comments
Open
Assignees
Labels
meta-enhancement Enhacement of existing feature

Comments

@skyformat99
Copy link

自动化测试的时候,会使用各种python脚本操作鼠标,键盘等等,进行测试工作;
一般会通过rdp登录远程服务器,在服务器上运行 python脚本测试。

这个时候,如果直接断开 1remote,则远端的python脚本不会正确执行了。

原因就是:
https://learn.microsoft.com/zh-cn/azure/devops/pipelines/test/ui-testing-considerations?view=azure-devops&tabs=mstest

如果使用远程桌面访问以自动登录方式运行代理的计算机,则直接断开连接远程桌面会导致计算机锁定,并且在此代理上运行的任何 UI 测试都可能会失败。 为避免故障,请在远程计算机上使用 tscon 命令从远程桌面断开连接。

或者,若要自动查找当前会话 ID,请创建一个包含以下代码的批处理文件:

batch

复制
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
)

也可以参考这个方法:
https://blog.csdn.net/qq_51038274/article/details/122223669

总之,希望作者可以集成这个功能,断开的时候,仍然让服务器可以正常执行UI相关的python脚本等功能。

@skyformat99 skyformat99 added the meta-enhancement Enhacement of existing feature label May 13, 2024
@VShawn
Copy link
Member

VShawn commented May 18, 2024

这种使用场景,是不是用VNC会比较好? VNC 断开后不会锁定UI。

没必要为了特例需求在RDP上实现这种workaround.

@skyformat99
Copy link
Author

这种使用场景,是不是用VNC会比较好? VNC 断开后不会锁定UI。

没必要为了特例需求在RDP上实现这种workaround.

不是吧,这个需求非常普遍啊。
大家远程不得需要干活么? 干活搞自动测试很多啊。。。。

1 similar comment
@skyformat99
Copy link
Author

这种使用场景,是不是用VNC会比较好? VNC 断开后不会锁定UI。

没必要为了特例需求在RDP上实现这种workaround.

不是吧,这个需求非常普遍啊。
大家远程不得需要干活么? 干活搞自动测试很多啊。。。。

@VShawn
Copy link
Member

VShawn commented May 20, 2024

我见到的自动测试,不是用RDP的,而是用一种群控工具,所有虚拟机的鼠标键盘全部同步,本地脚本控制鼠标移动点击一次等于所有虚拟机都点击了一次。还有自动分析工具,自动截图,聚类分析所有虚拟机的UI截图,高亮标记显示效果离群的,加入报警日志保留。

真没听说哪家用远程桌面来做UI测试的。

@skyformat99
Copy link
Author

我见到的自动测试,不是用RDP的,而是用一种群控工具,所有虚拟机的鼠标键盘全部同步,本地脚本控制鼠标移动点击一次等于所有虚拟机都点击了一次。还有自动分析工具,自动截图,聚类分析所有虚拟机的UI截图,高亮标记显示效果离群的,加入报警日志保留。

真没听说哪家用远程桌面来做UI测试的。

做个选项也行吧?
有的人需要这个,有的人不需要这个
有用就行

@VShawn
Copy link
Member

VShawn commented May 20, 2024

首先这个功能看上去就没几个人需要(至少项目启动4年了,你是第一个提的)

其次

for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
)

这个代码看上去会把所有 mstsc 都关闭,无法控制单独关闭某一个。

@skyformat99
Copy link
Author

首先这个功能看上去就没几个人需要(至少项目启动4年了,你是第一个提的)

其次

for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do ( %windir%\System32\tscon.exe %%s /dest:console )

这个代码看上去会把所有 mstsc 都关闭,无法控制单独关闭某一个。

这个是在目标机器上运行的,把目标机器上的各远程关闭。
不会关闭本软件。

作为选项,总归有用。要不然微软也不会特别发文章提这个方法。

或者你告诉我怎么改,在哪个代码里面改,

@VShawn
Copy link
Member

VShawn commented May 22, 2024

可能是我对这个使用场景实在不太理解吧。

如果你想自己加的话,可以在这里改,把 colse 改成运行脚本就行了。

https://github.com/1Remote/1Remote/blob/main/Ui/Service/SessionControlService.cs#L322-L346

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta-enhancement Enhacement of existing feature
Projects
None yet
Development

No branches or pull requests

2 participants