2010-01-11 63 views
2

我期待着增強我們當前的測試套件,並通過全堆棧集成/驗收測試來構建持續集成。如何對Web應用程序進行全堆棧集成測試

我在尋找到像Culerity和硒的工具,可以執行前端JavaScript的運行時用戶故事。我正在尋找一些能夠提供前端JavaScript和高級功能的覆蓋,而不需要花費大量的開發時間來維護複雜的測試環境。我們目前使用Rspec,Cucumber和CruiseControl.rb,因此與這些工具的輕鬆集成將是理想的。

是否有任何無頭的瀏覽器和JS-能力測試環境到一個地步,他們是值得建立和維護的麻煩?你遇到的最好的選擇是什麼,並避免陷阱?

謝謝。

回答

1

聽起來你是來進一步順着這條路不是我的,但無論如何,我會發表評論。

我工作的一個JavaScript項目(與Java + MySQL的後端),並決定使用Selenium測試,並努力實現的全面覆蓋,因爲我可以。我也嘗試了其他一些測試工具,但我不能說我真的知道其中的任何一種。與Selenium相比,他們沒有一個出現在他們的網站上,非常精美或流行。我打算最終整合到CruiseControl,但還沒有這樣做。

這一直是一個有趣的項目,並在一天結束的時候,我與硒很高興。硒加:

  1. 測試'腳本'都可以用Java編寫,沒有涉及隱晦的腳本語言。除此之外,您可以輕鬆完成諸如在測試之前和之後操作和驗證數據庫中的數據等事​​情。
  2. Se也支持Perl,C#等。我認爲,儘管這對我沒有興趣。
  3. 硒IDE是快速瞭解硒是如何工作的,定位器是如何工作的,等你不想實際運行使用IDE測試長期一個偉大的工具,但它讓你的腳溼的偉大和後續弄清楚事情。
  4. Se似乎與jUnit完美地工作。可能還有TestNG,但還沒有嘗試過,它在我的待辦事項清單上。
  5. 優秀的文檔和網站。

劣勢:

  1. 我花了很多的時間搞清楚如何找到在所有情況下的元素。這部分是我使用的框架(ExtJS)的錯誤,而不是Selenium。
  2. 看來不管你做什麼,Se都有時間依賴關係 - 例如。你必須注入人工停頓才能使其工作。
  3. 我的測試中還存在監視器大小依賴性。我認爲這是非常不可取的,但在某些地方它似乎是不可避免的。基本上,這是因爲有很多元素類型,JS不支持你以編程方式點擊。
  4. 與#3相關,在我被迫駕駛鼠標的地方。這意味着你必須有一個專用的測試PC。這沒什麼大不了的,但看起來不對。
  5. 測試速度很慢 - 主要是由於調用Firefox所需的時間。毫無疑問,這部分是我的環境,我懷疑我可以做很多事情來改善這一點。但是,它真的很明顯,並不明顯。大約需要10分鐘才能運行大約40次測試。
  6. 支持論壇非常多。那麼,你得到你所支付的。但一次又一次,我發現有人發佈了關於我的問題的帖子,並且該帖子被忽略了,或者當OP指出該建議是假的時提供了無效解決方案而沒有跟進。

HTH,歡呼聲。

相關問題