2010-02-24 38 views
10

看起來在Selenium/WatiNSimpleTest(它也有Web測試功能)之間的比較很少。Selenium v​​s. SimpleTest vs. WatiN

我試過Selenium,發現GUI很棒,可以創建測試,因爲您可以在不輸入所有命令的情況下看到正在進行的操作和記錄。

至於運行測試,Selenium比SimpleTest更復雜。對於SimpleTest,您只需要即可運行一個PHP腳本,該腳本執行所有測試(客戶端或瀏覽器端)。這意味着,無論您使用的瀏覽器或瀏覽器設置爲,您都可以簡單地訪問測試網址,並且它的工作方式與相同。

這裏有用的是一些使用Selenium或WatiN的人的評論:爲什麼Selenium如此着名?換句話說,與SimpleTest相比,使用Selenium的主要好處是什麼? PS:請排除像「SimpleTest需要PHP」的原因;這很明顯是PHP大多數都包含在LAMP中。

回答

9

由於SimpleTest的只有一個頁面的HTML內容涉及您不能測試網頁與它那依靠JavaScript行爲。在一天結束時,這是一個速度和功能的折衷。

  • 如果您需要JavaScript功能或想要測試特定於瀏覽器的行爲,請使用Selenium。
  • 如果你想要的速度和有靜態的HTML頁面,使用SimpleTest的。

BTW,硒可以集成到一個PHPUnit的測試套件:http://www.phpunit.de/manual/3.1/en/selenium.html

+0

+1對JavaScript和AJAX – Wernight

+0

@chiborg是否有擴展SimpleTest的使用JavaScript了嗎? Thx提前! – HelpingHand

+0

@HelpingHand這將是非常難以在純PHP中實現的,因爲基本上你必須構建一個無頭瀏覽器。在純PHP中實施的噩夢。看看Phantom JS(http://phantomjs.org/),它實現了一個基於webkit的無頭瀏覽器。看看實驗性的Drupal項目,瞭解如何整合SimpleTest和PhantomJS的想法:https://drupal.org/project/simpletest_phantomjs – chiborg

14

SimpleTest's web-tester之間以及​​一個重要區別:

  • 硒可與一個真正的瀏覽器
    • 每次測試啓動時,一個真實的Firefox或一個真正的互聯網Explorer,推出
    • 所有的瀏覽都在那個真正的瀏覽器中完成
    • 這意味着你得到所有的Javascript來自瀏覽器的功能 - 即您可以測試完全動態的網頁。
  • SimpleTest的的網絡測試儀模擬瀏覽器
    • 一個HTTP請求發送HTML內容是獲取
    • 這HTML內容進行解析
    • 沒有的功能一定程度測試cookie和表單;但沒有關於JavaScript


一對夫婦的後果和思緒之中的:

  • Selenium測試花費大量的時間來執行:啓動瀏覽器,和衝浪(包括下載JS/CSS /圖像,顯示包括廣告在內的所有內容,...),是漫長而緩慢的
  • SimpleTest的測試要快:只發送HTTP請求,解析HTML,這就是它
  • 硒需要一臺具有圖形界面,啓動瀏覽器,這是一個圖形化軟件;這也意味着它很難安裝/配置
  • 硒可以讓你測試富/動態/基於JavaScript的應用程序更好,只有獲取並解析HTML
  • 如果您正在測試一個PHP應用程序,PHPUnit的通常被認爲是更好的(它activelly維護和developped,至少)該SimpleTest的;和PHPUnit的有硒支持測試


我將建議的combinaison,如果可以的話:

  • 測試HTML相關的東西與SimpleTest的(或者Zend_Test,如果使用Zend Framework)
    • 它會更快
    • 這些測試將不依賴於瀏覽器
    • 0硒
  • 測試動態頁面

即使用最好的兩個工具;-)

+0

1爲JavaScript&AJAX – Wernight

+4

硒2(webdriver的)可以是單一的解決方案,使用HTMLUnitDriver無需啓動瀏覽器的開銷來測試頁。 –

+0

@DaveHunt很高興知道這一點。我想嘗試Selenium 2,但是他們的10次下載和少量解釋讓我放棄了。我會等待第一個版本的RC。 – Wernight

0

我想補充另一種選擇,測試計劃工作的同時與硒後端和的HtmlUnit,因此它可以與我們沒有使用瀏覽器。腳本語言很簡單,可以快速創建自動化任務。

的無瀏覽器後端支持JavaScript的非常好,但對於那些情況下,它只是不工作,你只需切換到Selenium模式,並使用一個真正的瀏覽器。

+0

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

0

還要注意的是SimpleTest的需要Drupal的代碼庫進行修補。您無法在生產網站的精確鏡像上測試您的網站。

問候。