我为我们的网站编写了一些自动化代码,其中使用sikuli
进行图像自动化。但有时我发现我的计算机屏幕被锁定,这就是为什么许多测试用例都失败了。所以我想编写一些python代码来保持屏幕解锁。
这是我为锁定屏幕编写的代码补丁,现在我正在搜索如何解锁屏幕:
import os
winpath = os.environ["windir"]
os.system(winpath + r'\system32\rundll32 user32.dll, LockWorkStation')
注意:我已经调整了所有导致屏幕锁定的显示器设置。
要正常工作,Sikuli需要UI。这意味着用户应该登录。以下是如何实现这一目标的步骤:
使用自动登录
您应该重定向控制台以便随时拥有UI
echo ################################################### >> %USERPROFILE%\Desktop\rdc_switch_log.log
date /t >> %USERPROFILE%\Desktop\rdc_switch_log.log time /t >> %USERPROFILE%\Desktop\rdc_switch_log.log
timeout 3
query session >> %USERPROFILE%\Desktop\rdc_switch_log.log
query session > %localappdata%\log.txt
findstr "rdp" %localappdata%\log.txt| findstr "Active"
if %errorlevel%==0 (
echo You are in RDP session. Do nothing! >>%localappdata%\log.txt
)
else (
tscon 1 /dest:console
tscon 2 /dest:console
tscon 3 /dest:console
tscon 4 /dest:console
)
重要提示:为了测试它的工作原理。
只有在关闭RDC时才会录制黑色视频,并且当您使用RDC连接几秒钟时,这取决于您的机器速度。