Xvfb를 사용하여 EC2 인스턴스에서 헤드리스로 Selenium 테스트를 실행하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-17 05:12:03
원래의
150명이 탐색했습니다.

How to Run Selenium Tests Headlessly on EC2 Instances Using Xvfb?

Xvfb에서 Selenium 실행

GUI 없이 EC2 인스턴스에서 Selenium 테스트를 실행하려면 Xvfb를 사용하여 가상 프레임 버퍼를 생성해야 합니다.

문제 식별:

Selenium 및 Xvfb를 설치했음에도 불구하고 Selenium을 사용하여 Firefox 브라우저를 시작하면 "디스플레이를 열 수 없습니다: :0" 오류가 발생합니다.

해결책: PyVirtualDisplay 활용

이 문제를 해결하려면 다음을 활용하세요. 헤드리스 WebDriver 테스트를 실행할 수 있는 Xvfb용 Python 래퍼인 PyVirtualDisplay.

다음은 이 접근 방식을 보여주는 Python 스크립트입니다.

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# Now Firefox will operate in a virtual display, making it headless.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print(browser.title)
browser.quit()

display.stop()
로그인 후 복사

추가 옵션

외부 모듈이 필요 없는 대체 모듈인 xvfbwrapper를 사용할 수도 있습니다. 종속성:

from xvfbwrapper import Xvfb

vdisplay = Xvfb()
vdisplay.start()

# Launch processes within the virtual display here

vdisplay.stop()
로그인 후 복사

또는 향상된 코드 구조를 위해 xvfbwrapper를 컨텍스트 관리자로 사용합니다.

from xvfbwrapper import Xvfb

with Xvfb() as xvfb:
    # Launch processes within the virtual display within this code block.
    # xvfb starts and stops automatically.
로그인 후 복사

위 내용은 Xvfb를 사용하여 EC2 인스턴스에서 헤드리스로 Selenium 테스트를 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿