2010-02-24 58 views
10

Có vẻ như có rất ít sự so sánh giữa Selenium/WatiNSimpleTest (cũng có tính năng thử nghiệm web).Selenium vs. SimpleTest vs. WatiN

Tôi đã thử Selenium và thấy giao diện đồ họa tuyệt vời để tạo thử nghiệm vì bạn có thể xem những gì đang diễn ra và ghi lại mà không cần nhập tất cả các lệnh theo cách thủ công.

Để chạy thử nghiệm, Selenium phức tạp hơn SimpleTest. Đối với SimpleTest, bạn chỉ cần chạy tập lệnh PHP thực hiện tất cả các kiểm tra (phía máy khách hoặc trình duyệt). Điều này có nghĩa là bất kỳ trình duyệt hoặc cài đặt trình duyệt nào bạn đang sử dụng, bạn chỉ cần truy cập URL thử nghiệm và nó sẽ hoạt động giống như.

Điều gì sẽ hữu ích ở đây là một số nhận xét từ những người đã sử dụng Selenium hoặc WatiN: Tại sao Selenium lại nổi tiếng như vậy? Nói cách khác, những gì sẽ là lợi ích chính của việc sử dụng Selenium, ví dụ, trên SimpleTest?

PS: Vui lòng loại trừ các lý do như "SimpleTest yêu cầu PHP"; đó là khá rõ ràng là PHP được bao gồm trong hầu hết các LAMP anyway.

Trả lời

9

Kể từ SimpleTest chỉ giao dịch với nội dung HTML của một trang web mà bạn không thể kiểm tra trang với nó rằng dựa vào hành vi JavaScript. Vào cuối ngày, đó là một sự cân bằng tốc độ và chức năng.

  • Nếu bạn cần chức năng JavaScript hoặc muốn kiểm tra hành vi của trình duyệt cụ thể, hãy sử dụng Selenium.
  • Nếu bạn muốn tốc độ và có các trang HTML tĩnh, hãy sử dụng SimpleTest.

BTW, Selenium có thể được tích hợp vào một bộ kiểm tra PHPUnit: http://www.phpunit.de/manual/3.1/en/selenium.html

+0

+1 cho JavaScript & AJAX – Wernight

+0

@chiborg Có phần mở rộng nào cho SimpleTest để sử dụng Javascript chưa? Thx trước thời hạn! – HelpingHand

+0

@HelpingHand Điều này sẽ rất * rất khó thực hiện trong PHP thuần túy vì bạn cần phải xây dựng một trình duyệt không đầu. Một cơn ác mộng để thực hiện trong PHP thuần túy. Có một cái nhìn tại Phantom JS (http://phantomjs.org/) mà thực hiện một trình duyệt không dựa trên webkit dựa trên. Hãy xem dự án Drupal thử nghiệm để biết các ý tưởng về cách tích hợp SimpleTest và PhantomJS: https://drupal.org/project/simpletest_phantomjs – chiborg

14

Có sự khác biệt lớn giữa SimpleTest's web-testerSelenium suite:

  • Selenium làm việc với một trình duyệt thực:
    • Mỗi lần thử nghiệm được đưa ra, một Firefox thực sự, hoặc một Internet thực Trình khám phá, được khởi chạy
    • Tất cả duyệt web được thực hiện trong trình duyệt thực đó
    • Điều đó có nghĩa là bạn nhận được tất cả Javascript các tính năng từ trình duyệt - nghĩa là bạn có thể kiểm tra các trang web đầy đủ động.
  • SimpleTest của web thử mô phỏng một trình duyệt:
    • Một yêu cầu HTTP được gửi, nội dung HTML được nạp
    • Và đó nội dung HTML được phân tách
    • Có một số mức độ tính năng để kiểm tra cookie và biểu mẫu; nhưng không về Javascript


Một vài hậu quả và thoughs:

  • kiểm tra Selenium mất rất nhiều thời gian để thực hiện: tung ra một trình duyệt, và lướt (bao gồm tải JS/CSS/hình ảnh, hiển thị mọi thứ bao gồm cả quảng cáo, ...), dài và chậm
  • Kiểm tra đơn giản sẽ nhanh hơn: chỉ gửi yêu cầu HTTP, phân tích cú pháp HTML và đó là số
  • Selenium yêu cầu máy có giao diện đồ họa, khởi chạy trình duyệt, đồ họa phần mềm ; cũng có nghĩa là khó cài đặt/cấu hình
  • Selenium cho phép bạn thử nghiệm các ứng dụng phong phú/động/javascript tốt hơn nhiều mà chỉ tìm nạp và phân tích cú pháp HTML
  • Nếu bạn đang thử nghiệm một ứng dụng PHP, PHPUnit thường được coi là tốt hơn nhiều (kích hoạt của nó được duy trì và phát triển, ít nhất) rằng SimpleTest; và PHPUnit đã hỗ trợ cho Selenium kiểm tra


Tôi muốn giới thiệu một combinaison của cả hai, nếu bạn có thể:

  • thử nghiệm HTML liên quan đến công cụ với SimpleTest (Hoặc Zend_Test, nếu sử dụng Zend Framework):
    • nó sẽ được nhanh hơn
    • những xét nghiệm sẽ không phụ thuộc vào trình duyệt
  • Kiểm tra các trang động với Selenium

tức là sử dụng tốt nhất của cả hai công cụ ;-)

+0

+1 cho JavaScript & AJAX – Wernight

+4

Selenium 2 (WebDriver) có thể là một giải pháp duy nhất, sử dụng HTMLUnitDriver để kiểm tra các trang mà không cần khởi chạy trình duyệt. –

+0

@DaveHunt Rất vui khi biết điều đó. Tôi muốn thử Selenium 2 nhưng 10 lượt tải của họ với một vài lời giải thích khiến tôi bỏ cuộc. Tôi sẽ chờ RC phát hành đầu tiên. – Wernight

0

Chỉ cần thêm một lựa chọn khác, TestPlan làm việc với cả Selenium back-end và HtmlUnit, vì vậy nó có thể được sử dụng với chúng tôi mà không một trình duyệt. Ngôn ngữ kịch bản rất đơn giản và cho phép tạo nhanh các tác vụ tự động hóa.

Phần phụ trợ trình duyệt hỗ trợ JavaScript rất tốt, nhưng đối với những trường hợp không hoạt động, bạn chỉ cần chuyển sang chế độ Selenium và sử dụng trình duyệt thực.

+0

http://testplan.brainbrain.net/? – Wernight

0

Cũng lưu ý rằng đơn giản nhất cần mã nhị phân drupal được vá. Bạn không thể kiểm tra trang web của bạn trên một tấm gương chính xác của trang web sản xuất của bạn.

Trân trọng.

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