웹 테스트를 수행하기 위해 헤드리스 CentOS 서버에서 Firefox GUI 브라우저를 실행하려고합니다.
Selenium 서버 API 를 사용 하여 브라우저 입력을 제어하고 출력을 검사 하기 때문에 그래픽 출력을 볼 필요가 없습니다 .
설치는 데스크탑 Mac 컴퓨터에서 성공적으로 테스트되었습니다. 그러나 헤드리스 VPS CentOS 서버에서 “오류 : 디스플레이가 지정되지 않았습니다.”라는 메시지와 함께 실행되지 않습니다. (어딘가에 랙에 앉아있는 서버이기 때문에 의미가 있습니다.)
디스플레이없이 Firefox를 실행하려면 어떻게해야 Selenium과 상호 작용할 수 있습니까? 또는 더 광범위하게-디스플레이가 없을 때 사람들이 Linux 서버에서 GUI 전용 응용 프로그램을 어떻게 실행합니까?
Firefox에는 다음과 같은 명령 행 옵션이 있습니다.
X11 options
--display=DISPLAY X display to use
불행히도 CentOS에서 X11 또는 디스플레이에 대해 아무것도 모르므로 명령 줄에서 무엇을 지정 해야하는지, 이것이 도움이되는지 모르겠습니다.
답변
Xvfb를 사용하십시오. 물리적 디스플레이에 연결할 필요가없는 X 서버를 제공합니다.
따라서 CentOS에서는 “yum install xorg-x11-server-Xvfb”와 같은 작업을 수행합니다.
그런 다음 “/ path / on / which / installed / Xvfb : 1 -screen 0 1024x768x24 &”명령을 사용하여 “: 1″디스플레이에서 시작할 수 있습니다. 해상도 1027×768 및 깊이 24의 화면이 생성됩니다. “&”를 사용하면 백그라운드에서 명령이 실행됩니다.
Firefox를 시작하기 전에 내보내기 명령을 사용하여 디스플레이에 액세스 할 수 있어야합니다. “export DISPLAY = : 1”, 적절한 호스트를 가리 킵니다.