의사 콘솔에서 UI 호출

의사 콘솔에서 UI 호출

현재 Linux 시스템(Gnome 활성화)에서 수동으로 호출되는 일부 UI 테스트 사례가 있습니다. 머신에 로그인하고 다음 명령을 실행합니다.

java -jar test_case.jar

테스트 케이스를 호출합니다. 그러면 브라우저가 열리고 애플리케이션 테스트가 실행된 다음 로그를 작성하고 종료됩니다.

이제 Jenkins Pipeline Job에서 이를 자동화할 계획입니다. 하지만 Jenkins 파이프라인 작업은 의사 터미널에서 실행되는 반면 위 명령은 Gnome 콘솔에서 실행되어야 한다고 믿기 때문에 이를 수행하는 올바른 방법이 무엇인지 잘 모르겠습니다.

이 시나리오를 자동화할 수 있는 방법이 있나요?

답변1

Xvfb(X 가상 프레임 버퍼)를 이러한 목적으로 사용할 수 있습니다. 실제로 GUI를 사용하지 않고도 그래픽 종속성이 있는 테스트/작업을 수행할 수 있도록 메모리에만 존재하는 디스플레이를 가질 수 있습니다.

CentOS에서는 yum을 사용하여 핵심 CentOS 저장소에서 Xvfb를 설치할 수 있습니다.

yum install xorg-x11-server-Xvfb

Xvfb를 설치한 후 이를 사용하려면 명령 앞에 다음을 붙입니다 xvfb-run.

xvfb-run java -jar test_case.jar

xvfb-run몇 가지 유용한 작업을 수행할 수 있는 래퍼 명령입니다. 먼저 Xvfb 디스플레이를 초기화하고 이를 실행 명령에 전달합니다. 명령이 완료되면 모니터가 정상적으로 종료됩니다.

관련 정보