루비 스크립트를 사용하여 헤드리스 테스트를 수행하려고합니다. 기본적으로 나는 display : 1에서 Xvfb를 실행 중이고 watir-webdriver를 사용하여 Watir::Browser.new(:firefox)
을 실행한다.Ruby에서 NON-root 사용자로 Xvfb에서 Selenium :: WebDriver :: Firefox 실행
루트로 스크립트를 실행하면 효과적입니다. x11vnc를 실행하고 스크립트를 실행하여 브라우저를 실행하고 스크립트와 상호 작용할 수 있습니다.
문제는 Rails 응용 프로그램에서이 루비 스크립트를 호출 할 수 있어야하고 루트 권한으로 실행하지 않아야한다는 것입니다 ... 일반 사용자로 명령 줄에서 스크립트를 실행하려고하면 Xvfb가 실행됩니다 up on : 1, Watir은 브라우저를 시작하지 않을 것입니다 ... 결국 60 초가 지나면 시간이 끝납니다. VNC를 통해 연결하면 마우스 커서가있는 검은 색 화면이 나타납니다.
Xvfb를 시작한 다음 firefox --display=:1
을 시작하면 브라우저가 시작되므로 Selenium 문제 여야합니다. 맞습니까?
간단히 말해서 : Selenium/Webdriver는 루트로 스크립트를 실행하지 않는 한 Xvfb에서 브라우저를 시작하지 않습니다.
+1 한 번 해답을 추가하면 +1 –
@ user724205 답변은 질문에 복사되지 않고 답변으로 추가되어야합니다. –