2015-03-25 24 views
15

Người dùng mới tại đây.Trình duyệt không có đầu tốt để chạy với thước đo góc là gì?

Sau nhiều giờ xây dựng thử nghiệm khói và hồi quy của mình, tôi phát hiện ra sau khi đọc nhiều trường hợp trực tuyến mà các phantomjs được biết là khó khăn khi chạy với thước đo góc. Jenkins đã chạy phantomjs cho tất cả các nhiệm vụ nó đã được đưa ra cho đến nay.

Họ cần các thử nghiệm này để chạy như một phần của ci không có hệ thống cửa sổ được cài đặt.

Vì vậy, tôi sẽ đánh giá cao nếu có đề xuất cho trình duyệt hoàn toàn không đầu hoặc chrome không đầu (có lợi nhất) và từng bước để thiết lập. Tôi đã có tệp conf.js và tệp e2e.conf.js. Mã của tôi hoạt động hoàn toàn tốt với chrome.

Tôi đang sử dụng trình điều khiển web iMac và selenium, tôi tin.

Chỉnh sửa: Sự cố = thước đo góc không hoạt động với phantomj. Những gì tôi đã làm = sử dụng các yếu tố web khác nhau và googled nếu có ai đã phải đối mặt với một tình huống tương tự. Cũng googled cho các trình duyệt không đầu làm việc cho thước đo góc, không thể tìm thấy một giải pháp phù hợp.

+3

Câu hỏi yêu cầu chúng tôi đề xuất hoặc tìm sách, công cụ, thư viện phần mềm, hướng dẫn hoặc tài nguyên ngoài trang web khác là chủ đề cho Stack Overflow vì chúng có xu hướng thu hút các câu trả lời và spam có ý kiến. Bạn có vấn đề cụ thể với thiết lập hiện tại của mình không? Nếu vậy, mô tả vấn đề và những gì đã được thực hiện cho đến nay để giải quyết nó. – honk

Trả lời

8

Đặt cược tốt nhất của bạn là tiếp tục ue với Chrome. Với một chút công việc bạn có thể làm cho nó hoạt động thông qua một CI và một cách không đầu - chúng tôi làm điều này bằng cách sử dụng các máy chủ Jenkins và Docker Ubuntu không có đầu.

Bạn sẽ cần phải định cấu hình Chrome để chạy không đầu bằng XVFB. Bạn có thể bắt đầu bằng cách theo dõi ý chính tại đây https://gist.github.com/addyosmani/5336747

Bạn cho biết bạn đang sử dụng máy Mac để có thể chạy thử nghiệm không đầu qua Docker trên máy hoặc bạn có thể thiết lập cấu hình thứ hai cho thử nghiệm CI.

Một nguồn http://tobyho.com/2015/01/09/headless-browser-testing-xvfb/

+2

Tôi đã tạo một hình ảnh Docker https://hub.docker.com/r/webnicer/protractor-headless/ sẽ lấy đi mọi rắc rối thiết lập và hoạt động với xvfb. Tôi hy vọng nó sẽ hữu ích. Lý do được mô tả trên bài đăng trên blog của tôi: http://float-middle.com/protractor-and-headless-chrome-on-docker-with-video-tutorial/ –

1

Bạn có thể chạy thử nghiệm thước đo của bạn chống lại CodeShip hoặc Drone.io, both của which Mời Chrome và/hoặc Firefox chạy không đầu miễn phí. Không thực sự ...

9

Nếu có ai đến đây - câu trả lời đã lỗi thời. Chromium (trên bản phát hành tiếp theo) hiện hỗ trợ chế độ không đầu. không cần phải làm việc chăm chỉ.

Bạn có thể đọc thêm ở đây:

https://developers.google.com/web/updates/2017/04/headless-chrome

Dưới đây là một ví dụ từ dòng lệnh

chrome \ 
--headless \     # Runs Chrome in headless mode. 
--disable-gpu \    # Temporarily needed for now. 
--remote-debugging-port=9222 \ 
https://www.chromestatus.com # URL to open. Defaults to about:blank. 

Và bạn chỉ có thể kích hoạt protractor với khả năng cho chrome:

Activating chrome language flags when activating from protractor (selenium)

Đây là configuraiton Tôi đang sử dụng

capabilities: { 
    'browserName': browserName, 
    chromeOptions: { 
     binary: '/Users/guymograbi/Downloads/chrome-mac/Chromium.app/Contents/MacOS/Chromium', 
     args: ['--headless','--disable-gpu'] 
    } 
    }, 

Cập nhật - phiên bản mới của chrome không đòi hỏi binary tài sản

Trong môi trường của tôi, tôi thấy tôi có thể loại bỏ các tài sản binary như phiên bản mới của chrome có sẵn trên chi nhánh ổn định

cấu hình thước đo của tôi là

capabilities: { 
    'browserName': 'chrome', 
    chromeOptions: { 
     args: [ '--headless', '--disable-gpu', '--no-sandbox', '--window-size=1920x1200' ] 
    }, 

    }, 

Và nó hoạt động trơn tru cho w eeks bây giờ. rat khuyen khich.

Update - làm thế nào để làm điều này trong nghiệp là siêu dễ dàng

dùng chrome không đầu trong nghiệp là siêu dễ dàng:

browsers: 'ChromeHeadless' 

nó cũng làm việc với các bộ nạp chrome và tất cả mọi thứ. more info

0

Nếu bạn đã có Chrome 59+ cài đặt, khởi động Chrome với cờ sau:

--headless 

xin vui lòng cho tôi biết nếu bạn cần thêm trợ giúp, sẽ viết cấu hình cho bạn :) thưởng thức

Các vấn đề liên quan