[英]javascript integration testing for one page applications
我目前正在開發一個單頁javascript應用程序,使用服務器端的Sinatra Ruby和客戶端的Backbone.js,jQuery,jQuery UI。 應用程序的主要目的是允許客戶查看/編輯不同類型的項目,每個項目視圖是一種或多或少復雜的形式。
為了確保一切正常,我打算做:
在這種情況下,您建議使用哪些框架/工具進行集成測試? 我從Selenium開始,但我不太喜歡它。 我剛開始看看PhantomJS和CasperJS,他們看起來非常適合瀏覽,點擊鏈接等基本內容......
你的建議是什么?
你沒有說你對Selenium不喜歡什么,但我猜你對JavaScript很有信心,所以我的建議是使用CasperJS作為主要工具。 它適用於單頁Web應用程序,並附帶自己的測試工具。 當使用嵌套的wait
子句時,代碼有時會有點復雜; 通過確保你不會在每次測試中嘗試做太多來解決這個問題,然后如果仍然很復雜,那就重構一下。 並且不要忘記測試設計:如果您的選擇器非常復雜,請考慮在其周圍添加<span id="xxxx">...</span>
,這樣您的測試就可以直接進行測試!
您可以將CasperJS與PhantomJS和SlimerJS一起使用 。 我目前的偏好是SlimerJS,如下:
一旦PhantomJS 2.0問世(大約在2013年底,希望如此),或者如果您的網站不依賴於任何最近的HTML5 API,您可以運行兩次CasperJS,以獲得雙重覆蓋。 (順便說一句,PhantomJS自然是無頭的; SlimerJS需要使用Xvfb ,它只是Linux或Mac。)
Selenium為您提供的額外功能是您可以控制其他瀏覽器,特別是IE。 (當然對於IE來說,你需要運行Windows機器。)Selenium,像SlimerJS一樣,需要Xvfb無頭(再次,不包括Windows)。 (順便說一下,受支持的瀏覽器上的Selenium文檔還沒有多年更新,但我假設每個瀏覽器的更高版本至少有相同的支持。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.