7

Tôi đang nâng cấp từ selenium-1 lên selenium-2 và thử trình điều khiển HtmlUnit mới. Tôi đã thử một vài bài kiểm tra cơ bản về nó (mở một trang, get_text, ..) và có vẻ nhưLàm thế nào ổn định và nhanh chóng là HtmlUnit

  1. Vô cùng chậm (Tôi nghĩ rằng chrome/FF trình điều khiển từ xa là nhanh hơn so với nó)
  2. Vô cùng un - không ổn định (mở yahoo.com bằng HTMLUNIT và HTMLUNITWITHJS đều dẫn đến lỗi)

Tôi rất vui khi nghe ấn tượng của bạn về nó. Tôi hy vọng bạn sẽ tìm thấy tôi là sai (tôi có thể sống mà không có (1) tốc độ nhưng (2) sự ổn định là rất quan trọng)? là có một so sánh tốc độ của HtmlUnit vs các trình điều khiển selen?

Trả lời

7

Trong kinh nghiệm của tôi HtmlUnit nhanh hơn Firefox nhiều, nhanh hơn đáng kể so với chrome (đây là trình duyệt hoàn chỉnh nhanh nhất với selenium 2.0rc2). HtmlUnit không cần phải tải về nguồn lực bên ngoài và nếu bạn sử dụng nó mà không có một BrowserVersion sau đó javascript được tắt theo mặc định:

WebDriver driver = new HtmlUnitDriver(); 

Nhưng nếu bạn vượt qua trong một phiên bản trình duyệt sau đó nó được kích hoạt, nhưng chạy chậm hơn vì nó sẽ tải về tệp javascript:

WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6); 

Điều đó đang được nói, javascript không ngang bằng với trình duyệt thực. Trang chủ của Google và Yahoo không hoạt động bình thường. Các trình duyệt hiện đại có thể chịu được một số lỗi javascript (khai thác/hack), trong khi HtmlUnit thì không.

Tôi thường sử dụng HtmlUnitDriver trên các trang/luồng không yêu cầu javascript nặng và tôi chỉ cần xác minh các phần tử/dữ liệu hiện có trên các trang (không được tải động).

+1

Tôi thấy bạn đang sử dụng java. Tôi đang sử dụng python, vì vậy tôi chỉ có thể sử dụng RemoteDriver với HtmlUnit. Có lẽ đó là nơi mà sự khác biệt về tốc độ đến từ - dù sao đi nữa, tôi sẽ chạy thử nghiệm tốc độ hơn. Cảm ơn! – Guy

+0

Chú cá ngừ, bạn có số nào hay bất kỳ thứ gì ngoài quan sát cá nhân để chỉ ra rằng chrome nhanh hơn? Chỉ cần tò mò, không cố gắng gọi cho bạn hoặc bất cứ điều gì :) – RedDeckWins

+0

@RedDeckWins: Tôi không có số, nhưng tôi có thể xác nhận quan sát của TunaBum tại thời điểm bài đăng của anh ấy (tức là một vài tháng trước). Nếu bạn hỏi tôi bây giờ (tức là hôm nay :), thì tôi muốn nói sự khác biệt nhỏ hơn nhiều, với Firefox có thể hơi nhanh hơn Chrome một chút. – Stephan202

1

bạn cũng có thể bật javascript như sau.

((Trình điều khiển HtmlUnitDriver)) .setJavascriptEnabled (true);