2011-08-11 9 views
26

Tôi muốn chạy thử nghiệm tự động bằng cách sử dụng trình duyệt web chrome của selenium2 trên máy chủ Linux.Chạy Chrome WebDriver trên máy chủ Linux không có màn hình hiển thị

Tôi đã thiết lập firefox để chạy trên máy chủ bằng cách sử dụng Xvfb (Xem http://www.semicomplete.com/blog/geekery/xvfb-firefox.html) và muốn làm điều gì đó tương tự với chrome. Điều này có thể không?

+2

Vâng, đó là nên làm việc tốt. Bạn đã thử cái gì? – jarib

Trả lời

5

Tôi chưa thể tìm cách để làm điều này theo lập trình cho ChromeDriver giống như bạn có thể làm với FirefoxBinary.

Tôi đã gửi yêu cầu cải tiến có bản vá đính kèm để cho phép điều này. Bạn có thể nhìn thấy nó ở đây: http://code.google.com/p/selenium/issues/detail?id=2673

Edit: Bạn có thể xem dưới đây phản hồi từ Stephen về cách sử dụng bây giờ điều này thay đổi đã được sáp nhập .: https://stackoverflow.com/a/16619608/998442

+3

nó xuất hiện yêu cầu cải thiện của bạn được đánh dấu là cố định. bạn có thể thay đổi câu trả lời của mình để giải thích cách sử dụng bản sửa lỗi của mình không? –

+0

Đã cập nhật để thêm liên kết vào phản hồi dưới đây từ Stephen cho biết cách đặt biến môi trường hiển thị –

22

tôi đã phải đối mặt với thách thức tương tự của thiết lập một hộp linux với selen + chromedriver, và đây là ghi chú của tôi:

Pre-reqs:

  1. Cài đặt JRE để chạy jar selen

  2. Cài đặt máy chủ selen

    lấy file jar từ https://code.google.com/p/selenium/downloads/list)

  3. Install Xvfb (bạn đã dường như đã đạt được phần này)

  4. Cài đặt google-chrome cho linux của bạn phân phối

  5. Tải xuống trình điều khiển chrome Bạn có thể lấy từ đây: https://sites.google.com/a/chromium.org/chromedriver/downloads

  6. Cài đặt phụ thuộc selen khác mà bạn có thể cần (nhưng ở trên là mức tối thiểu để có được chromedriver làm việc)

Để chạy:

  1. Run Xvfb

Xvfb :1 -screen 5 1024x768x8 &

export DISPLAY=:1.5

  1. Chạy bình máy chủ selen với tùy chọn ChromeDriver. Nó sẽ giống như thế này:

java -jar selenium-server-standalone-2.30.0.jar -Dwebdriver.chrome.bin=/path/to/google-chrome -Dwebdriver.chrome.driver=/path/to/chromedriver

  1. Nhật ký máy chủ selen nên đầu ra một cái gì đó tương tự như sau:

Ngày 19 tháng 3 năm 2013 10:07:27 AM org.openqa.grid.selenium.GridLauncher main THÔNG TIN: Khởi chạy một máy chủ độc lập

Thiết sở hữu hệ thống webdriver.chrome.bin để {vị trí của google-chrome}

Setting webdriver.chrome.driver sở hữu hệ thống để {vị trí của chromedriver}

10: 07: 34,258 INFO - RemoteWebDriver trường hợp cần kết nối với: http://127.0.0.1:4444/wd/hub

10: 07: 34,259 INFO - Phiên bản Jetty/5.1.x 10: 07: 34,259 INFO - Bắt đầu HttpContext [/ selen-server/tài xế,/selen-server/tài xế] . ..

Tham chiếu: http://www.yann.com/en/use-xvfb-selenium-and-chrome-to-drive-a-web-browser-in-php-23/08/2012.html

Chúc mừng!

+0

hey làm cách nào để chúng tôi nhận được google chrome để hỗ trợ WEBGL? – Jasmine