본문 바로가기

Server

SeleniumLibrary SSH 환경 Chrome 에서 파일 다운로드

728x90

내 환경은 Ubuntu 이며, 물리모니터가 연결되어있지만 보통 SSH 로 원격 접속해서 사용한다.
그리고 다운로드 받고 싶은 파일도 SSH 로 접속해서 콘솔환경에서 자동화 가능해야 한다

내가 다운로드 받고 싶은 파일은 인증정보나 선택 변수가 많아서 wget 으로 받아올 수 없고,
UI 에서 클릭과 동시에 서버에서 파일을 잘 정리해서 보내준다.

물리모니터를 켜놓고 직접 마우스 키보드로 터미널에서 robot 을 실행하면 Downloads 폴더에 잘만 다운로드 되는데
원격에서 ssh 로 접속해서 robot 을 실행하면 Downloads 폴더에 파일이 없다 (robot 결과는 성공했다고 한다)

이러면 콘솔로만 실행하는 자동화 환경에서 쓸 수 없지..

찾아보니 xvfb(쉽게 가상모니터) 를 이용해서 다운로드가 가능했다.

일단 xvfb 가 없으니 설치

$ sudo apt-get install xvfb

 

그리고 pip 를 통해 robotframework-xvfb 설치

pip install robotframework-xvfb

 

이제 코드에서 사용해보자 (아래는 예제 코드)

*** Settings ***
Library      SeleniumLibrary
Library      XvfbRobot

*** Test Cases ***
Open Google Browser
    Start Virtual Display    1920    1080
    Open Browser   http://google.com    browser=chrome    executable_path=./chromedriver

    Set Window Size    1920    1080
    ${title}=    Get Title
    Should Be Equal    Google    ${title}
    
    [Teardown]    Close Browser

 

이 방법으로 내가 받고싶은 파일 다운로드 성공

728x90