SW/Python

pywinauto : 원격 접속 에러 : 원인, 방법

얇은생각 2020. 2. 2. 07:30
반응형

 

원격 실행 가이드

데스크톱 GUI 테스트에서는 일반적으로 마우스 커서를 이동하고 일부 키를 포커스 창에 입력하기 위해 활성 데스크톱이 필요합니다. 

그러면 로컬 컴퓨터가 정상적인 사용으로부터 완전히 차단됩니다. 즉, 원격에서 테스트를 실행하는 것은 오류가 나타날 수 있습니다.

GUI 테스트로 원격 시스템을 제어하기 위해 알려진 문제와 해결 방법을 수집했습니다.

 

 

Windows 원격 데스크톱 기능

RDP(원격 데스크톱)는 윈도우즈 OS가 설치된 원격 시스템에 가상 활성 데스크톱을 제공합니다. 두 가지 잠재적인 문제가 있습니다.

RDP 창이 최소화되면 기본적으로 원격 PC에는 활성 데스크톱이 없습니다.

RDP 연결이 끊어지면 데스크톱이 잠깁니다.

따라서, 원하는 동작을 실행시킬 수 없고, 오류가 발생합니다. 다만, 제 눈앞에서 잘 동작하기 떄문에, 이러한 오류를 놓치기 쉽습니다.

저 역시, 자동 로그인 기능을 구현하였는데, 클라우드에 올려놓으니, 이러한 이슈를 만나게 되었습니다.

 

 

해결방법

 

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

 

해당 소스를 bat 파일로 작성한 다음, 실행을 합니다.

그러면, 접속이 끊기지만, 해당하는 마우스와 키보드 락은 잠기지 않아 해당 오류를 피할 수 있습니다.

이 배치 파일을 실행할 때에는 관리자 권한으로 실행을 해야 잘 동작합니다.

 

https://pywinauto.readthedocs.io/en/latest/remote_execution.html

 

Remote Execution Guide — pywinauto 0.6.8 documentation

Desktop GUI tests usually require active desktop to move mouse cursor and type some keys into a focused window. That completely blocks local machine from normal usage. But running tests on a remote machine is a challenge. This guide collected known issues

pywinauto.readthedocs.io

 

다큐먼트에 잘 정리되어 있습니다. 해당 방법을 통해 원격 제어 시 문제를 잘 해결하시기를 바랍니다.

반응형